Commit Graph

29877 Commits

Author SHA1 Message Date
Neil Booth
709e9e509c cppinit.c (cpp_cleanup): Free include dir chains.
* cppinit.c (cpp_cleanup): Free include dir chains.
	* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
	(do_unassert): Free the assert with _cpp_free_definition.
	* cppmacro.c (_cpp_free_definition): Free memory allocated for
	assertions.  Make the node a T_VOID node.

From-SVN: r35765
2000-08-17 18:01:43 +00:00
Neil Booth
e33f625385 cppinit.c (path_include, [...]): Remove 2nd parameter (struct cpp_pending *).
* cppinit.c (path_include, append_include_chain):
	Remove 2nd parameter (struct cpp_pending *).
	(path_include, initialize_standard_includes, cpp_handle_option):
	Update callers appropriately.
	(cpp_handle_option): Use pend.

From-SVN: r35764
2000-08-17 17:58:24 +00:00
Neil Booth
c154ba66ef cppinit.c (sort_options): Remove, put functionality in cpp_init.
* cppinit.c (sort_options): Remove, put functionality in
	cpp_init.
	(cpp_init): New.
	(initialize_builtins): Free memory.
	(cpp_start_read): Move init_IStable to cpp_init.

	* cpplib.h (cpp_init): New prototype.
	* cppmain.c (main): Call cpp_init.

From-SVN: r35763
2000-08-17 17:52:48 +00:00
John Wehle
9c82ac6bea rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
* rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
	(rtx_unstable_p, rtx_varies_p): Process vectors.

From-SVN: r35762
2000-08-17 17:20:10 +00:00
Nathan Sidwell
d13b34e98a cxxabi.h (__cxa_vec_new2, [...]): Declare.
* inc/cxxabi.h (__cxa_vec_new2, __cxa_vec_new3): Declare.
	(__cxa_vec_delete2, __cxa_vec_delete3): Declare.
	* vec.cc (__cxa_vec_new2, __cxa_vec_new3): Implement.
	(__cxa_vec_delete2, __cxa_vec_delete3): Implement.
	(__cxa_vec_new): Use __cxa_vec_new2.
	(__cxa_vec_delete): Use __cxa_vec_delete2.

From-SVN: r35761
2000-08-17 15:05:43 +00:00
Nathan Sidwell
2f1b80afde vec.cc (__cxa_vec_new): Set "C" linkage.
* vec.cc (__cxa_vec_new): Set "C" linkage.
	(__cxa_vec_ctor): Likewise.
	(__cxa_vec_cctor): Likewise.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_delete): Likewise.
	* inc/cxxabi.h (__cxa_vec_new): Set "C" linkage.
	(__cxa_vec_ctor): Likewise.
	(__cxa_vec_cctor): Likewise.
	(__cxa_vec_dtor): Likewise.
	(__cxa_vec_delete): Likewise.

From-SVN: r35760
2000-08-17 14:40:31 +00:00
Nathan Sidwell
f1819d9a3d cvt.c (cp_convert_to_pointer): Pass itf_complain, not itf_no_attributes.
* cvt.c (cp_convert_to_pointer): Pass itf_complain, not
	itf_no_attributes.

From-SVN: r35759
2000-08-17 14:09:21 +00:00
Nathan Sidwell
105d8e1f6e class.c (instantiate_type): Reinstate local variable deleted in previous change.
* class.c (instantiate_type): Reinstate local variable
	deleted in previous change.

From-SVN: r35758
2000-08-17 13:26:14 +00:00
Nathan Sidwell
5e76004e06 cp-tree.h (instantiate_type_flags): New enumeration.
* cp-tree.h (instantiate_type_flags): New enumeration.
	(instantiate_type): Change parameter.
	* class.c (instantiate_type): Adjust prototype. Adjust.
	* call.c (standard_conversion): Adjust instantiate_type call.
	(reference_binding): Likewise.
	(build_op_delete_call): Likewise.
	(convert_like_real): Likewise.
	* cvt.c (cp_convert_to_pointer): Likewise.
	(convert_to_reference): Likewise.
	* pt.c (convert_nontype_argument): Likewise.
	* typeck.c (build_binary_op): Likewise.
	(build_ptrmemfunc): Likewise.
	(convert_for_assignment): Likewise.

From-SVN: r35757
2000-08-17 13:10:50 +00:00
Nathan Sidwell
321cba9761 fix the fibs in previous entry
From-SVN: r35756
2000-08-17 12:34:36 +00:00
Nathan Sidwell
4b054b8004 cp-tree.h (CPTR_AGGR_TAG): New global tree node.
* cp-tree.h (CPTR_AGGR_TAG): New global tree node.
	(current_aggr): Define.
	* decl.c (grokdeclarator): Make sure a friend class is an
	elaborated type specifier.
	* parse.y (current_aggr): Remove static definition.
	(cp_parse_init): Adjust.
	(structsp): Clear and restore current_aggr.
	(component_decl_list): Clear current_aggr.

	* error.c (dump_type, case TYPENAME_TYPE): Don't emit the
	aggregate tag on the typename's context.

	* pt.c (tsubst_friend_class): Return NULL, if parms becomes NULL.
	(instantiate_class_template): Ignore NULL friend types.

From-SVN: r35755
2000-08-17 12:26:39 +00:00
Nathan Sidwell
07745bdb36 crash44.C: Remove XFAIL.
* g++.old-deja/g++.pt/crash44.C: Remove XFAIL. Add ERROR.
	* g++.old-deja/g++.pt/friend38.C: Remove XFAIL. Add extra test.
	* g++.old-deja/g++.pt/friend45.C: New test.
	* g++.old-deja/g++.other/friend8.C: New test.

From-SVN: r35754
2000-08-17 12:24:24 +00:00
Jeff Law
80959c3ff4 Daily bump.
From-SVN: r35753
2000-08-17 01:45:07 -06:00
Niibe Yutaka
acd50a9280 lib1funcs.asm (GLOBAL): Define.
* config/sh/lib1funcs.asm (GLOBAL): Define.  Use for all
references to GLOBAL symbols.  Use LOCAL where appropriate.

From-SVN: r35752
2000-08-16 21:17:40 +00:00
Alexandre Oliva
7d7aced288 Makefile.am (libstdc++.INC): Renamed from INCLUDES.
* src/Makefile.am (libstdc++.INC): Renamed from INCLUDES.
* src/Makefile.in: Regenerate.

From-SVN: r35751
2000-08-16 18:36:57 +00:00
Alexandre Oliva
c9635443f8 configure.in (libstdcxx_flags): Use libstdc++-v3/src/libstdc++.INC.
* configure.in (libstdcxx_flags): Use
libstdc++-v3/src/libstdc++.INC.

From-SVN: r35750
2000-08-16 18:34:04 +00:00
Alexandre Oliva
7fedceab9e * gcconfig.h [OSF1] (_end): Declare as `int'.
From-SVN: r35749
2000-08-16 18:17:59 +00:00
Rolf W. Rasmussen
777e6d799a ComponentDataBlitOp.java: New file.
* gnu/gcj/awt/ComponentDataBlitOp.java: New file.
	* gnu/gcj/awt/GLightweightPeer.java: New file.
	* java/awt/BorderLayout.java: Implemented all methods.
	* java/awt/Button.java (actionListener, actionCommand): Renamed
	and modifier change.
	(addNotify): Call super.
	(dispatchEventImpl): New method.
	(getListeners): New method.
	(label): Made package-private, not private.
	* java/awt/Canvas.java: Implemented class body.
	* java/awt/Color.java (brighter): New method.
	(darker): New method.
	(hashCode): New method.
	* java/awt/Component.java (visible, enabled, eventMask): Set defaults.
	(getGraphicsConfiguration): Delegate to
	getGraphicsConfigurationImpl().
	(getGraphicsConfigurationImpl): New method.
	(getToolkit): Only return value from peer if not null.
	(isDisplayable): Check with parent.
	(isShowing): No parent implies not showing.
	(getForeground): Check parent property if local is null.
	(getBackground): Likewise.
	(getFont): Likewise.
	(setForeground): Inform peer.
	(setBackground): Likewise
	(setLocale): Invalidate component.
	(getColorModel): Implemented.
	(setLocation): Invalidate, or ignore if no change.
	(setSize): Invalidate, or ignore if no change.
	(setBounds): Invalidate, or ignore if no change.
	(isOpaque): By default, heavyweight implies opaque.
	(isLightweight): Implemented.
	(getMaximumSize): Implemented.
	(doLayout): Implemented, NOP.
	(validate): Implemented, NOP.
	(invalidate): Only propagate to parent if parent was valid.
	(getGraphics): Implemented.
	(getFontMetrics): Implemented.
	(update): Implemented.
	(paintAll): Implemented.
	(repaint): Implemented all repaint methods.
	(print): Implemented.
	(printAll): Implemented.
	(createImage): Implemented.
	(dispatchEvent): Give the peer a chance to handle the event.
	(dispatchEventImpl): Dispatch paint events.
	(enableEvents): Lightweights enable events on parent component.
	(coalesceEvents): Coalesce paint events, and select event type
	using a switch.
	(coalescePaintEvents): New method.
	(processEvent): Fix unfortunate ordering of statements, and call
	correct method for MOUSE_CLICKED.
	(processPaintEvent): New method.
	(addNotify): Allow container to notify children before event
	mask is set in peer.
	(addNotifyContainerChildren): New method.
	(removeNotify): Visibility should not change on removeNotify.
	(paramString): Implemented.
	(list): Implemented two of the list methods.
	* Container (myInsets): Removed, insets are managed by peer.
	(getInsets): Query peer.
	(addImpl): Fix reparenting, enable events for lightweights,
	initialize component array.
	(validate): Call doLayout in validateTree() instead.
	(validateTree): Do nothing if already valid. Call beginValidate(),
	endValidate() on peer. Call validateTree() instead of validate()
	for children that are containers. Mark valid after validation of
	children.
	(setFont): Partial implementation.
	(paint): Implemented.
	(visitChildren): New method.
	(visitChild): New method.
	(update): Implemented.
	(print): Implemented.
	(paintComponents): Implemented.
	(printComponents): Consider translation and clipping.
	(getComponentAt): Ignore invisible children. Return this if no
	child match.
	(addNotify): Call super.
	(addNotifyContainerChildren): New method.
	(paramString): Implemented.
	(list): Implemented.
	* java/awt/EventQueue (invokeAndWait): Get system event queue the
	right way.
	(invokeLater): Likewise.
	(isDispatchThread): Likewise.
	* java/awt/FontMetrics (getLeading): Formula change.
	(getDescent): Consider leading also.
	(getMaxAscent): Default to getAscent().
	(getMaxDescent): Default to getDescent.
	(getMaxAdvance): Return value signifying unknown.
	(charWidth): Both methods implemented.
	(charsWidth): Implemented.
	(bytesWidth): Implemented.
	(getWidths): Implemented.
	* java/awt/Frame.java (NORMAL, ICONIFIED, iconImage, isResizable,
	state): New fields.
	(Frame): Rearragend constuctor chaining to disallow null being
	passed as a graphics configuration.
	(getTitle): Return empty string if null.
	(dispose): Removed.
	(getIconImage): New method.
	(setIconImage): New method.
	(finalize): New method.
	(setMenuBar): Notify peer.
	(isResizable): New method.
	(setResizable): New method.
	(getState): New method.
	(getFont): Removed.
	(remove): Implemented.
	(removeNotify): New method.
	(getFrames): New method.
	* java/awt/Graphics.java: Implemented body of class.
	* java/awt/Graphics2D.java: New file.
	* java/awt/GraphicsConfiguration.java: Enabled part of the API.
	* java/awt/Image.java: Implemented body of class.
	* java/awt/Panel.java (Panel): Call correct super constructor.
	(addNotify): Implemented.
	* java/awt/Rectangle.java (isEmpty): Fixed reversed logic.
	* java/awt/RenderingHints.java: New file.
	* java/awt/Toolkit.java (createComponent): Implemented.
	(getSystemEventQueue): Delegate to getSystemEventQueueImpl().
	* java/awt/Window.java (Window): Two new constructors. Reordered
	constructor chaining.
	(getGraphicsConfigurationImpl): New method.
	(finalize): Call super.
	(addNotify): Call super.
	(pack): Do layout stuff.
	(show): Ensure that peer exists and that component is valid.
	(dispose): Dispose owned children.
	(getOwner): Simplify code, casting null pointers is valid.
	(getGraphicsConfiguration): Ask peer if local value is null.
	* java/awt/event/ActionEvent.java (getActionCommand): Renamed from
	getcmd().
	* java/awt/image/BufferedImage.java: New file.
	* java/awt/image/RasterOp.java: New file.
	* java/awt/peer/ComponentPeer.java (getGraphicsConfiguration):
	More powerfull replacement for getColorModel().
	(getColorModel) Removed.
	(setEventMask) New method.
	* Makefile.am: Added new files.
	* Makefile.in: Rebuilt.

From-SVN: r35748
2000-08-16 18:03:48 +00:00
Kaveh R. Ghazi
cfedbb1f82 configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld.
* configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld.  Always
	use t-aix41 when host == target.

From-SVN: r35747
2000-08-16 17:10:21 +00:00
Richard Henderson
3198926404 reload.c (push_secondary_reload): Revert last change.
* reload.c (push_secondary_reload): Revert last change.
        If we use a reload_in/out pattern, make the when the same
        as the primary reload.
        (find_reloads): Likewise.

From-SVN: r35746
2000-08-16 09:53:02 -07:00
Manfred Hollstein
d84c563442 configure.in (libstdcxx-v3): Fix test.
2000-08-16  Manfred Hollstein  <manfredh@redhat.com>

	* configure.in (libstdcxx-v3): Fix test.
	* configure: Regenerate.

From-SVN: r35745
2000-08-16 16:25:19 +00:00
Andrew Haley
3a593d5fb0 jvm.h (_Jv_HashCode): New hash code.
2000-08-15  Andrew Haley  <aph@cygnus.com>

	* include/jvm.h (_Jv_HashCode): New hash code.

From-SVN: r35744
2000-08-16 15:30:02 +00:00
Richard Kenner
43db0363f1 calls.c (calls_function_1, [...]): Only test TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
* calls.c (calls_function_1, expand_call): Only test
	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.

From-SVN: r35743
2000-08-16 07:59:03 -04:00
Richard Henderson
853d88280a combine.c (simplify_shift_const): Revert previous two changes.
* combine.c (simplify_shift_const): Revert previous two
        changes.  If SHIFT_COUNT_TRUNCATED, crop the shift count
        before the main loop.

From-SVN: r35742
2000-08-16 00:56:04 -07:00
Jeff Law
cbd273a803 Daily bump.
From-SVN: r35741
2000-08-16 01:45:07 -06:00
Richard Henderson
2b8b1ab661 New test.
From-SVN: r35740
2000-08-15 23:23:40 -07:00
Richard Henderson
3e626beb95 combine.c (simplify_shift_const): Bound shift count when combining shifts.
* combine.c (simplify_shift_const): Bound shift count when
        combining shifts.

From-SVN: r35739
2000-08-15 23:22:20 -07:00
Benjamin Kosnik
8e7c93fe34 codecvt.h: New file.
2000-08-15  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* bits/codecvt.h: New file.
	* src/codecvt.cc: New file.
	* bits/std_locale.h: Add include here.
	* src/Makefile.am (headers): Add codecvt.h
	(sources): Add codecvt.cc.
	* src/Makefile.in: Regenerate.
	* bits/locale_facets.h (codecvt): Re-implement. Rename _Codecvt to
	__codecvt_abstract_base in an attempt to point some light this way...
	Move __enc_traits and codecvt bits to codecvt.h.
	* src/locale-inst.cc: Remove codecvt<wchar_t, wchar_t, mbstate_t>
	explicit instantiation. Separate out codecvt instantations, simplify.
	* src/locale.cc: Move codecvt bits to codecvt.cc

From-SVN: r35738
2000-08-16 05:00:29 +00:00
Benjamin Kosnik
6351162329 codecvt.h: New file.
2000-08-15  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* bits/codecvt.h: New file.
	* src/codecvt.cc: New file.
	* bits/std_locale.h: Add include here.
	* src/Makefile.am (headers): Add codecvt.h
	(sources): Add codecvt.cc.
	* src/Makefile.in: Regenerate.
	* bits/locale_facets.h (codecvt): Re-implement. Rename _Codecvt to
	__codecvt_abstract_base in an attempt to point some light this way...
	Move __enc_traits and codecvt bits to codecvt.h.
	* src/locale-inst.cc: Remove codecvt<wchar_t, wchar_t, mbstate_t>
	explicit instantiation. Separate out codecvt instantations, simplify.
	* src/locale.cc: Move codecvt bits to codecvt.cc

From-SVN: r35737
2000-08-16 04:12:51 +00:00
Tom Tromey
fec1ce0a00 * java/io/ByteArrayOutputStream.java: Merged with Classpath.
From-SVN: r35736
2000-08-16 01:43:42 +00:00
Richard Kenner
0cba764e62 calls.c (ECF_SP_DEPRESSED): New macro.
* calls.c (ECF_SP_DEPRESSED): New macro.
	(calls_function_1): Treat calling sp-depressed function as alloca.
	(emit_call_1): Don't adjust SP if calling sp-depressed function.
	(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
	If sp-depressed, ensure block saves and restores SP.
	* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
	for INTEGER_TYPE.
	* function.c (keep_stack_depressed): New function.
	(thread_prologue_and_epilogue_insns): Call it.
	* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
	to print DECL_OFFSET_ALIGN.
	Print no-force-blk and transparent-union flags properly.
	* stmt.c (expand_goto_internal): Don't restore stack if last block
	and function returns with sp depressed.
	(fixup_gotos): Likewise.
	(save_stack_pointer): New function, from code in expand_decl.
	(expand_decl): Call new function.
	* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
	(TYPE_RETURNS_STACK_DEPRESSED): New macro.
	(save_stack_pointer): New declaration.

From-SVN: r35735
2000-08-15 21:23:46 -04:00
Richard Kenner
7393c6422b calls.c (ECF_SP_DEPRESSED): New macro.
* calls.c (ECF_SP_DEPRESSED): New macro.
	(calls_function_1): Treat calling sp-depressed function as alloca.
	(emit_call_1): Don't adjust SP if calling sp-depressed function.
	(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
	If sp-depressed, ensure block saves and restores SP.
	* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
	for INTEGER_TYPE.
	* function.c (keep_stack_depressed): New function.
	(thread_prologue_and_epilogue_insns): Call it.
	* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
	to print DECL_OFFSET_ALIGN.
	Print no-force-blk and transparent-union flags properly.
	* stmt.c (expand_goto_internal): Don't restore stack if last block
	and function returns with sp depressed.
	(fixup_gotos): Likewise.
	(save_stack_pointer): New function, from code in expand_decl.
	(expand_decl): Call new function.
	* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
	(TYPE_RETURNS_STACK_DEPRESSED): New macro.
	(save_stack_pointer): New declaration.

From-SVN: r35734
2000-08-15 21:15:37 -04:00
Alexandre Petit-Bianco
81baa09a56 jcf-write.c (generate_bytecode_conditional): Re-installed lost Jan 6 2000 patch.
2000-08-14  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * jcf-write.c (generate_bytecode_conditional): Re-installed lost
        Jan 6 2000 patch.
        (generate_bytecode_insns): Check `nargs' before emitting it.
        * verify.c (merge_type_state): Fixed typo.
        * ChangeLog: Fixed typo in some jcf-write.c entries mentioning
        generate_bytecode_{conditional,insns}.

(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00617.html)

From-SVN: r35733
2000-08-15 17:05:29 -07:00
Richard Kenner
f507188ad0 diagnostic.c (fatal_function): New variable.
* diagnostic.c (fatal_function): New variable.
	(set_fatal_function): New function.
	(fatal): Call it.
	* diagnostic.h (set_fatal_function): New declaration.

From-SVN: r35732
2000-08-15 17:39:26 -04:00
Richard Kenner
43b45e9412 diagnostic.c (fatal_function): New variable.
* diagnostic.c (fatal_function): New variable.
	(set_fatal_function): New function.
	(fatal): Call it.
	* diagnostic.h (set_fatal_function): New declaration.

From-SVN: r35731
2000-08-15 17:21:12 -04:00
William Cohen
568472074a elf.h (DWARF2_DEBUGGING_INFO): Defined.
* config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
	(DWARF2_ASM_LINE_DEBUG_INFO): Defined.

From-SVN: r35730
2000-08-15 14:50:39 -06:00
Richard Kenner
1156b23c78 Minor whitespace fixes
From-SVN: r35729
2000-08-15 16:47:38 -04:00
Joseph Myers
7300c8eb64 c90-array-lval-2.c, [...]: New tests.
* gcc.dg/c90-array-lval-2.c, gcc.dg/c90-const-expr-2.c,
	gcc.dg/c99-array-lval-2.c, gcc.dg/c99-const-expr-2.c,
	gcc.dg/c99-func-3.c, gcc.dg/c99-func-4.c: New tests.

From-SVN: r35728
2000-08-15 19:08:04 +01:00
Richard Henderson
7791b7f908 * flow.c (mark_used_reg): Set reg_cond_reg appropriately.
From-SVN: r35727
2000-08-15 10:31:29 -07:00
Jeff Law
fa80e43d57 tm.texi (LOCAL_REGNO): Document.
* tm.texi (LOCAL_REGNO): Document.
        * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
        (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
        * reload1.c (reload): Likewise when considering nonlocal labels.

        * config/ia64/ia64.h (LOCAL_REGNO): New.
        * config/sparc/sparc.h (LOCAL_REGNO): New.
Last real change...

From-SVN: r35722
2000-08-15 09:33:23 -06:00
Jeff Law
6b72173af8 tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
* tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.

One more...

From-SVN: r35720
2000-08-15 09:32:04 -06:00
Jeff Law
1a67c7d389 cppdefault.h (WINT_TYPE): Define.
* cppdefault.h (WINT_TYPE): Define.
        * cppinit.c (builtin_array): Define __WINT_TYPE__.
        * tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
        * tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
Almost done.

From-SVN: r35719
2000-08-15 09:30:52 -06:00
Michael Poole
7c2720799c tm.texi (Register Classes): Clarify order of sub-initializers in REG_CLASS_CONTENTS.
* tm.texi (Register Classes): Clarify order of sub-initializers
        in REG_CLASS_CONTENTS.
Ho hum...

From-SVN: r35718
2000-08-15 09:29:31 -06:00
Jeff Law
7a6bd5ae0e tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
* tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.

Restoring tm.texi after corruption.

From-SVN: r35717
2000-08-15 09:28:19 -06:00
Jeff Law
864bcaa7cf cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
        (cse_insn): Likewise.
        (addr_affects_sp_p): Likewise.
        * expr.c (move_by_pieces): Likewise.
        (clear_by_pieces): Likewise.
        * gcse.c (oprs_unchanged_p): Likewise.
        * haifa-sched.c (sched_analyze_2): Likewise.
        * recog.c (offsettable_address_p): Likewise.
        * regclass.c (record_address_regs): Likewise.
        * reload.c (find_reusable_reload): Likewise.
        (push_reload): Likewise.
        (operands_match_p): Likewise.
        (decompose): Likewise.
        (find_reloads_address_1): Likewise.
        (find_inc_amount): Likewise.
        * reload1.c (elimination_effects): Likewise.
        * resource.c (mark_set_resources): Likewise.
        * flow.c (attempt_auto_inc): New function; mostly broken out
        of find_auto_inc.
        (find_auto_inc): Split into two functions and enhanced to
        generate POST_MODIFY.
        * rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
        * rtl.h (count_all_occurrences):  Declare.
        (HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
        defined.
        * rtlanal.c (count_all_occurrences): New function.
        * tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
        HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.

        * config/ia64/ia64-protos.h (destination_operand): Declare.
        * config/ia64/ia64.c (destination_operand): New function.
        (ia64_print_operand): Handle POST_MODIFY.
        (rtx_needs_barrier): Likewise.
        * config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
        (HAVE_POST_MODIFY_REG): Define to 1.
        (MAX_REGS_PER_ADDRESS): Change to 2.
        (GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
        (LEGITIMATE_ADDRESS_REG): New helper macro.
        (LEGITIMATE_ADDRESS_DISP): Likewise.
        (PREDICATE_CODES): Add entry for destination_operand.
        * config/ia64/ia64.md (all mov patterns): Use destination_operand
        predicate for operand 0.
Restoring tm.texi after corruption.

From-SVN: r35713
2000-08-15 09:27:11 -06:00
Jeff Law
980e206779 final.c (profile_function): Do not emit profile counters in the data section, if NO_PROFILE_COUNTERS is defined.
* final.c (profile_function): Do not emit profile counters in
        the data section, if NO_PROFILE_COUNTERS is defined.
        * tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
        FUNCTION_PROFILER.

        * config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
        (FUNCTION_PROFILER): Just emit a call to mcount.
Restoring tm.texi after corruption.

From-SVN: r35709
2000-08-15 09:25:50 -06:00
Richard Earnshaw
f99fce0c53 arm.c (arm_function_ok_for_sibcall): New function.
* arm.c (arm_function_ok_for_sibcall): New function.
* arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
* arm.md (call expanders): Don't check here for calls that can't
be sibling calls.

From-SVN: r35708
2000-08-15 15:14:06 +00:00
Richard Earnshaw
74da3101e5 * arm.md (splits generating cond_exec): Disable.
From-SVN: r35707
2000-08-15 14:59:37 +00:00
Richard Earnshaw
2c210617e0 * arm/linux-elf.h (text_section): Delete declaration.
From-SVN: r35706
2000-08-15 14:23:33 +00:00
Richard Earnshaw
e45b72c408 ARM support for unordered FP operations.
* arm-protos.h (arm_comparison_operator): Declare.
* arm.c (arm_comparison_operator): New function.
(arm_select_cc_mode): Add unordered comparison codes.
(get_arm_condition_code): Likewise.
(arm_final_prescan_insn): Can't handle unordered jumps that can't
be done in one insn.
* arm.h (PREDICATE_CODES): Add arm_comparison_operator.
* arm.md (all uses of comparison_operator): Replace with
arm_comparison_operator.
(bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
expands.
(arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
patterns.

From-SVN: r35705
2000-08-15 13:41:34 +00:00