Commit Graph

29894 Commits

Author SHA1 Message Date
Gabriel Dos Reis
f5c979243f editbuf.h (edit_streambuf): Fix syntax error in friend-declaration.
* editbuf.h (edit_streambuf): Fix syntax error in
	friend-declaration.

From-SVN: r35782
2000-08-18 10:20:52 +00:00
Emmanuel Marty
ef42b1ddae From Emmanuel Marty <emarty@suntech.fr>
* arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
insn.

From-SVN: r35781
2000-08-18 10:18:14 +00:00
Nathan Sidwell
074900c50e * g++.old-deja/g++.other/typedef8.C: New test.
From-SVN: r35780
2000-08-18 09:49:40 +00:00
Nathan Sidwell
7a8b13758c decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class TYPE_DECLs.
* decl2.c (grokfield): Set CLASSTYPE_GOT_SEMICOLON on class
	TYPE_DECLs.

From-SVN: r35779
2000-08-18 09:49:06 +00:00
Nathan Sidwell
8e4f1b30f4 13478.C: Mark candidate.
* g++.old-deja/g++.benjamin/13478.C: Mark candidate.
	* g++.old-deja/g++.mike/net36.C: Mark candidate.
	* g++.old-deja/g++.robertl/eb131.C: Mark candidate.
	* g++.old-deja/g++.oliva/overload1.C: Remove XFAIL.
	* g++.old-deja/g++.other/ptrmem7.C: New test.
	* g++.old-deja/g++.pt/ptrmem10.C: New test.

From-SVN: r35778
2000-08-18 09:31:48 +00:00
Nathan Sidwell
19420d00dc cp-tree.h (PTRMEM_OK_P): New macro.
* cp-tree.h (PTRMEM_OK_P): New macro.
	(itf_ptrmem_ok): New enumeration value.
	* class.c (resolve_address_of_overloaded_function): Add PTRMEM
	argument. Diagnose implicit pointer to member.
	(instantiate_type): Don't diagnose implicit pointer to member
	here. Pass itf_ptrmem_ok if ok. Adjust calls to
	resolve_address_of_overloaded_function.
	* init.c (build_offset_ref): Set PTRMEM_OK_P.
	(resolve_offset_ref): Don't diagnose implicit pointer to member here.
	* semantics.c (finish_parenthesized_expr): Clear OFFSET_REFs here.
	* typeck.c (build_x_unary_op): Calculate PTRMEM_OK_P.
	(build_unary_op): Deal with single non-static member in
	microsoft-land.

From-SVN: r35777
2000-08-18 09:31:11 +00:00
Nathan Sidwell
c349117324 * g++.old-deja/g++.pt/typename27.C: New test.
From-SVN: r35776
2000-08-18 09:21:31 +00:00
Nathan Sidwell
660812833c * decl2.c (arg_assoc_type): Cope with TYPENAME_TYPE.
From-SVN: r35775
2000-08-18 09:21:04 +00:00
Nathan Sidwell
fa40aa121c cp-tree.h (enum_name_string): Remove prototype.
* cp-tree.h (enum_name_string): Remove prototype.
	(report_case_error): Remove prototype.
	* cp/typeck2.c (enum_name_string): Remove.
	(report_case_error): Remove.
	* error.c (dump_expr): Deal with enum values directly.
	Correctly negate integer constant.

From-SVN: r35774
2000-08-18 09:15:51 +00:00
Jeff Law
ca3a748a9f Daily bump.
From-SVN: r35773
2000-08-18 01:45:08 -06:00
Richard Henderson
bc08aefe1f ia64.c (spill_restore_mem): Handle emitting the first insn in a sequence.
* config/ia64/ia64.c (spill_restore_mem): Handle emitting
        the first insn in a sequence.

From-SVN: r35772
2000-08-17 20:03:50 -07:00
John Wehle
4998268292 alias.c (true_dependence, [...]): A read involving a label_ref or the constant pool doesn't create a dependency.
* alias.c (true_dependence, write_dependence_p): A read
	involving a label_ref or the constant pool doesn't create
	a dependency.

	* rtl.h (unchanging): Improve documentation.

From-SVN: r35771
2000-08-18 02:41:58 +00:00
Rodney Brown
889e5964f2 * cse.c (insert_regs): Remove unused `regno'.
From-SVN: r35770
2000-08-17 17:03:43 -06:00
Alexandre Petit-Bianco
0fcbfa82cf natClass.cc (finit_name): Initialized with `finit$'.
2000-08-15  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * java/lang/natClass.cc (finit_name): Initialized with `finit$'.
        (finit_leg_name): New global.
        (java::lang::Class::getDeclaredMethods): Test for `finit$' or
        `$finit$'. This is a backward compatibility hack.
        (java::lang::Class::_getMethods): Likewise.

(http://sources.redhat.com/ml/java-discuss/2000-08/msg00031.html
 See also the matching compiler patch:
 http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00664.html)

From-SVN: r35769
2000-08-17 14:56:29 -07:00
Alexandre Petit-Bianco
25bdcbc524 decl.c (finit_leg_identifier_node): New global.
2000-08-15  Alexandre Petit-Bianco  <apbianco@cygnus.com>

        * decl.c (finit_leg_identifier_node): New global.
        (init_decl_processing): Use `finit$' to initialize
        finit_identifier_node. Use `$finit$' to initialize
        finit_leg_identifier_node.
        * expr.c (expand_java_field_op): Use ID_FINIT_P.
        * java-tree.h (finit_identifier_node): Changed attached comment.
        (finit_leg_identifier_node): New declaration.
        (ID_FINIT_P): Take finit_identifier_node and
        finit_leg_identifier_node into account. This is a backward
        compatibility hack.

(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00664.html
 See also the matching Java run-time patch:
 http://sources.redhat.com/ml/java-discuss/2000-08/msg00031.html)

From-SVN: r35768
2000-08-17 14:50:48 -07:00
Mark Mitchell
1492cacbf9 localefwd.h (std::locale): Use explicit `class' specified when declaring friends.
* bits/localefwd.h (std::locale): Use explicit `class' specified
	when declaring friends.
	* bits/std_fstream.h (std::basic_filebuf): Likewise.

From-SVN: r35767
2000-08-17 20:13:47 +00:00
Neil Booth
dd69c71bf5 cppinit.c (merge_include_chains): Use remove_dup_dir, remove_dup_dirs.
* (cppinit.c) merge_include_chains: Use remove_dup_dir,
	remove_dup_dirs.  If qtail == brack, remove brack not
	qtail.
	(remove_dup_dir, remove_dup_dirs): New functions.

From-SVN: r35766
2000-08-17 18:03:59 +00:00
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