Commit Graph

52871 Commits

Author SHA1 Message Date
Andrew Pinski 3f8dc57bd2 pretty2.C: Update for change in __FUNCTION__.
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-05 08:36:37 -07:00
Nick Clifton 70d651640a Oops - I forgot to commit the change to this file along with the v850e1 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-05 15:34:46 +00:00
Petur Runolfsson f1813b6972 re PR libstdc++/9028 (codecvt<wchar_t, char, mbstate_t> doesn't work on Red 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-05 12:55:33 +00:00
Nathan Sidwell 12483c9f2e re PR c++/11922 (ICE on type_unification_real)
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-05 08:38:44 +00:00
Nathan Sidwell 8e1daa3412 re PR c++/12037 (Spurious "statement has no effect" in templates)
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-05 08:24:28 +00:00
Jonathan Wakely 7976070c71 index.html: Note that a namespace alias can't be used when...
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-05 09:10:41 +01:00
Jan Hubicka 1f95c73329 opts.c (decode_options): Enable unit-at-a-time at -O2.
* 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-05 05:36:47 +00:00
Richard Henderson 8dafba3ca4 cgraph.c (cgraph_mark_reachable_node): Split out from ...
* 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 21:24:30 -07:00
DJ Delorie dd37c5a069 * targhooks.c: Add comment explaining the migration process.
From-SVN: r71103
2003-09-04 22:12:29 -04:00
Jeff Sturm 09edb09355 compile.exp: Test with -O3 rather than -O.
* libjava.compile/compile.exp: Test with -O3 rather than -O.
* libjava.lang/lang.exp: Likewise.

From-SVN: r71102
2003-09-05 01:54:21 +00:00
Jeff Sturm cf0aaf32c6 libjava.exp (libjava_arguments): Remove unneeded variables.
* lib/libjava.exp (libjava_arguments): Remove unneeded variables.
(test_libjava_from_source): Likewise.
(test_libjava_from_javac): Likewise.

From-SVN: r71101
2003-09-05 01:47:27 +00:00
DJ Delorie 3f571a7869 Remove duplicate entry, mention PR.
From-SVN: r71100
2003-09-04 20:46:06 -04:00
Eric Christopher 3922e7c1dd t-frv: Fix path for frv-abi.h.
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-05 00:26:26 +00:00
GCC Administrator a1d5dca45c Daily bump.
From-SVN: r71097
2003-09-05 00:16:08 +00:00
DJ Delorie 92f6864c06 builtins.c (apply_args_size): Guard against a NULL cfun.
* 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-04 19:03:50 -04:00
DJ Delorie dc94d89ef7 configure: Regenerate.
* configure: Regenerate.
* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.

From-SVN: r71094
2003-09-04 18:53:48 -04:00
Rainer Orth f6f5dff2e1 re PR target/12101 (i386 Solaris no longer works with GNU as?)
* 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-04 21:38:59 +00:00
Matt Austern 47ab33b220 Correct the behavior of __func__ for C++ special member functions.
* 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-04 21:32:48 +00:00
Eric Christopher be6acd4b3a targhooks.c (default_return_in_memory): Allow unconverted ports.
2003-09-04  Eric Christopher  <echristo@redhat.com>

	* targhooks.c (default_return_in_memory): Allow
	unconverted ports.

From-SVN: r71085
2003-09-04 20:04:44 +00:00
Geoffrey Keating 1a9861e629 re PR c++/12161 (ICE during bootstrap, locale-inst.c, cp/call.c: 4571)
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-04 19:48:22 +00:00
Eric Christopher 33d05111e7 targhooks.c (default_return_in_memory): Fix typo in last checkin.
2003-09-04  Eric Christopher  <echristo@redhat.com>

	* targhooks.c (default_return_in_memory): Fix typo
	in last checkin.

From-SVN: r71083
2003-09-04 19:41:00 +00:00
Eric Christopher ed75b1d6fc targhooks.c (default_return_in_memory): Fix default definition.
2003-09-04  Eric Christopher  <echristo@redhat.com>

	* targhooks.c (default_return_in_memory): Fix default
	definition.

From-SVN: r71082
2003-09-04 19:29:31 +00:00
Bernardo Innocenti 45849738cf m68k.c (m68k_coff_asm_named_section): Restore deleted function.
* 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-04 21:14:51 +02:00
Andreas Tobler 6f20d62741 Makefile.am: Remove build rules for ffitest.
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 19:21:51 +02:00
Tom Tromey 2e71d80930 * configure.host: Removed erroneous comment.
From-SVN: r71077
2003-09-04 16:59:22 +00:00
Tom Tromey 7f09034f0f natEmbeddedWindow.cc (setWindowPeer): Removed lvalue cast; use correct rvalue cast.
* gnu/java/awt/natEmbeddedWindow.cc (setWindowPeer): Removed
	lvalue cast; use correct rvalue cast.

From-SVN: r71076
2003-09-04 16:58:13 +00:00
Michael Matz 5f1e32fad7 misc.c: Include "target.h".
* misc.c: Include "target.h".
	* Make-lang.in (misc.o): Add dependency on target.h.

From-SVN: r71074
2003-09-04 15:12:49 +00:00
Andreas Tobler 226660aff3 sorry forgot the changelog.
From-SVN: r71073
2003-09-04 16:58:22 +02:00
Andreas Tobler d6e3ff272c java_raw_api.c: Include <stdlib.h> to fix compiler warning about implicit 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-04 16:53:26 +02:00
Andreas Tobler efaede1c73 Andreas Tobler <a.tobler@schweiz.ch>
* include/Makefile.in: Built.

From-SVN: r71070
2003-09-04 16:51:43 +02:00
Andreas Tobler 8a6b509ea8 *** empty log message ***
From-SVN: r71069
2003-09-04 16:49:22 +02:00
Andreas Tobler bbf3057bf9 003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
* 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-04 16:47:05 +02:00
Nick Clifton 232830b7fb Add support for v850e1 processor - a variant of the v850e.
From-SVN: r71063
2003-09-04 13:20:24 +00:00
Nick Clifton c490cc8991 Fix v850 multilibs so that there is only one copy of the default multilib
From-SVN: r71058
2003-09-04 11:50:08 +00:00
Jakub Jelinek bc93e287d0 libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
* 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-04 12:47:46 +02:00
Eric Christopher ec24a74030 mips.c (mips_expand_prologue): Convert to calls.struct_value_rtx hook.
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-04 09:55:33 +00:00
Nathan Sidwell 7a18b933f3 cp-tree.h (finish_sizeof, [...]): Remove.
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-04 09:36:20 +00:00
Jan Hubicka b379a5939d toplev.c (wrapup_global_declarations): Fix final pass in unit-at-atime mode.
* toplev.c (wrapup_global_declarations): Fix final pass in
	unit-at-atime mode.

From-SVN: r71052
2003-09-04 08:45:42 +00:00
Mark Mitchell d18a825116 Remove cast-as-lvalue extension.
* 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 07:16:43 +00:00
Nicolas Roche c5ef564beb * gcc.c (process_command): Fix typo.
From-SVN: r71050
2003-09-04 06:30:02 +00:00
David O'Brien 04b379ba09 freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
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-04 03:35:35 +00:00
DJ Delorie 61f71b3447 targhooks.c: New file.
* 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-03 23:18:05 -04:00
Mostafa Hagog b885908b11 gcse.c (replace_one_set): New function.
* 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-03 19:10:32 -07:00
Roger Sayle bcfb807527 re PR rtl-optimization/11700 ([M68K] ICE in subreg_hard_regno)
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-04 01:53:01 +00:00
GCC Administrator 2a3ef884df Daily bump.
From-SVN: r71044
2003-09-04 00:16:06 +00:00
Rainer Orth eb53bcc0a9 configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
* configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
	* configure: Regenerate.

From-SVN: r71042
2003-09-04 00:12:14 +00:00
Rainer Orth 9a57322b4f * intl.h (N_): Remove parentheses.
From-SVN: r71041
2003-09-04 00:04:02 +00:00
Mark Mitchell 43fe31f6f9 re PR c++/12053 (ABI difference between default g++ 3.3 and g++ 3.2)
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
2003-09-03 22:00:42 +00:00
Bernardo Innocenti 47fe5c480b config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
* config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
	* config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
	definition and code blocks compiled when not defined.
	* config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
	* config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
	* config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
	* config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.

From-SVN: r71035
2003-09-03 23:39:02 +02:00
Richard Henderson 19a42e516f optimize.c (optimize_function): Push/pop ggc context around the call to optimize_inline_calls.
* optimize.c (optimize_function): Push/pop ggc context around
        the call to optimize_inline_calls.

From-SVN: r71034
2003-09-03 14:38:26 -07:00