Kaveh R. Ghazi [Fri, 13 Oct 2006 21:15:54 +0000 (21:15 +0000)]
Revert:
* gcc.dg/builtins-config.h: Ensure we use -std=c99 on solaris2.
* gcc.dg/torture/builtin-convert-1.c,
gcc.dg/torture/builtin-convert-2.c,
gcc.dg/torture/builtin-convert-3.c,
gcc.dg/torture/builtin-power-1.c: Use -std=c99 on solaris2.
* gcc.dg/builtins-18.c: Always use link_error(), which is
prototyped.
Revert Backport:
2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/builtins-config.h (Solaris case): Define HAVE_C99_RUNTIME
if _STDC_C99 is defined.
* gcc.dg/builtins-18.c: Pass -std=c99 on Solaris.
* gcc.dg/builtins-20.c: Likewise.
Steve Ellcey [Mon, 9 Oct 2006 18:26:35 +0000 (18:26 +0000)]
re PR target/28490 (ICE in ia64_expand_move, at config/ia64/ia64.c:1088)
PR target/28490
Backport from mainline
2006-09-15 Jim Wilson <wilson@specifix.com>
2006-09-19 Steve Ellcey <sje@cup.hp.com>
* config/ia64/ia64.c (ia64_legitimate_constant_p): Allow function
pointers as legitimate constants. Handle symbol offsets same as
they are handled in ia64_expand_move and move_operand.
Kaveh R. Ghazi [Sun, 8 Oct 2006 05:31:15 +0000 (05:31 +0000)]
builtins-config.h: Ensure we use -std=c99 on solaris2.
* gcc.dg/builtins-config.h: Ensure we use -std=c99 on solaris2.
* gcc.dg/torture/builtin-convert-1.c,
gcc.dg/torture/builtin-convert-2.c,
gcc.dg/torture/builtin-convert-3.c,
gcc.dg/torture/builtin-power-1.c: Use -std=c99 on solaris2.
* gcc.dg/builtins-18.c: Always use link_error(), which is
prototyped.
Backport:
2006-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
* gcc.dg/builtins-config.h (Solaris case): Define HAVE_C99_RUNTIME
if _STDC_C99 is defined.
* gcc.dg/builtins-18.c: Pass -std=c99 on Solaris.
* gcc.dg/builtins-20.c: Likewise.
inclhack.def (solaris_mutex_init_2): Update for Solaris9.
* inclhack.def (solaris_mutex_init_2): Update for Solaris9.
Prevent it from running on solaris10 or later.
(solaris_once_init_2): Fix comment.
* tests/base/pthread.h: Update.
Roger Sayle [Tue, 19 Sep 2006 21:25:28 +0000 (21:25 +0000)]
re PR middle-end/4520 (cselib.c hash_rtx incorrectly hashes based on rtx address)
PR middle-end/4520
Backport from mainline
* cselib.c (cselib_hash_rtx): Avoid hashing on the address of labels
and symbols. Instead use the implementation from cse.c's hash_rtx.
Eric Botcazou [Wed, 13 Sep 2006 21:24:04 +0000 (23:24 +0200)]
re PR other/23541 (All error messages produce segfault)
PR other/23541
PR other/26507
Backport from gettext repository:
2003-09-04 Bruno Haible <bruno@clisp.org>
* dgettext.c: Include <locale.h> after gettextP.h, not before. This
ensures that libintl_dcgettext is correctly declared on Solaris.
(Needed because Solaris <locale.h> includes libintl.h.)
* dngettext.c: Likewise, for the libintl_dcngettext declaration.
Eric Botcazou [Sun, 10 Sep 2006 21:28:39 +0000 (23:28 +0200)]
re PR rtl-optimization/28636 (Miscompiled loop)
PR rtl-optimization/28636
* combine.c (force_to_mode): Test for side-effects before
substituting by zero.
(simplify_shift_const): Likewise for zero or other constants.
re PR target/29006 (Incorrect zeroing of unaligned 64-bit fields on MIPS targets)
gcc/
PR target/29006
* config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
* config/mips/mips.c (mips_expand_unaligned_store): Use the mode
returned by mode_for_size, rather than the mode of src itself,
to choose between 32-bit and 64-bit patterns.
(mips_mem_fits_mode_p): New function.
* config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
that the size of the source matches the size of the destination.
(mov_<store>l, mov_<store>r): Likewise.
gcc/testsuite/
PR target/29006
* gcc.c-torture/execute/pr29006.c: New test.
Jason Merrill [Thu, 7 Sep 2006 22:38:03 +0000 (18:38 -0400)]
re PR c++/26195 (pragma interface no longer handles explicit names)
PR c++/26195
* decl.c (make_rtl_for_nonlocal_decl),
(start_preparsed_function): Don't use lbasename on
input_filename when calling get_fileinfo.
* semantics.c (begin_class_definition): Likewise.
* lex.c (cxx_make_type): Likewise.
(handle_pragma_interface): Call get_fileinfo on input_filename,
not on the parameter to the directive.
PR c++/26696
* cvt.c (convert_to_void): Replace a subexpression with no side
effects with void_zero_node.
* tree.c (is_overloaded_fn): Look through COMPONENT_REF.
(get_first_fn): Ditto.
* decl.c (grokdeclarator): No need to look through COMPONENT_REF.
PR c++/26571
* parser.c (cp_parser_diagnose_invalid_type_name): Handle the case
where the name is a type used incorrectly.
PR c++/26671
* typeck.c (maybe_warn_about_returning_address_of_local): Look
through COMPONENT_REF and ARRAY_REF.
PR c++/19809
* pt.c (tsubst_friend_function): Set DECL_INITIAL before pushdecl.