aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2003-09-05re PR rtl-optimization/1823 (-ftrapv aborts with pointer difference due to ↵Roger Sayle2-1/+8
division optimization) PR optimization/1823 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned multiplication to implement division by constant integer. Co-Authored-By: Richard Henderson <rth@redhat.com> From-SVN: r71116
2003-09-05re PR c++/12163 (static_cast + explicit ctor regression)Mark Mitchell6-2/+57
PR c++/12163 * call.c (perform_direct_initialization): Correct logic for direct-initialization of a class type. PR c++/12146 * pt.c (lookup_template_function): Robustify. PR c++/12163 * g++.dg/expr/static_cast4.C: New test. PR c++/12146 * g++.dg/template/crash9.C: New test. From-SVN: r71115
2003-09-05pretty2.C: Update for change in __FUNCTION__.Andrew Pinski3-2/+8
2003-09-05 Andrew Pinski <pinskia@physics.uc.edu> * g++.old-deja/g++.ext/pretty2.C: Update for change in __FUNCTION__. * g++.old-deja/g++.ext/pretty3.C: Likewise. From-SVN: r71114
2003-09-05Oops - I forgot to commit the change to this file along with the v850e1 ↵Nick Clifton1-1/+16
patch yesterday. Oops - I forgot to commit the change to this file along with the v850e1 patch yesterday. This part of the patch adds support for a --target=v850e1-elf configuration as well as --target=v850-elf --with-cpu=v850e1. From-SVN: r71113
2003-09-05re PR libstdc++/9028 (codecvt<wchar_t, char, mbstate_t> doesn't work on Red ↵Petur Runolfsson10-29/+829
Hat Linux 8.0.) 2003-09-04 Petur Runolfsson <peturr02@ru.is> PR libstdc++/9028 * include/bits/fstream.tcc (basic_filebuf::_M_destroy_internal_buffer): Destroy _M_ext_buf. (basic_filebuf::basic_filebuf): Initialize _M_ext_buf, _M_ext_buf_size, _M_ext_next and _M_ext_end. (basic_filebuf::underflow): Handle variable-width stateless encodings (codecvt::encoding() == 0), including UTF-8. * include/std/std_fstream.h (basic_filebuf): Declare _M_ext_buf, _M_ext_buf_size, _M_ext_next, _M_ext_end. * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc: New test. * testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc: New test. * testsuite/27_io/objects/wchar_t/12.cc: New test. * testsuite/27_io/objects/wchar_t/13.cc: New test. From-SVN: r71111
2003-09-05re PR c++/11922 (ICE on type_unification_real)Nathan Sidwell5-8/+55
cp: PR c++/11922 * pt.c (tsubst_qualified_id): Make sure we get a non-type. (tsubst_expr, tsubst_copy_and_build): Pass false, not zero, as is_type_p to lookup_qualified_name. * semantics.c (finish_call_expr): Refactor some code. testsuite: PR c++/11922 * g++/dg/template/qualified-id1.C: New test. From-SVN: r71109
2003-09-05re PR c++/12037 (Spurious "statement has no effect" in templates)Nathan Sidwell12-37/+223
cp: PR c++/12037 * cp-tree.h (COMPOUND_EXPR_OVERLOADED): New. (build_min_non_dep): Declare. * tree.c (build_min): Propagate TREE_SIDE_EFFECTS. (build_min_non_dep): New. * cvt.c (convert_to_void): Don't explicitly copy TREE_SIDE_EFFECTS, TREE_NO_UNUSED_WARNING. * call.c (build_new_method_call): Use build_min_non_dep. * decl2.c (grok_array_decl): Likewise. (build_offset_ref_call_from_tree): Likewise. * typeck.c (finish_class_member_access_expr, build_x_indirect_ref, build_x_binary_op, build_x_unary_op, build_x_conditional_expr, build_x_compound_expr): Likewise. (build_static_cast, build_reinterpret_cast, build_const_cast): Propagate TREE_SIDE_EFFECTS inside a template. * typeck2.c (build_x_arrow): Use build_min_non_dep. (build_functional_cast): Propagate TREE_SIDE_EFFECTS inside a template. * rtti.c (build_dynamic_cast_1): Set DECL_IS_PURE. (build_dynamic_cast): Set TREE_SIDE_EFFECTS. * pt.c (build_non_dependent_expr): Check COMPOUND_EXPR_OVERLOADED. testsuite: PR c++/12037 * g++.dg/warn/noeffect4.C: New test. From-SVN: r71108
2003-09-05index.html: Note that a namespace alias can't be used when...Jonathan Wakely3-118/+133
2003-09-04 Jonathan Wakely <redi@gcc.gnu.org> * docs/html/faq/index.html: Note that a namespace alias can't be used when specialising templates in extension namespace. * docs/html/faq/index.txt: Regenerate. From-SVN: r71107
2003-09-05opts.c (decode_options): Enable unit-at-a-time at -O2.Jan Hubicka4-5/+12
* opts.c (decode_options): Enable unit-at-a-time at -O2. * params.def (max-inline-insns-single): Set to 500 (max-inline-insns-auto): Set to 150 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update. From-SVN: r71105
2003-09-04cgraph.c (cgraph_mark_reachable_node): Split out from ...Richard Henderson8-50/+110
* cgraph.c (cgraph_mark_reachable_node): Split out from ... (cgraph_mark_needed_node): Remove needed argument. * cgraph.h: Update to match. * cgraphunit.c (decide_is_function_needed): Split out from ... (cgraph_finalize_function): Reorg. Avoid deferred_inline_function if we generated the function. (record_call_1): Update for cgraph_mark_reachable_node. * varasm.c (mark_referenced): Likewise. * objc/objc-act.c (mark_referenced_methods): Likewise. * decl2.c (mark_member_pointers_and_eh_handlers): Update for change in cgraph_mark_needed_node arguments. From-SVN: r71104
2003-09-04* targhooks.c: Add comment explaining the migration process.DJ Delorie2-0/+33
From-SVN: r71103
2003-09-05compile.exp: Test with -O3 rather than -O.Jeff Sturm3-2/+13
* libjava.compile/compile.exp: Test with -O3 rather than -O. * libjava.lang/lang.exp: Likewise. From-SVN: r71102
2003-09-05libjava.exp (libjava_arguments): Remove unneeded variables.Jeff Sturm1-29/+1
* lib/libjava.exp (libjava_arguments): Remove unneeded variables. (test_libjava_from_source): Likewise. (test_libjava_from_javac): Likewise. From-SVN: r71101
2003-09-04Remove duplicate entry, mention PR.DJ Delorie1-1/+1
From-SVN: r71100
2003-09-05t-frv: Fix path for frv-abi.h.Eric Christopher3-9/+14
2003-09-04 Eric Christopher <echristo@redhat.com> * config/frv/t-frv: Fix path for frv-abi.h. * config/frv/frv-asm.h: Fix string concatenation. From-SVN: r71099
2003-09-05Daily bump.GCC Administrator2-2/+2
From-SVN: r71097
2003-09-04builtins.c (apply_args_size): Guard against a NULL cfun.DJ Delorie2-4/+11
* builtins.c (apply_args_size): Guard against a NULL cfun. (expand_builtin_apply_args_1): Likewise. (expand_builtin_apply_args_1): Likewise. (expand_builtin_apply): Likewise. From-SVN: r71095
2003-09-04configure: Regenerate.DJ Delorie3-4/+12
* configure: Regenerate. * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet. From-SVN: r71094
2003-09-04re PR target/12101 (i386 Solaris no longer works with GNU as?)Rainer Orth6-30/+75
* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if assembler supports Sun syntax for cmov. * configure: Regenerate. * config.in: Likewise. * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to HAVE_AS_IX86_CMOV_SUN_SYNTAX. * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove. Fixes PR target/12101. From-SVN: r71089
2003-09-04Correct the behavior of __func__ for C++ special member functions.Matt Austern6-10/+145
* c-common.c (fname_as_string): Use lang_hooks.decl_printable_name with verbosity 0, instead of DECL_NAME, for human-readable string. * g++.dg/ext/fnname1.C: New test. (__func__ for C++.) * g++.dg/ext/fnname2.C: Likewise. * g++.dg/ext/fnname3.C: Likewise. From-SVN: r71088
2003-09-04targhooks.c (default_return_in_memory): Allow unconverted ports.Eric Christopher2-0/+9
2003-09-04 Eric Christopher <echristo@redhat.com> * targhooks.c (default_return_in_memory): Allow unconverted ports. From-SVN: r71085
2003-09-04re PR c++/12161 (ICE during bootstrap, locale-inst.c, cp/call.c: 4571)Geoffrey Keating3-0/+18
PR 12161 * decl2.c (mark_used): Use ggc_push_context/ggc_pop_context. * tree.c (cp_cannot_inline_tree_fn): Likewise. From-SVN: r71084
2003-09-04targhooks.c (default_return_in_memory): Fix typo in last checkin.Eric Christopher2-1/+6
2003-09-04 Eric Christopher <echristo@redhat.com> * targhooks.c (default_return_in_memory): Fix typo in last checkin. From-SVN: r71083
2003-09-04targhooks.c (default_return_in_memory): Fix default definition.Eric Christopher2-1/+6
2003-09-04 Eric Christopher <echristo@redhat.com> * targhooks.c (default_return_in_memory): Fix default definition. From-SVN: r71082
2003-09-04m68k.c (m68k_coff_asm_named_section): Restore deleted function.Bernardo Innocenti3-0/+33
* config/m68k/m68k.c (m68k_coff_asm_named_section): Restore deleted function. * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to enable coff-only code in m68k.c. From-SVN: r71081
2003-09-04Makefile.am: Remove build rules for ffitest.Andreas Tobler3-42/+17
2003-09-04 Andreas Tobler <a.tobler@schweiz.ch> * Makefile.am: Remove build rules for ffitest. * Makefile.in: Rebuilt. From-SVN: r71078
2003-09-04* configure.host: Removed erroneous comment.Tom Tromey2-1/+2
From-SVN: r71077
2003-09-04natEmbeddedWindow.cc (setWindowPeer): Removed lvalue cast; use correct ↵Tom Tromey2-1/+8
rvalue cast. * gnu/java/awt/natEmbeddedWindow.cc (setWindowPeer): Removed lvalue cast; use correct rvalue cast. From-SVN: r71076
2003-09-04misc.c: Include "target.h".Michael Matz3-1/+7
* misc.c: Include "target.h". * Make-lang.in (misc.o): Add dependency on target.h. From-SVN: r71074
2003-09-04sorry forgot the changelog.Andreas Tobler1-0/+5
From-SVN: r71073
2003-09-04java_raw_api.c: Include <stdlib.h> to fix compiler warning about implicit ↵Andreas Tobler1-0/+1
declaration of abort(). 2003-08-30 Andreas Tobler <a.tobler@schweiz.ch> * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning about implicit declaration of abort(). From-SVN: r71071
2003-09-04Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler1-3/+8
* include/Makefile.in: Built. From-SVN: r71070
2003-09-04*** empty log message ***Andreas Tobler58-0/+4385
From-SVN: r71069
2003-09-04003-09-04 Andreas Tobler <a.tobler@schweiz.ch>Andreas Tobler5-233/+395
* Makefile.am: Add dejagnu test framework. Fixes PR other/11411. * Makefile.in: Rebuilt. * configure.in: Add dejagnu test framework. * configure: Rebuilt. * testsuite/Makefile.am: New file. * testsuite/Makefile.in: Built * testsuite/lib/libffi-dg.exp: New file. * testsuite/config/default.exp: Likewise. * testsuite/libffi.call/call.exp: Likewise. * testsuite/libffi.call/ffitest.h: Likewise. * testsuite/libffi.call/closure_fn0.c: Likewise. * testsuite/libffi.call/closure_fn1.c: Likewise. * testsuite/libffi.call/closure_fn2.c: Likewise. * testsuite/libffi.call/closure_fn3.c: Likewise. * testsuite/libffi.call/cls_1_1byte.c: Likewise. * testsuite/libffi.call/cls_3_1byte.c: Likewise. * testsuite/libffi.call/cls_4_1byte.c: Likewise. * testsuite/libffi.call/cls_2byte.c: Likewise. * testsuite/libffi.call/cls_3byte1.c: Likewise. * testsuite/libffi.call/cls_3byte2.c: Likewise. * testsuite/libffi.call/cls_4byte.c: Likewise. * testsuite/libffi.call/cls_5byte.c: Likewise. * testsuite/libffi.call/cls_6byte.c: Likewise. * testsuite/libffi.call/cls_7byte.c: Likewise. * testsuite/libffi.call/cls_8byte.c: Likewise. * testsuite/libffi.call/cls_12byte.c: Likewise. * testsuite/libffi.call/cls_16byte.c: Likewise. * testsuite/libffi.call/cls_20byte.c: Likewise. * testsuite/libffi.call/cls_24byte.c: Likewise. * testsuite/libffi.call/cls_double.c: Likewise. * testsuite/libffi.call/cls_float.c: Likewise. * testsuite/libffi.call/cls_uchar.c: Likewise. * testsuite/libffi.call/cls_uint.c: Likewise. * testsuite/libffi.call/cls_ulonglong.c: Likewise. * testsuite/libffi.call/cls_ushort.c: Likewise. * testsuite/libffi.call/float.c: Likewise. * testsuite/libffi.call/float1.c: Likewise. * testsuite/libffi.call/float2.c: Likewise. * testsuite/libffi.call/many.c: Likewise. * testsuite/libffi.call/many_win32.c: Likewise. * testsuite/libffi.call/nested_struct.c: Likewise. * testsuite/libffi.call/nested_struct1.c: Likewise. * testsuite/libffi.call/pyobjc-tc.c: Likewise. * testsuite/libffi.call/problem1.c: Likewise. * testsuite/libffi.call/promotion.c: Likewise. * testsuite/libffi.call/return_ll.c: Likewise. * testsuite/libffi.call/return_sc.c: Likewise. * testsuite/libffi.call/return_uc.c: Likewise. * testsuite/libffi.call/strlen.c: Likewise. * testsuite/libffi.call/strlen_win32.c: Likewise. * testsuite/libffi.call/struct1.c: Likewise. * testsuite/libffi.call/struct2.c: Likewise. * testsuite/libffi.call/struct3.c: Likewise. * testsuite/libffi.call/struct4.c: Likewise. * testsuite/libffi.call/struct5.c: Likewise. * testsuite/libffi.call/struct6.c: Likewise. * testsuite/libffi.call/struct7.c: Likewise. * testsuite/libffi.call/struct8.c: Likewise. * testsuite/libffi.call/struct9.c: Likewise. * testsuite/libffi.special/special.exp: New file. * testsuite/libffi.special/ffitestcxx.h: Likewise. * testsuite/libffi.special/unwindtest.cc: Likewise. From-SVN: r71068
2003-09-04Add support for v850e1 processor - a variant of the v850e.Nick Clifton5-4/+44
From-SVN: r71063
2003-09-04Fix v850 multilibs so that there is only one copy of the default multilibNick Clifton4-3/+103
From-SVN: r71058
2003-09-04libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.Jakub Jelinek6-6/+40
* config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2. * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function. * unwind.h (_Unwind_GetBSP): New prototype. * libgcc-std.ver: Add empty GCC_3.3.2 version. * mkmap-symver.awk: For symbol versions with no exported symbols, don't put anything into version script, just change all symbol versions which inherit from it to inherit from its ancestor. From-SVN: r71057
2003-09-04mips.c (mips_expand_prologue): Convert to calls.struct_value_rtx hook.Eric Christopher4-29/+80
2003-09-04 Eric Christopher <echristo@redhat.com> * config/mips/mips.c (mips_expand_prologue): Convert to calls.struct_value_rtx hook. (reg_or_const_float_1_operand): New. * config/mips/mips.h: Update Comments. (mips_arg): Add reg_or_const_float_1_operand. * config/mips/mips.md (divdf3); Convert to expander. (divsf3): Ditto. (*divdf3): New pattern. (*divsf3): Ditto. From-SVN: r71056
2003-09-04cp-tree.h (finish_sizeof, [...]): Remove.Nathan Sidwell6-59/+68
cp: * cp-tree.h (finish_sizeof, finish_alignof): Remove. (expr_sizeof): Replace with ... (cxx_sizeof_or_alignof_expr): ... here. (cxx_sizeof_or_alignof_type): Make complain parameter a bool. * parser.c (cp_parser_unary_expression): Commonize alignof and sizeof handling. * pt.c (tsubst_copy_and_build): Adjust alignof and sizeof substitution. * semantics.c (finish_sizeof, finish_alignof): Remove. * typeck.c (cxx_sizeof_or_alignof_type): Complain parameter becomes bool. Set TREE_READONLY. (expr_sizeof): Replace with ... (cxx_sizeof_or_alignof_expr): ... here. Clear TREE_SIDE_EFFECTS. From-SVN: r71054
2003-09-04toplev.c (wrapup_global_declarations): Fix final pass in unit-at-atime mode.Jan Hubicka2-1/+6
* toplev.c (wrapup_global_declarations): Fix final pass in unit-at-atime mode. From-SVN: r71052
2003-09-04Remove cast-as-lvalue extension.Mark Mitchell10-86/+65
* call.c (build_conditional_expr): Correct formatting. (convert_like_real): Use lvalue_p, not non_cast_lvalue_p. (initialize_real): Use real_lvalue_p, not real_non_cast_lvalue_p. * cp-tree.h (non_cast_lvalue_p): Remove. (real_non_cast_lvalue_p): Remove. (non_cast_lvalue_or_else): Remove. * tree.c (lvalue_p_1): Remove allow_cast_as_lvalue parameter. (real_lvalue_p): Adjust call to lvalue_p_1. (non_cast_lvalue_p): Remove. (non_cast_lvalue_or_else): Remove. (lvalue_p): Adjust call to lvalue_p_1. (lvalue_or_else): Simplify. * typeck.c (build_unary_op): Use lvalue_or_else, not non_cast_lvalue_or_else. (build_static_cast): Use real_lvalue_p, not real_non_cast_lvalue_p. * doc/extend.texi: Document removal of cast-as-lvalue extension in C++. * g++.dg/expr/lval1.C: New test. * g++.dg/ext/lvcast.C: Remove. From-SVN: r71051
2003-09-04* gcc.c (process_command): Fix typo.Nicolas Roche2-1/+5
From-SVN: r71050
2003-09-04freebsd.h (SIZE_TYPE): Support TARGET_64BIT.David O'Brien2-3/+10
2003-09-03 David O'Brien <obrien@FreeBSD.org> optimization/11980 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT. (PTRDIFF_TYPE): Likewise. (WCHAR_TYPE_SIZE): Likewise. From-SVN: r71049
2003-09-03targhooks.c: New file.DJ Delorie43-555/+1112
* targhooks.c: New file. * targhooks.h: New file. * Makefile.in: Add targhooks.o support. (function.o): Depend on$(TARGET_H). (stmt.o): Likewise. (combine.o): Depend on $(TREE_H) and $(TARGET_H). * builtins.c (apply_args_size, expand_builtin_apply_args_1, expand_builtin_apply): Convert to calls.struct_value_rtx hook. (expand_builtin_saveregs): Convert to calls.expand_builtin_saveregs hook. * c-decl.c (start_decl): Handle new calls.promote_prototypes hook here, instead of ... (get_parm_info) ... here. (store_parm_decls_oldstyle): Convert to calls.promote_prototypes hook. (finish_function): Handle calls.promote_prototypes hook here too. * c-typeck.c (convert_arguments): Convert to calls.promote_prototypes hook. (c_convert_parm_for_inlining): Likewise. * calls.c (initialize_argument_information): Convert to calls.promote_function_args hook. (expand_call): Convert to calls.struct_value_rtx, calls.strict_argument_naming, calls.pretend_outgoing_varargs_named, and calls.promote_function_return hooks. Pass fndecl to aggregate_value_p. Initialize CUMULATIVE_ARGS before calling hooks, so they can use that. (emit_library_call_value_1): Likewise. * combine.c (setup_incoming_promotions): Convert to calls.promote_function_args hook. * emit-rtl.c: Convert to calls.struct_value_rtx hook. * expr.c (expand_assignment): Pass call to aggregate_value_p. (expand_expr): Likewise. * expr.h: Remove support for SETUP_INCOMING_VARARGS, STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED, RETURN_IN_MEMORY macro defaults. * final.c (profile_function): Convert to calls.struct_value_rtx hook. * function.c (aggregate_value_p): Accept function type tree as second parameter; try to deduce fntype from it. Convert to calls.return_in_memory hook. (assign_parms): Convert to calls.setup_incoming_varargs, calls.strict_argument_naming, calls.promote_function_args, calls.pretend_outgoing_varargs_named hooks. Pass fndecl to aggregate_value_p. (expand_function_start): Likewise. Convert to calls.struct_value_rtx hook. (expand_function_end): Convert to calls.promote_function_return hook. (allocate_struct_function): Pass fndecl to aggregate_value_p. * hard-reg-set.h: Update comments to new hook names. * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p. * reg-stack.c (stack_result): Likewise. * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete. * stmt.c (expand_value_return): Convert to calls.promote_function_return hook. * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY, TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS, TARGET_STRICT_ARGUMENT_NAMING, TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS. * target.h: Likewise. * tree.h (aggregate_value_p): Also takes a tree to deduce function attributes from (for target hooks). * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM, STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING, EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS, STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert to hooks. * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function to aggregate_value_p. * config/arm/arm.c (arm_init_cumulative_args, arm_output_mi_thunk): Likewise. * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter): Likewise. * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue, mips_can_use_return_insn): Likewise. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/s390/s390.c (s390_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to aggregate_value_p. * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass function to aggregate_value_p. * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to aggregate_value_p. * config/sh/sh-protos.h (sh_builtin_saveregs): Remove. (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg, sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c (sh_handle_renesas_attribute, sh_promote_prototypes, sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs, sh_setup_incoming_varargs, sh_strict_argument_naming, sh_pretend_outgoing_varargs_named): New decls. (targetm): Add new hooks. (calc_live_regs): Save MACL and MACH if the function has the renesas attribute. (sh_expand_prologue): Support renesas attribute. (sh_builtin_saveregs): Make static. (sh_build_va_list): Support renesas attribute. (sh_va_start): Likewise. (sh_va_arg): Likewise. (sh_promote_prototypes): New. (sh_function_arg): New, moved from sh.h. Support renesas attribute. (sh_function_arg_advance): Likewise. (sh_return_in_memory): Likewise. (sh_strict_argument_naming): Likewise. (sh_pretend_outgoing_varargs_named): Likewise. (sh_struct_value_rtx): New. (sh_attribute): Add renesas attribute. (sh_handle_renesas_attribute): New. (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New. (sh_ms_bitfield_layout_p): Support renesas attribute also. (sh_output_mi_thunk): Pass function to aggregate_value_p. * config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for -mhitachi. (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to target hooks. (sh_args): Add renesas_abi flag. (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p. (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c. (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the stack for the renesas abi. (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED, SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS, PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set call cookie to indicate renesas calls. * decl.c (finish_function): Pass fndecl to aggregate_value_p. * misc.c (default_pass_by_ref): Convert to calls.return_in_memory hook. From-SVN: r71048
2003-09-03gcse.c (replace_one_set): New function.Mostafa Hagog2-3/+46
* gcse.c (replace_one_set): New function. (pre_insert_copy_insn): Change the order of copying to make copy propagation discover additional PRE opportunities. From-SVN: r71047
2003-09-04re PR rtl-optimization/11700 ([M68K] ICE in subreg_hard_regno)Roger Sayle4-3/+50
PR optimization/11700. * simplify-rtx.c (simplify_subreg): Check that the subreg offset of a hard register is representable before trying to simplify it using subreg_hard_regno. * gcc.c-torture/compile/20030903-1.c: New test case. From-SVN: r71046
2003-09-04Daily bump.GCC Administrator2-2/+2
From-SVN: r71044
2003-09-04configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.Rainer Orth3-71/+58
* configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld. * configure: Regenerate. From-SVN: r71042
2003-09-04* intl.h (N_): Remove parentheses.Rainer Orth2-1/+5
From-SVN: r71041
2003-09-03re PR c++/12053 (ABI difference between default g++ 3.3 and g++ 3.2)Mark Mitchell4-1/+41
PR c++/12053 * class.c (include_empty_classes): Correct logic for ABI version 1. PR c++/12053 * g++.dg/abi/layout4.C: New test. From-SVN: r71036