Commit Graph

51786 Commits

Author SHA1 Message Date
Roger Sayle c715abddc7 cse.c (fold_rtx): Use swap_commutative_operands_p to determine whether to reorder the operands of...
* cse.c (fold_rtx): Use swap_commutative_operands_p to determine
	whether to reorder the operands of a commutative binary operator.

From-SVN: r69534
2003-07-18 00:28:14 +00:00
Roger Sayle 3e4093b64f fold-const.c (const_binop): Avoid performing the FP operation at compile-time...
* fold-const.c (const_binop): Avoid performing the FP operation at
	compile-time, if either operand is NaN and we honor signaling NaNs,
	or if we're dividing by zero and either flag_trapping_math is set
	or the desired mode doesn't support infinities.
	(fold_initializer): New function to fold an expression ignoring any
	potential run-time exceptions or traps.
	* tree.h (fold_initializer): Prototype here.
	* c-typeck.c (build_binary_op): Move to the end of the file so
	that intializer_stack is in scope.  If constructing an initializer,
	i.e. when initializer_stack is not NULL, use fold_initializer to
	fold expressions.
	* simplify-rtx.c (simplify_binary_operation): Likewise, avoid
	performing FP operations at compile-time, if they would raise an
	exception at run-time.

From-SVN: r69533
2003-07-18 00:26:51 +00:00
GCC Administrator 35c77862c9 Daily bump.
From-SVN: r69531
2003-07-18 00:16:08 +00:00
Andrew Pinski bf88d87002 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/10476
        * g++.dg/expr/crash-1.C: New test.

        PR c++/11027
        * g++.dg/template/init3.C: New test.

        PR c++/8222
        * g++.dg/template/non-dependent1.C: New test.

        PR c++/11070
        * g++.dg/template/non-dependent2.C: New test.

        PR c++/11071
        * g++.dg/template/non-dependent3.C: New test.

        PR c++/9907
        * g++.dg/template/sizeof5.C: New test.

From-SVN: r69529
2003-07-17 15:53:46 -07:00
Geoffrey Keating 26e0dcb326 re PR middle-end/11498 (asm can't be used to give a variable its own name)
PR 11498
	* Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
	(langhooks.o): Add $(GGC_H), gt-langhooks.h.
	(GTFILES): Add langhooks.c.
	(gt-langhooks.h): New.
	* c-common.h (c_static_assembler_name): Prototype.
	* c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
	* objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
	* c-opts.c: Include langhooks-def.h.
	(c_static_assembler_name): New.
	* langhooks.c: Include ggc.h.  Include gt-langhooks.h.
	(var_labelno): New.
	(lhd_set_decl_assembler_name): Give static objects with context
	unique names.
	* varasm.c (var_labelno): Delete.
	(make_decl_rtl): Don't change the assembler name once it's set.

From-SVN: r69527
2003-07-17 21:52:51 +00:00
Geoffrey Keating 89e9faee22 c-opts.c (this_input_filename): New.
* c-opts.c (this_input_filename): New.
	(finish_options): Take new parameter, name of file being compiled.
	Update callers.  Set this_input_filename.
	(push_command_line_include): Use this_input_filename not
	main_input_filename.

From-SVN: r69526
2003-07-17 21:50:38 +00:00
Zack Weinberg 36c6d174b3 objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to c_write_global_declarations.
* objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
	c_write_global_declarations.

From-SVN: r69525
2003-07-17 21:05:24 +00:00
Neil Booth 6ec3f553fe Makefile.in: Depend .pot generation on options.c.
* Makefile.in: Depend .pot generation on options.c.
	* po/exgettext: Add an extra_files variable containing additional
	files to scan.

From-SVN: r69524
2003-07-17 20:29:40 +00:00
Michael Koch 3aefaf2203 GtkToolkit.java: Reworked imports.
2003-07-17  Michael Koch  <konqueror@gmx.de>

	* gnu/java/awt/peer/gtk/GtkToolkit.java:
	Reworked imports.

From-SVN: r69522
2003-07-17 20:26:51 +00:00
Zack Weinberg b92ef8fdac Missed this hunk - belongs with the previous patch
From-SVN: r69521
2003-07-17 20:25:21 +00:00
Zack Weinberg eb1dfbb2fb c-decl.c: Fix typos in several comments.
* c-decl.c: Fix typos in several comments.  Remove all
	#if 0 blocks; reindent as needed.  Remove unused argument
	to declare_parm_level; all callers changed.
	* c-parse.in: Update calls to declare_parm_level.  Avoid
	issuing a double warning in some circumstances.
	* c-typeck.c: Update calls to declare_parm_level.
	* c-tree.h: Update prototype of declare_parm_level.

	* c-pragma.c (apply_pragma_weak): Don't complain about a
	redundant #pragma weak.

	* objc/objc-act.c (forward_declare_categories,
	build_selector_reference_decl, build_class_reference_decl,
	build_objc_string_decl, synth_forward_declarations,
	build_protocol_reference): Set TREE_PUBLIC on synthetic
	forward decl to 0, consistent with eventual definition.
	Correct comments to match.

cp:
	* pt.c (get_bindings): Make definition consistent with
	forward declaration.

From-SVN: r69519
2003-07-17 20:12:21 +00:00
Zack Weinberg 78ff95dc17 inclhack.def (solaris_mutex_init_2): Escape braces in regexp that don't form a range expression.
* fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
	in regexp that don't form a range expression.
	* fixinc/fixincl.def: Regenerate.

From-SVN: r69517
2003-07-17 18:43:37 +00:00
Richard Henderson b23ba0b898 re PR target/10907 ([IA64] gcc violates the ia64 ABI)
PR target/10907
        * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
        even with !TARGET_CONST_GP.
        (ia64_function_ok_for_sibcall): Reject non-local functions.

From-SVN: r69515
2003-07-17 09:33:22 -07:00
Kriang Lerdsuwanakij 2a39bedbed Fix typo in date
From-SVN: r69514
2003-07-17 15:49:19 +00:00
Kriang Lerdsuwanakij 41c5ee0615 re PR c++/7809 (befriending inaccessible names)
PR c++/7809
	* friend.c (add_friend): Check access for member functions
	and templates.

	* g++.dg/parse/access3.C: New test.

From-SVN: r69513
2003-07-17 15:47:40 +00:00
Phil Edwards 83a279e492 guide.html: Fix typo.
2003-07-17  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/guide.html:  Fix typo.

From-SVN: r69512
2003-07-17 15:31:20 +00:00
Steven Bosscher d944c82dce c-common.c (c_estimate_num_insns_1): Don't handle METHOD_CALL_EXPR.
2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>

	* c-common.c (c_estimate_num_insns_1): Don't handle
	METHOD_CALL_EXPR.
	* expr.c (safe_from_p): Likewise.
	* gengtype.c (adjust_field_tree_exp): Likewise.
	* stmt.c (warn_if_unused_value): Likewise
	* tree.c (first_rtl_op): Likewise.
	* tree.def: Don't define METHOD_CALL_EXPR.
	* java/lang.c (java_estimate_num_insns_1): Don't handle
	METHOD_CALL_EXPR.

From-SVN: r69511
2003-07-17 13:25:21 +00:00
Andrew Pinski d424f7ff66 re PR c++/11384 (missing implicit instantiation of template static members)
2003-06-17  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/11384
        * g++.dg/init/init-ref4.C: New test.

From-SVN: r69510
2003-07-17 04:53:07 -07:00
Gabriel Dos Reis ef292d4f65 re PR c++/10668 (assigning address of non-static member variable to pointer)
PR c++/10668
	* typeck.c (build_class_member_access_expr): Improve diagnostic.

From-SVN: r69509
2003-07-17 11:49:02 +00:00
Eric Botcazou 54284728e5 re PR other/11466 ('-mlittle-endian' doesn't work with GCC3.2.3 under Solaris 2.x)
PR other/11466
	* doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
	and its restrictions for the SPARC64 port.
	Move the entry of "-mimpure-text" before that of "-mv8".

From-SVN: r69497
2003-07-17 07:30:07 +00:00
Eric Botcazou bc89096116 install.texi (*-*-solaris2*): Document the step-by-step procedure to bootstrap and install.
* doc/install.texi (*-*-solaris2*): Document the step-by-step
	procedure to bootstrap and install.
	Document the preference for the legacy Sun tools in /usr/bin
	over the POSIX tools in /usr/xpg4/bin for the build process.

Co-Authored-By: Phil Edwards <phil@jaj.com>

From-SVN: r69495
2003-07-17 06:12:43 +00:00
Neil Booth f2ac996428 c.opt: Document Uncodumented; use it.
* c.opt: Document Uncodumented; use it.  Document ObjC options.
	* opts.c (print_filtered_help): Skip undocumented switches.
	* opts.h (CL_UNDOCUMENTED): New.
	* opts.sh: Handle Undocumented.
	* toplev.c (documented_lang_options): Prevent its becoming empty.
f:
	* lang-options.h: Remove.
	* lang.opt: Document most options.
objc:
	* lang-options.h: Remove.

From-SVN: r69494
2003-07-17 05:33:18 +00:00
Mark Mitchell 39703eb9e2 re PR c++/11547 (ICE with const temporaries)
PR c++/11547
	* cp-tree.h (DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P): New
	macro.
	(DECL_PRETTY_FUNCTION_P): Use VAR_DECL_CHECK.
	* decl.c (duplicate_decls): Merge
	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
	* parser.c (cp_parser_postfix_expression): Adjust call to
	cp_parser_initializer_list and
	cp_parser_parenthesized_expression_list.
	(cp_parser_parenthesized_expression_list): Add non_constant_p.
	(cp_parser_new_placement): Adjust call to
	cp_parser_parenthesized_expression_list.
	(cp_parser_direct_new_declarator): Likewise.
	(cp_parser_conditional_expression): Remove.
	(cp_parser_constant_expression): Parse an assignment-expression,
	not a conditional-expression.
	(cp_parser_simple_declaration): Resolve expression/declaration
	ambiguity more quickly.
	(cp_parser_mem_initializer): Adjust call to
	cp_parser_parenthesized_expression_list.
	(cp_parser_init_declarator): Keep track of whether or not the
	initializer is a constant-expression.
	(cp_parser_initializer): Add non_constant_p parameter.
	(cp_parser_initializer_clause): Likewise.
	(cp_parser_initializer_list): Likewise.
	(cp_parser_attribute_list): Adjust call to
	cp_parser_parenthesized_expression_list.
	(cp_parser_functional_cast): Likewise.
	* pt.c (tsubst_decl): Copy
	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
	(tsubst_expr): Tweak use of DECL_PRETTY_FUNCTION_P.
	* semantics.c (finish_id_expression): Use
	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.

	PR c++/11547
	* g++.dg/parse/constant3.C: New test.
	* g++.dg/parse/crash7.C: Likewise.

From-SVN: r69493
2003-07-17 04:31:42 +00:00
Benjamin Kosnik db5eed1873 pod_char_traits.h: Add state template argument.
2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pod_char_traits.h: Add state template argument.

From-SVN: r69492
2003-07-17 04:01:28 +00:00
Benjamin Kosnik 7942afdca2 locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
2003-07-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (__num_base::_S_atoms_in): Add -+xX.
	(num_get::_M_convert_int): To _M_insert_int.
	(num_get::_M_convert_float): To _M_insert_float.
	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	Use caches for ctype, num_get.
	(num_get::_M_extract_int): Same.
	(num_get::get(bool)): Same.
	(__verify_grouping): Use size_t.
	* src/locale-inst.cc: Update.
	* src/locale.cc: Adjust _S_atoms_in.

From-SVN: r69491
2003-07-17 01:54:44 +00:00
Ulrich Weigand 03988cac58 loop.c (check_ext_dependent_givs): Pass const struct loop * instead of struct loop_info * as argument.
* loop.c (check_ext_dependent_givs): Pass const struct loop *
	instead of struct loop_info * as argument.  Accept BIVs with
	increment +/- 1 provided there is a friendly exit test against
	a loop-invariant value.
	(strength_reduce): Adapt call to check_ext_dependent_givs.

From-SVN: r69489
2003-07-17 00:59:52 +00:00
GCC Administrator 1129e7f414 Daily bump.
From-SVN: r69487
2003-07-17 00:16:06 +00:00
Phil Edwards 1ef4a5d4c3 mainpage.html: Move building/writing instructions...
2003-07-16  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/mainpage.html:  Move building/writing instructions...
	* docs/doxygen/guide.html:  ...to here.  New file.

From-SVN: r69485
2003-07-16 23:59:54 +00:00
J"orn Rennecke fada196198 prologue / epilogue / warning patches:
2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
	    Con Bradley <con.bradley@superh.com>

	* sh-protos.h (sh_get_pr_initial_val): Declare.
	* sh.c (regno_reg_class): Make its elements type enum reg_class.
	(output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
	and live_regs_mask arguments.  Changed all callers.
	(save_schedule_s): New structure.
	(save_schedule): New typedef.
	(scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
	(calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
	In interrupts handlers, also save registers that are usually
	partially saved, and make sure there is at least one general purpose
	register saved if a target register needs saving.
	Add casts in comparisons to avoid warnings.
	(sh_media_register_for_return): return -1 for interrupt handlers.
	(MAX_SAVED_REGS, MAX_TEMPS): New defines.
	(sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
	registers used are available.
	Set RTX_FRAME_RELATED_P where appropriate.
	Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
	(sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
	(initial_elimination_offset): Likewise.
	* sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
	(LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
	(FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
	(XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
	(HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
	and for target registers.
	(RETURN_IN_MEMORY): Add parentheses to avoid warnings.
	(regno_reg_class): Make its elements type enum reg_class.
	(CONSTRAINT_LEN): Don't use isdigit.
	(FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
	(FUNCTION_ARG): Add parentheses to avoid warnings.
	(RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
	(RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
	(SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
	(EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
	* sh.md (xordi3+1): Remove unused variable regno.
	(return_media): Check that tr0 is available before using it.

Co-Authored-By: Con Bradley <con.bradley@superh.com>

From-SVN: r69480
2003-07-16 22:41:20 +01:00
Andrew Pinski 1f8ae5cd7a file should have been named i386-pentium4-not-mull.c, not i386-pentium4-no-mull.c.
From-SVN: r69478
2003-07-16 13:07:50 -07:00
Neil Booth bae92bf3c0 c.opt: Document more options.
* c.opt: Document more options.
cp:
	* lang-options.h: Remove.

From-SVN: r69477
2003-07-16 19:49:51 +00:00
Roger Sayle cc8c96fd6d combine.c (subst): Also handle (subreg (const_double ...)) case if created by a substitution...
* combine.c (subst): Also handle (subreg (const_double ...)) case
	if created by a substitution, by using the original inner mode.

From-SVN: r69476
2003-07-16 19:36:38 +00:00
Roger Sayle d41ba56fc4 simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons to MODE_FLOAT constants if...
* simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
	to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
	(simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.

From-SVN: r69475
2003-07-16 19:34:50 +00:00
Andrew Pinski 264d65c1b5 install.texi (--without-headers): New.
2003-07-16  Andrew Pinski <pinskia@physics.uc.edu>

	* doc/install.texi (--without-headers): New.

From-SVN: r69474
2003-07-16 12:28:43 -07:00
Andrew Pinski 1622229cb1 Partial Fix PR/10129
2003-07-17  Andrew Pinski  <pinskia@physics.uc.edu>

        Partial Fix PR/10129
        * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
        (machopic_output_function_base_name): New; print the true pic label.
        (machopic_classify_ident): Pic Base is always a defined data.
        * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
        * config/darwin-proto.h (machopic_output_function_base_name): Prototype.

From-SVN: r69472
2003-07-16 12:05:53 -07:00
Andrew Pinski db2f435bea gcse.c (gcse_constant_p): COMPARE of the same registers is a constant if...
2003-05-02	Andrew Pinski <pinskia@physics.uc.edu>

	* gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
	if they are not floating point registers.

From-SVN: r69471
2003-07-16 11:58:12 -07:00
Andrew Pinski d07605f570 re PR c/10962 (lookup_field is a linear search on a linked list (can be slow if large struct))
2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
ChangeLog:
        PR c/10962
        * ggc.h: Add header guards.
        * c-decl.c (finish_struct): Sort fields if
        number greater than 15 and there are no
        anonymous structs/unions.
        * c-common.h: Include ggc.h.
        (sorted_fields_type): New struct.
        (field_decl_cmp): New prototype.
        (resort_sorted_fields): New prototype.
        (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
        * c-tree.h: (lang_type): Use pointer to sorted_fields_type
        as s, removing other fields.
        * c-typeck.c (lookup_field): Use s in lang_type.
        These were mostly moved from cp/class.c:
        * c-common.c (field_decl_cmp): New static function.
        (field_decl_cmp): New function.
        (resort_sorted_fields): New function.
cp/ChangeLog:
        * class.c (field_decl_cmp): Remove.
        (resort_field_decl_cmp): Remove.
        (resort_sorted_fields): Remove.
        (add_fields_to_vec): Rename to ...
        (add_fields_to_record_type): this.
        (finish_struct_1): Change to be using
        sorted_fields_type's fields.
        * cp-tree.h (lang_decl): In lang_decl_u3
        change sorted_fields to be a pointer to
        sorted_fields_type.
        (resort_sorted_fields): Remove prototype.
        * search.c (lookup_field_1): Change to be using
        sorted_fields_type's fields.

From-SVN: r69470
2003-07-16 11:45:56 -07:00
Andrew Pinski 48addf69eb re PR target/11008 (improper multiply optimization for pentium4)
2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR target/11008
        * gcc.dg/i386-pentium4-not-mull.c: New.

From-SVN: r69469
2003-07-16 11:23:32 -07:00
Geoffrey Keating 3d7964d5db darwin.c (machopic_select_section): Use decl_readonly_section to do most of the work.
* config/darwin.c (machopic_select_section): Use decl_readonly_section
	to do most of the work.

From-SVN: r69468
2003-07-16 18:18:00 +00:00
Andrew Pinski e6a8c80375 MAINTAINERS: Move self from Bug database only accounts to write-after-approval.
2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>

        * MAINTAINERS: Move self from Bug database only accounts
        to write-after-approval.

From-SVN: r69467
2003-07-16 11:15:22 -07:00
Hans-Peter Nilsson 4e58524e8c mmix-protos.h: Convert prototypes to ISO C90.
* config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
	* config/mmix/mmix.c: Convert functions to ISO C90.
  	(mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
	formatting.
	(mmix_get_hard_reg_initial_val): Tweak section head comment.

From-SVN: r69466
2003-07-16 17:44:59 +00:00
Jonathan Wakely dced0d12fb howto.html: Update URL for SGI STL docs.
2003-07-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/ext/howto.html: Update URL for SGI STL docs.
	* docs/html/faq/index.html: Same.
	* docs/html/faq/index.txt: Regenerate.

From-SVN: r69463
2003-07-16 18:06:36 +01:00
J"orn Rennecke 1e0343ddbb c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
gcc:
	* c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
gcc/testsuite:
	* gcc.dg/asm-names.c (ymain): Make it weak.

From-SVN: r69459
2003-07-16 17:25:15 +01:00
Paolo Carlini e50344b919 re PR libstdc++/11528 (money_get does not get "$.00")
2003-07-16  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/11528
	* include/bits/locale_facets.tcc (money_get::do_get):
	Strip only _leading_ zeros.
	* testsuite/22_locale/money_get/get/char/11528.cc: Add.
	* testsuite/22_locale/money_get/get/wchar_t/11528.cc: Add.

From-SVN: r69458
2003-07-16 16:12:47 +00:00
Kriang Lerdsuwanakij 866eb556c2 re PR c++/5421 (friends+templates: ICE: expected identifier_node, have template_id_expr in grokfndecl, at cp/decl.c:8835)
PR c++/5421
	* decl.c (grokdeclarator): Handle TEMPLATE_ID_EXPR if friend
	is a member of other class.
	* friend.c (do_friend): Don't build TEMPLATE_DECL if friend
	is a specialization of function template.

	* g++.dg/template/friend21.C: New test.

From-SVN: r69457
2003-07-16 15:42:15 +00:00
Gerald Pfeifer 94b7906a3a hash_map (class hash_multimap): Remove extra semicolons from __glibcxx_class_requires3 entries.
* include/ext/hash_map (class hash_multimap): Remove extra
	semicolons from __glibcxx_class_requires3 entries.
	* include/ext/hash_set (class hash_set): Ditto.
	(class hash_multiset): Ditto.

From-SVN: r69451
2003-07-16 14:23:08 +00:00
Jakub Jelinek fc4767bbb6 unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
* unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
	(uw_update_context_1): Use it.
	* config/rs6000/rs6000.c (insn_after_throw): Remove.
	(rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
	in parent frame if _Unwind_* called directly instead of through
	.plt.
	(rs6000_emit_eh_toc_restore): Remove.
	(rs6000_emit_prologue): Update stack pointer before doing any saving
	if current_function_calls_eh_return.  Generate unwind info for $r2.
	(rs6000_emit_epilogue): Restore stack pointer after doing all
	restoring if current_function_calls_eh_return.  Restore $r2.
	* config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
	* config/rs6000/rs6000.md (eh_return): Remove call to
	rs6000_emit_eh_toc_restore.
	* config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
	* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.

	* gcc.dg/cleanup-8.c: New test.
	* gcc.dg/cleanup-9.c: New test.

From-SVN: r69450
2003-07-16 13:52:55 +02:00
Jakub Jelinek 6972c506d4 expr.c (emit_block_move): Don't move anything if size is const 0.
* expr.c (emit_block_move): Don't move anything if size is const 0.
	(clear_storage): Test against const0_rtx instead of comparing INTVAL
	against 0.

From-SVN: r69441
2003-07-16 13:07:54 +02:00
David S. Miller ac59ed379b sparc.c (sparc_nonflat_function_epilogue): Only emit nop if the last real insn is CALL_INSN.
2003-07-15  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
	emit nop if the last real insn is CALL_INSN.

From-SVN: r69440
2003-07-16 01:36:27 -07:00
Nathanael Nerode 9f13608f62 * config.if: Remove unused libc_interface determination.
From-SVN: r69439
2003-07-16 06:34:53 +00:00