Janne Blomqvist [Sat, 20 Nov 2010 13:55:14 +0000 (15:55 +0200)]
Fix size_type_node and sizetype in Fortran frontend
From-SVN: r166976
Jakub Jelinek [Sat, 20 Nov 2010 12:14:48 +0000 (13:14 +0100)]
re PR debug/46561 (-fcompare-debug failure (length) with -O2 -ftree-vectorize -ftree-parallelize-loops)
PR debug/46561
* tree-parloops.c (try_create_redunction_list): Ignore debug stmts
when looking for immediate uses.
* gcc.dg/autopar/pr46561.c: New test.
From-SVN: r166975
Jakub Jelinek [Sat, 20 Nov 2010 08:15:33 +0000 (09:15 +0100)]
re PR c++/46538 (ICE: SIGSEGV in cp_make_fname_decl (decl.c:3690) on invalid code when using __PRETTY_FUNCTION__)
PR c++/46538
* decl.c (cp_make_fname_decl): Return error_mark_node if
current_binding_level has already sk_function_parms kind.
* g++.dg/other/error34.C: New test.
From-SVN: r166974
GCC Administrator [Sat, 20 Nov 2010 00:19:59 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r166972
Jakub Jelinek [Fri, 19 Nov 2010 23:50:21 +0000 (00:50 +0100)]
re PR c++/46526 (VTable Problem?)
PR c++/46526
* semantics.c (cxx_eval_call_expression): Unshare the result.
* g++.dg/cpp0x/constexpr-base3.C: New test.
From-SVN: r166967
Jakub Jelinek [Fri, 19 Nov 2010 23:48:57 +0000 (00:48 +0100)]
re PR tree-optimization/45830 (Code+rodata increase with -ftree-switch-conversion)
PR tree-optimization/45830
* stmt.c (expand_switch_using_bit_tests_p): New function.
(expand_case): Use it.
* tree.h (expand_switch_using_bit_tests_p): New prototype.
* tree-switch-conversion.c (struct switch_conv_info): Add
bit_test_uniq, bit_test_count and bit_test_bb fields.
(check_range): Fix a comment.
(check_process_case): Compute bit_test_uniq and bit_test_count.
(create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
allocation.
(free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
(constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
(array_value_type): New function.
(build_one_array): Use it, if it returned different type,
fold_convert all constructor fields and convert back to the
wider type in the generated code.
(process_switch): Initialize bit_test_uniq, bit_test_count and
bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p
returned true.
* gcc.target/i386/pr45830.c: New test.
* gcc.c-torture/execute/pr45830.c: New test.
From-SVN: r166966
Jakub Jelinek [Fri, 19 Nov 2010 23:44:47 +0000 (00:44 +0100)]
re PR c/46547 (internal compiler error when converting a complex to a bool)
PR c/46547
* objc-act.c (in_late_binary_op): Remove.
From-SVN: r166964
Nicola Pero [Fri, 19 Nov 2010 22:23:22 +0000 (22:23 +0000)]
In gcc/objc/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_start_class_interface): Do not warn that class
attributes are unimplemented. Pass the attributes to start_class.
(objc_start_category_interface): Updated call to start_class.
(objc_start_class_implementation): Same change.
(objc_start_category_implementation): Same change.
(objc_build_class_component_ref): Warn if the class is deprecated.
(build_private_template): Mark the template as deprecated if the
class is deprecated.
(start_class): Added 'attributes' argument. Emit a warning if
using a deprecated class as superclass of a class, or original
class of a category. Recognize the 'deprecated' attribute when
starting and interface, and mark the interface with
TREE_DEPRECATED if present. Store attributes in the interface.
In gcc/testsuite/:
2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/attributes/class-attribute-1.m: Rewritten.
* objc.dg/attributes/class-attribute-2.m: Same change.
* obj-c++.dg/attributes/class-attribute-1.mm: Same change.
* obj-c++.dg/attributes/class-attribute-2.mm: Same change.
* objc.dg/fobjc-std-1.m: Updated.
* obj-c++.dg/fobjc-std-1.mm: Updated.
From-SVN: r166963
Tobias Grosser [Fri, 19 Nov 2010 22:10:27 +0000 (22:10 +0000)]
* config/cloog.m4: Use AS_HELP_STRING and fix help formatting.
From-SVN: r166962
Ian Lance Taylor [Fri, 19 Nov 2010 21:57:25 +0000 (21:57 +0000)]
Move entry to correct ChangeLog file.
From-SVN: r166961
Ian Lance Taylor [Fri, 19 Nov 2010 21:54:25 +0000 (21:54 +0000)]
Move entry to correct ChangeLog.
From-SVN: r166960
Ian Lance Taylor [Fri, 19 Nov 2010 21:47:18 +0000 (21:47 +0000)]
configure.ac: Add target-libgo to target_libraries.
* configure.ac: Add target-libgo to target_libraries. Set
and substitute GOC_FOR_BUILD and GOC_FOR_TARGET.
* Makefile.tpl (BUILD_EXPORTS): Add GOC and GOCFLAGS.
(HOST_EXPORTS): Add GOC.
(BASE_TARGET_EXPORTS): Add GOC.
(GOC_FOR_BUILD, GOCFLAGS, GOC_FOR_TARGET): New variables.
(GOCFLAGS_FOR_TARGET): New variable.
(EXTRA_HOST_FLAGS): Add GOC.
(EXTRA_TARGET_FLAGS): Add GOC and GOCFLAGS.
* Makefile.def (target_modules): Add libgo.
(flags_to_pass): Add GOC_FOR_TARGET and GOCFLAGS_FOR_TARGET.
(dependencies): Add dependency from configure-target-libgo to
configure-target-libffi and all-target-libstdc++-v3. Add
dependencies from all-target-libgo to all-target-libffi.
(languages): Add go.
* configure: Rebuild.
* Makefile.in: Rebuild.
Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r166959
Michael Matz [Fri, 19 Nov 2010 20:56:27 +0000 (20:56 +0000)]
re PR tree-optimization/46077 (ICE in tree vectorization when compiling towns_audio.cpp from scummvm)
PR tree-optimization/46077
* tree-chrec.c (eq_evolutions_p): Accept some expressions.
testsuite/
PR tree-optimization/46077
* gcc.dg/vect/O3-pr46077.c: New testcase.
From-SVN: r166958
Ian Lance Taylor [Fri, 19 Nov 2010 20:25:49 +0000 (20:25 +0000)]
config-ml.in: Add Go support...
* config-ml.in: Add Go support: treat GOC and GOCFLAGS like other
compiler/flag environment variables.
From-SVN: r166956
Anatoly Sokolov [Fri, 19 Nov 2010 19:30:18 +0000 (22:30 +0300)]
mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
* config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
function.
(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
From-SVN: r166955
Joern Rennecke [Fri, 19 Nov 2010 19:22:27 +0000 (19:22 +0000)]
re PR target/46434 (crx-elf --enable-werror-always build fails)
PR target/46434
* config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
Index: config/crx/crx.c
===================================================================
--- config/crx/crx.c (revision 166609)
+++ config/crx/crx.c (working copy)
@@ -613,6 +613,8 @@ static int crx_addr_reg_p (rtx addr_reg)
return FALSE;
}
+ gcc_assert (REGNO (reg) != CC_REGNUM);
+
return TRUE;
}
@@ -1439,17 +1441,12 @@ crx_expand_prologue (void)
void
crx_expand_epilogue (void)
{
- rtx return_reg;
-
/* Nonzero if we need to return and pop only RA. This will generate a
* different insn. This differentiate is for the peepholes for call as last
* statement in function. */
int only_popret_RA = (save_regs[RETURN_ADDRESS_REGNUM]
&& (sum_regs == UNITS_PER_WORD));
- /* Return register. */
- return_reg = gen_rtx_REG (Pmode, RETURN_ADDRESS_REGNUM);
-
if (frame_pointer_needed)
/* Restore the stack pointer with the frame pointers value */
emit_move_insn (stack_pointer_rtx, frame_pointer_rtx);
From-SVN: r166954
Uros Bizjak [Fri, 19 Nov 2010 18:56:01 +0000 (19:56 +0100)]
mode-switching.c (optimize_mode_switching): Use FOR_BB_INSNS instead of open-coded for loop.
* mode-switching.c (optimize_mode_switching): Use
FOR_BB_INSNS instead of open-coded for loop.
* cfgrtl.c (redirect_branch_edge): Ditto.
From-SVN: r166953
Joern Rennecke [Fri, 19 Nov 2010 18:40:24 +0000 (18:40 +0000)]
re PR target/46436 (m68hc11-elf --enable-werror-always build fails)
PR target/46436
* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
to accomodate 32 bit HOST_WIDE_INT.
(m68hc11_emit_logical): Remove unused variable insn.
(m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
this_insn_uses_iy before use.
From-SVN: r166952
Joseph Myers [Fri, 19 Nov 2010 18:32:57 +0000 (18:32 +0000)]
re PR c/46547 (internal compiler error when converting a complex to a bool)
PR c/46547
* c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
* c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
c-family:
* c-common.c (in_late_binary_op): Define.
(c_common_truthvalue_conversion): Check in_late_binary_op before
calling c_save_expr.
* c-common.h (in_late_binary_op): Declare.
testsuite:
* gcc.c-torture/compile/pr46547-1.c: New test.
From-SVN: r166951
Rainer Orth [Fri, 19 Nov 2010 18:24:25 +0000 (18:24 +0000)]
gcc-defs.exp (gcc-set-multilib-library-path): Use eval to exec $compiler.
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Use eval to
exec $compiler.
* lib/gfortran.exp (gfortran_link_flags): Remove braces around
$GFORTRAN_UNDER_TEST.
(gfortran_init): Use -B to specify specpath, add trailing /.
From-SVN: r166950
Michael Meissner [Fri, 19 Nov 2010 17:27:18 +0000 (17:27 +0000)]
Add PowerPC target attribute/pragma support
From-SVN: r166947
Joseph Myers [Fri, 19 Nov 2010 13:30:38 +0000 (13:30 +0000)]
common.opt (debug_struct_ordinary, [...]): New Variable entries.
* common.opt (debug_struct_ordinary, debug_struct_generic): New
Variable entries.
* dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
should_emit_struct_debug): Move from opts.c.
* flag-types.h (enum debug_struct_file): Move from opts.c.
* flags.h (should_emit_struct_debug): Remove.
(base_of_path): Declare.
(set_struct_debug_option): Add gcc_options parameter.
* optc-gen.awk, opth-gen.awk: Handle array variables.
* opts.c (enum debug_struct_file, debug_struct_ordinary,
debug_struct_generic): Remove.
(set_struct_debug_option): Add gcc_options parameter.
(base_of_path): Remove static.
(main_input_basename, main_input_baselength, matches_main_base,
dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
Remove.
* toplev.c (main_input_basename, main_input_baselength): Define
here.
* toplev.h (main_input_basename, main_input_baselength): Declare
here.
c-family:
* c-opts.c (c_common_handle_option): Update calls to
set_struct_debug_option.
From-SVN: r166944
Joseph Myers [Fri, 19 Nov 2010 13:27:18 +0000 (13:27 +0000)]
common.opt (flag_instrument_functions_exclude_functions, [...]): New Variable definitions.
* common.opt (flag_instrument_functions_exclude_functions,
flag_instrument_functions_exclude_files): New Variable
definitions.
* flags.h (flag_instrument_functions_exclude_p): Don't declare.
* gimplify.c (char_p): Declare type and vectors.
(flag_instrument_functions_exclude_p): Moved from opts.c. Make
static.
* opts.c (flag_instrument_functions_exclude_functions,
flag_instrument_functions_exclude_files): Remove.
(add_comma_separated_to_vector): Take void **.
(flag_instrument_functions_exclude_p): Move to gimplify.c.
(common_handle_option): Use options structure for
-finstrument-functions-exclude- options.
From-SVN: r166943
Joseph Myers [Fri, 19 Nov 2010 13:25:39 +0000 (13:25 +0000)]
options.texi (Var): Document effects of Defer.
* doc/options.texi (Var): Document effects of Defer.
(Defer): Document.
* opt-functions.awk (var_type, var_set): Handle deferred options.
* opts-common.c (set_option): Handle CLVC_DEFER.
* common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
fstack-limit-symbol=): Mark as deferred.
* opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
plugin.h.
(print_filtered_help): Don't report state of CLVC_DEFER options.
(common_handle_option): Move code for OPT_fcall_used_,
OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
OPT_fstack_limit_symbol_ to opts-global.c.
(option_enabled, get_option_state): Handle CLVC_DEFER.
* opts.h: Include vec.h.
(enum cl_var_type): Add CLVC_DEFER.
(cl_deferred_option): Define type and vectors.
(handle_common_deferred_options): Declare.
* opts-global.c: New.
* toplev.c (toplev_main): Call handle_common_deferred_options
* Makefile.in (OPTS_H): Include $(VEC_H).
(OBJS-common): Include opts-global.o.
(opts.o): Update dependencies.
(opts-global.o): Add dependencies.
From-SVN: r166942
Nicola Pero [Fri, 19 Nov 2010 12:46:09 +0000 (12:46 +0000)]
Fixed email in my last ChangeLog entry
From-SVN: r166940
Nicola Pero [Fri, 19 Nov 2010 12:29:45 +0000 (12:29 +0000)]
In gcc/: 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/:
2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
* c-parser.c (c_parser_objc_protocol_definition): Pass attributes
to objc_declare_protocols.
In gcc/c-family/:
2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
* c-common.h (objc_declare_protocols): Added additional argument.
* stub-objc.c (objc_declare_protocol): Same change.
In gcc/cp/:
2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
* parser.c (cp_parser_objc_protocol_declaration): Pass attributes
to objc_declare_protocols.
In gcc/objc/:
2010-11-19 Nicola Pero <nicola@nicola.brainstorm.co.uk>
* objc-act.c (lookup_protocol): Added 'warn_if_deprecated'
argument. If it is 'true' and the protocol is deprecated, emit a
deprecation warning.
(objc_start_protocol): Do not warn that protocol attributes are
unimplemented. Pass the attributes to start_protocol.
(start_protocol): Added attributes argument. Recognize the
'deprecated' attribute and mark the protocols with TREE_DEPRECATED
if present. Store attributes in the protocol.
(objc_declare_protocols): Added 'attributes' argument. Recognize
the 'deprecated' attribute and mark the protocols with
TREE_DEPRECATED if present. Store attributes in the protocol.
Updated call to lookup_protocol.
(objc_build_protocol_expr): Updated call to lookup_protocol.
(check_protocol_recursively): Same change.
(lookup_and_install_protocols): Same change.
* objc-act.h: Updated comments.
In gcc/testsuite/:
2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/attributes/proto-attribute-1.m: Updated.
* objc.dg/attributes/proto-attribute-2.m: New.
* objc.dg/attributes/proto-attribute-3.m: New.
* obj-c++.dg/attributes/proto-attribute-1.mm: Updated.
* obj-c++.dg/attributes/proto-attribute-2.mm: New.
* obj-c++.dg/attributes/proto-attribute-3.mm: New.
From-SVN: r166938
Rainer Orth [Fri, 19 Nov 2010 12:13:13 +0000 (12:13 +0000)]
Makefile.am (libquadmath_la_LIBADD): Move -lm ...
* Makefile.am (libquadmath_la_LIBADD): Move -lm ...
(libquadmath_la_LDFLAGS): ... here.
(quadmath.map-sun): Tabify.
Fix sed expression.
* Makefile.in: Regenerate.
From-SVN: r166937
Richard Guenther [Fri, 19 Nov 2010 11:57:21 +0000 (11:57 +0000)]
re PR lto/45789 (ICE: tree code 'lang_type' is not supported in gimple streams with -flto when using __builtin_printf())
2010-11-19 Richard Guenther <rguenther@suse.de>
PR lto/45789
* lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
IDENTIFIERs do not stream TREE_TYPE.
* lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
From-SVN: r166936
Christian Borntraeger [Fri, 19 Nov 2010 11:51:01 +0000 (11:51 +0000)]
s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
From-SVN: r166935
Eric Botcazou [Fri, 19 Nov 2010 10:03:12 +0000 (10:03 +0000)]
* gcc.dg/lto/20090210_1.c: Do not pass -fPIC on the SPARC.
From-SVN: r166934
Eric Botcazou [Fri, 19 Nov 2010 09:16:39 +0000 (09:16 +0000)]
* gcc.dg/tree-ssa/
20040204-1.c: Do not XFAIL on the SPARC.
From-SVN: r166933
Jakub Jelinek [Fri, 19 Nov 2010 07:22:22 +0000 (08:22 +0100)]
re PR target/45870 (note: non-delegitimized UNSPEC 5 found (-O1 -g))
PR target/45870
* dwarf2out.c (const_ok_for_output_1): Don't complain about
non-delegitimized TLS UNSPECs.
From-SVN: r166932
Jack Howarth [Fri, 19 Nov 2010 02:15:54 +0000 (02:15 +0000)]
darwin-c.c (darwin_additional_format_types): Export.
2010-11-18 Jack Howarth <howarth@bromo.med.uc.edu>
Ian Lance Taylor <iant@google.com>
* config/darwin-c.c (darwin_additional_format_types): Export.
Co-Authored-By: Ian Lance Taylor <iant@google.com>
From-SVN: r166930
Paul Koning [Fri, 19 Nov 2010 01:58:41 +0000 (20:58 -0500)]
pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame pointer.
* config/pdp11/pdp11.h (FIRST_PARM_OFFSET): Fix case of no frame
pointer.
From-SVN: r166929
Paul Koning [Fri, 19 Nov 2010 01:57:00 +0000 (20:57 -0500)]
pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
* config/pdp11/pdp11.md (abshi2): Delete TARGET_ABSHI_BUILTIN.
* config/pdp11/pdp11.c (TARGET_DEFAULT_TARGET_FLAGS): Ditto.
* config/pdp11/pdp11.opt (-mabshi): Delete.
From-SVN: r166928
Mingjie Xing [Fri, 19 Nov 2010 01:51:07 +0000 (01:51 +0000)]
Fix typo in the comment.
From-SVN: r166927
GCC Administrator [Fri, 19 Nov 2010 00:21:30 +0000 (00:21 +0000)]
Daily bump.
From-SVN: r166926
Steve Ellcey [Thu, 18 Nov 2010 23:50:26 +0000 (23:50 +0000)]
slp-reduc-3.c: Make check dependent on vect_unpack.
2010-11-18 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/vect/slp-reduc-3.c: Make check dependent on vect_unpack.
* gcc.dg/vect/slp-reduc-6.c: Ditto, plus add alignment.
From-SVN: r166922
Uros Bizjak [Thu, 18 Nov 2010 23:46:13 +0000 (00:46 +0100)]
re PR target/46546 (ix86_pad_returns may leave BB_END (bb) pointing to deleted insn)
PR target/46546
* config/i386/i386.c (ix86_reorg): Call compute_bb_for_insn.
From-SVN: r166921
Richard Henderson [Thu, 18 Nov 2010 21:08:38 +0000 (13:08 -0800)]
re PR middle-end/46515 (Many libjava failures)
PR middle-end/46515
* function.c (maybe_copy_prologue_epilogue_insn): Rename from
maybe_copy_epilogue_insn; handle prologue insns as well.
* rtl.h, cfglayout.c: Update for rename.
* recog.c (peep2_attempt): Copy prologue/epilogue data for
RTX_FRAME_RELATED_P insns.
From-SVN: r166920
Quentin Neill [Thu, 18 Nov 2010 20:56:26 +0000 (20:56 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2010-11-18 Quentin Neill <quentin.neill.gnu@gmail.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r166919
Jakub Jelinek [Thu, 18 Nov 2010 20:51:19 +0000 (21:51 +0100)]
re PR middle-end/46534 (ICE optimizing printf ("...>10MBstring\n") into puts)
PR middle-end/46534
* builtins.c (fold_builtin_printf): Don't copy and modify string
before build_string_literal, instead modify what
build_string_literal returned.
* gcc.c-torture/compile/pr46534.c: New test.
From-SVN: r166918
Jonathan Wakely [Thu, 18 Nov 2010 18:56:29 +0000 (18:56 +0000)]
re PR libstdc++/46455 (resource leaks due to missing destructors for mutexes and condvars)
2010-11-18 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/46455
* include/std/mutex: Define destructors for mutex types which use an
init function.
* include/ext/concurrence.h: Likewise.
From-SVN: r166917
Eric Botcazou [Thu, 18 Nov 2010 18:48:54 +0000 (18:48 +0000)]
decl.c (gnat_to_gnu_entity): Also use return-by-invisible-reference if the return type is By_Reference.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Also
use return-by-invisible-reference if the return type is By_Reference.
Tidy up and skip the processing of the return type if it is void.
From-SVN: r166916
Ian Lance Taylor [Thu, 18 Nov 2010 17:44:11 +0000 (17:44 +0000)]
configure.ac: Check for lang_requires_boot_languages in config-lang.in files.
* configure.ac: Check for lang_requires_boot_languages in
config-lang.in files.
* configure: Rebuild.
From-SVN: r166914
Paolo Carlini [Thu, 18 Nov 2010 17:26:59 +0000 (17:26 +0000)]
2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
Fix typo in the last ChangeLog entry.
From-SVN: r166913
Paolo Carlini [Thu, 18 Nov 2010 17:21:35 +0000 (17:21 +0000)]
PR libstdc++/26211 + N3168
2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/26211 + N3168
* include/bits/istream.tcc (basic_istream<>::tellg, seekg(pos_type),
seekg(off_type, ios_base::seekdir)): Construct a sentry.
(basic_istream<>::tellg, seekg(pos_type), seekg(off_type,
ios_base::seekdir, putback, unget)): Clear eofbit first, per N3168.
* testsuite/27_io/basic_istream/seekg/char/26211.cc: New.
* testsuite/27_io/basic_istream/seekg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/26211.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/char/8348.cc: Tweak.
* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
From-SVN: r166911
Richard Henderson [Thu, 18 Nov 2010 16:41:53 +0000 (08:41 -0800)]
* gcc.target/i386/pr46470.c: Skip for 32-bit PIC.
From-SVN: r166910
Nathan Froyd [Thu, 18 Nov 2010 16:24:56 +0000 (16:24 +0000)]
re PR c/33193 (slopiness in __real/__imag)
gcc/
PR c/33193
* c-typeck.c (build_unary_op): Call build_real_imag_expr for
REALPART_EXPR and IMAGPART_EXPR.
gcc/c-family/
PR c/33193
* c-common.h (build_real_imag_expr): Declare.
* c-semantics.c (build_real_imag_expr): Define.
gcc/cp/
PR c/33193
* typeck.c (cp_build_unary_op): Call build_real_imag_expr for
REALPART_EXPR and IMAGPART_EXPR.
gcc/testsuite/
PR c/33193
* c-c++-common/pr33193.c: New test.
From-SVN: r166909
Richard Guenther [Thu, 18 Nov 2010 15:17:37 +0000 (15:17 +0000)]
re PR tree-optimization/46172 (ICE: in expand_widen_pattern_expr, at optabs.c:522 with -ftree-vectorize -fno-tree-dce)
2010-11-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46172
* tree-vect-loop-manip.c (remove_dead_stmts_from_loop): New
function.
(slpeel_tree_peel_loop_to_edge): Call it.
* gcc.dg/torture/pr46172.c: New testcase.
From-SVN: r166908
Jeff Law [Thu, 18 Nov 2010 14:34:29 +0000 (07:34 -0700)]
re PR middle-end/46297 (gfortran.dg/g77/980701-0.f FAILs with -Os -fno-asynchronous-unwind-tables)
PR middle-end-optimization/46297
* postreload.c (reload_combine_note_store): Deal with embedded
side effects in MEM expressions.
* gfortran.dg/pr46297.f: New test.
From-SVN: r166905
Richard Guenther [Thu, 18 Nov 2010 14:11:00 +0000 (14:11 +0000)]
re PR lto/45089 (-Os -g -fwhopr dwarf2out ICE)
2010-11-18 Richard Guenther <rguenther@suse.de>
PR lto/45089
* dwarf2out.c (add_AT_die_ref): Work around LTO losing types
when checking is not enabled.
From-SVN: r166904
H.J. Lu [Thu, 18 Nov 2010 13:24:00 +0000 (13:24 +0000)]
Update expected demangler output.
2010-11-18 H.J. Lu <hongjiu.lu@intel.com>
PR other/42670
* testsuite/abi/demangle/regression/cw-13.cc: Updated.
From-SVN: r166903
Richard Guenther [Thu, 18 Nov 2010 13:10:40 +0000 (13:10 +0000)]
re PR lto/46525 (Failed to bootstrap-lto)
2010-11-18 Richard Guenther <rguenther@suse.de>
PR lto/46525
* gimple.c (gimple_register_type): Update TYPE_MAIN_VARIANT of
type leaders.
(gimple_register_canonical_type): Also cache the canoncial type
for non type leaders.
From-SVN: r166902
Richard Guenther [Thu, 18 Nov 2010 11:19:20 +0000 (11:19 +0000)]
lto-wrapper.c (run_gcc): Fix -flto=N parsing.
2010-11-18 Richard Guenther <rguenther@suse.de>
* lto-wrapper.c (run_gcc): Fix -flto=N parsing.
From-SVN: r166901
Paolo Carlini [Thu, 18 Nov 2010 11:03:14 +0000 (11:03 +0000)]
formatter.h (__truth): Remove, unused.
2010-11-18 Paolo Carlini <paolo.carlini@oracle.com>
* include/debug/formatter.h (__truth): Remove, unused.
(__is_same): Remove, include cpp_type_traits.h instead.
(_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
_Is_iterator)): Adjust.
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant):
Likewise.
From-SVN: r166900
Alexander Monakov [Thu, 18 Nov 2010 10:24:31 +0000 (13:24 +0300)]
re PR middle-end/46518 (internal compiler error: in vinsn_detach, at sel-sched-ir.c:1271)
PR middle-end/46518
* sel-sched-ir.c (init_expr): Use the correct type for
target_available.
* sel-sched.c (fill_vec_av_set): Use explicitly signed char type.
From-SVN: r166898
Joakim Tjernlund [Thu, 18 Nov 2010 08:32:58 +0000 (09:32 +0100)]
sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic as well as -mrelocatable at the same time.
2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
as well as -mrelocatable at the same time.
From-SVN: r166897
Ian Lance Taylor [Thu, 18 Nov 2010 07:35:34 +0000 (07:35 +0000)]
re PR bootstrap/45538 (--enable-build-with-cxx compiling gcc/libcpp/charset.c)
PR bootstrap/45538
* configure.ac: Use AC_USE_SYSTEM_EXTENSIONS. Remove switch of
AC_LANG based on ENABLE_BUILD_WITH_CXX.
From-SVN: r166896
Nicola Pero [Thu, 18 Nov 2010 02:11:33 +0000 (02:11 +0000)]
ivars.c: Include stdlib.h.
2010-11-18 Nicola Pero <nicola.pero@meta-innovation.com>
* ivars.c: Include stdlib.h.
* protocols.c: Same change.
From-SVN: r166895
GCC Administrator [Thu, 18 Nov 2010 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r166894
Quentin Neill [Thu, 18 Nov 2010 00:10:35 +0000 (00:10 +0000)]
re PR testsuite/46422 (FAIL: g++.dg/other/i386-?.C)
Fix PR target/46422.
2010-11-17 Quentin Neill <quentin.neill.gnu@gmail.com>
PR target/46422
* config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
Call the clz builtin.
From-SVN: r166889
Steve Ellcey [Wed, 17 Nov 2010 22:55:01 +0000 (22:55 +0000)]
re PR middle-end/31490 (Compile error section type conflict)
2010-11-17 Steve Ellcey <sje@cup.hp.com>
PR middle-end/31490
* gcc.dg/pr31490.c: New test.
From-SVN: r166888
Dinar Temirbulatov [Wed, 17 Nov 2010 22:54:05 +0000 (01:54 +0300)]
re PR middle-end/31490 (Compile error section type conflict)
2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
Steve Ellcey <sje@cup.hp.com>
PR middle-end/31490
* varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
if section attribute used.
Co-Authored-By: Steve Ellcey <sje@cup.hp.com>
From-SVN: r166887
François Dumont [Wed, 17 Nov 2010 21:33:50 +0000 (22:33 +0100)]
testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): Clean built exe.
From-SVN: r166881
Jan Hubicka [Wed, 17 Nov 2010 21:11:24 +0000 (22:11 +0100)]
builtins.c (expand_builtin_mathfn_2, [...]): Do not expand errno setting variant when optimizing for size.
* builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
expand errno setting variant when optimizing for size.
From-SVN: r166879
Eric Botcazou [Wed, 17 Nov 2010 21:10:19 +0000 (21:10 +0000)]
postreload.c (reload_combine): Call control_flow_insn_p only once.
* postreload.c (reload_combine): Call control_flow_insn_p only once.
Reverse backward loop. Fix formatting issues.
From-SVN: r166878
Uros Bizjak [Wed, 17 Nov 2010 20:35:46 +0000 (21:35 +0100)]
nop.h: Move from ...
* gcc.dg/nop.h: Move from ...
* gcc.dg/guality/nop.h: ... here.
* gcc.dg/lto/
20091216-1_0.c: Include nop.h and use NOP macro.
* gcc.dg/guality/asm-1.c: Update nop.h include.
* gcc.dg/guality/pr43329-1.c: Ditto.
From-SVN: r166877
Paolo Bonzini [Wed, 17 Nov 2010 18:17:17 +0000 (18:17 +0000)]
c-parser.c (c_token_is_qualifier, [...]): New.
2010-11-17 Paolo Bonzini <bonzini@gnu.org>
* c-parser.c (c_token_is_qualifier,
c_parser_next_token_is_qualifier): New.
(c_parser_declaration_or_fndef, c_parser_struct_declaration):
Improve error message on specs->tagdef_seen_p.
(c_parser_struct_or_union_specifier): Improve error recovery.
(c_parser_declspecs): Move exit condition on C_ID_ID early.
Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
using c_parser_next_token_is_qualifier; extend it to cover
a ctsk_tagdef typespec and !typespec_ok in general.
testsuite:
2010-11-17 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/two-types-1.c: New test.
* gcc.dg/two-types-2.c: New test.
* gcc.dg/two-types-3.c: New test.
* gcc.dg/two-types-4.c: New test.
* gcc.dg/two-types-5.c: New test.
* gcc.dg/two-types-6.c: New test.
* gcc.dg/two-types-7.c: New test.
* gcc.dg/two-types-8.c: New test.
* gcc.dg/two-types-9.c: New test.
* gcc.dg/two-types-10.c: New test.
* objc.dg/two-types-1.m: New test.
From-SVN: r166874
Richard Guenther [Wed, 17 Nov 2010 15:56:41 +0000 (15:56 +0000)]
value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
2010-11-17 Richard Guenther <rguenther@suse.de>
* value-prof.c (gimple_divmod_fixed_value_transform): Update
the stmt.
(gimple_mod_pow2_value_transform): Likewise.
(gimple_mod_subtract_transform): Likewise.
From-SVN: r166871
Richard Guenther [Wed, 17 Nov 2010 15:47:17 +0000 (15:47 +0000)]
re PR lto/46504 (LTO failed on 483.xalancbmk in SPEC CPU 2006)
2010-11-17 Richard Guenther <rguenther@suse.de>
PR lto/46504
* gimple.c (gimple_register_canonical_type): Make sure to only
make type leaders canonical types.
From-SVN: r166870
Michael Matz [Wed, 17 Nov 2010 15:18:08 +0000 (15:18 +0000)]
timevar.def (TV_IPA_OPT, [...]): New.
* timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
* tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
(pass_build_ssa): ... but here.
* cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
* tree-emutls.c (pass_ipa_lower_emutls): Ditto.
* df-core.c (pass_df_initialize_opt,
pass_df_initialize_no_opt): Ditto.
* predict.c (rebuild_frequencies): Ditto.
* tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
* emit-rtl.c (verify_rtl_sharing): Ditto.
* tree-cfgcleanup.c (repair_loop_structures): Ditto.
* tree-ssa-live.c (remove_unused_locals): Ditto.
* cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
* tree-ssa.c (pass_early_warn_uninitialized,
execute_update_addresses_taken, pass_update_address_taken): Ditto.
* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
* passes.c (pass_postreload, execute_todo): Ditto.
* tree-ssanames.c (pass_release_ssa_names): Ditto.
From-SVN: r166869
Joseph Myers [Wed, 17 Nov 2010 14:31:07 +0000 (14:31 +0000)]
invoke.texi (-dy): Remove.
* doc/invoke.texi (-dy): Remove.
* langhooks-def.h (lhd_do_nothing_i): Don't declare.
(LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
* langhooks.c (lhd_do_nothing_i): Remove.
* langhooks.h (lang_hooks.parse_file): Take no arguments.
* toplev.c (set_yydebug): Remove.
(compile_file): Update call to lang_hooks.parse_file.
(decode_d_option): Don't handle -dy.
ada:
* gcc-interface/misc.c (gnat_parse_file): Take no arguments.
c-family:
* c-opts.c (c_common_parse_file): Take no arguments.
* c-common.h (c_common_parse_file): Update prototype.
fortran:
* f95-lang.c (gfc_be_parse_file): Take no arguments.
java:
* jcf-parse.c (java_parse_file): Take no arguments.
* java-tree.h (java_parse_file): Update prototype.
lto:
* lto.c (lto_main): Take no arguments.
* lto.h (lto_main): Update prototype.
From-SVN: r166868
Jakub Jelinek [Wed, 17 Nov 2010 13:02:31 +0000 (14:02 +0100)]
re PR rtl-optimization/46440 (ICE: in rtl_verify_flow_info, at cfgrtl.c:2165 with -fstack-protector-all -fno-tree-dominator-opts -fno-tree-fre)
PR rtl-optimization/46440
* combine.c (update_cfg_for_uncondjump): When changing
an indirect jump into unconditional jump, remove BARRIERs
from bb's footer.
* gcc.dg/pr46440.c: New test.
From-SVN: r166867
Joseph Myers [Wed, 17 Nov 2010 12:21:39 +0000 (12:21 +0000)]
opts.c (target_handle_option): Do not assert that loc == UNKNOWN_LOCATION.
* opts.c (target_handle_option): Do not assert that loc ==
UNKNOWN_LOCATION.
From-SVN: r166866
Jakub Jelinek [Wed, 17 Nov 2010 12:05:24 +0000 (13:05 +0100)]
re PR testsuite/45429 (gcc.dg/vect/no-section-anchors-vect-64.c)
PR testsuite/45429
* gcc.dg/vect/no-section-anchors-vect-64.c: New test.
From-SVN: r166865
Eric Botcazou [Wed, 17 Nov 2010 12:00:15 +0000 (12:00 +0000)]
trans.c (addressable_p): Rewrite obsolete paragraph in head comment.
* gcc-interface/trans.c (addressable_p): Rewrite obsolete paragraph in
head comment.
From-SVN: r166864
Jakub Jelinek [Wed, 17 Nov 2010 11:15:55 +0000 (12:15 +0100)]
re PR middle-end/45838 (FAIL: libgomp.c/pr34513.c execution test)
PR middle-end/45838
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
call_may_clobber_ref_p_1): Return true for __sync_* and some
OpenMP builtins that act as threading barriers.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r166863
Richard Guenther [Wed, 17 Nov 2010 10:43:21 +0000 (10:43 +0000)]
re PR tree-optimization/46498 (ICE: in eliminate_unnecessary_stmts, at tree-ssa-dce.c:1112 with -O -funsafe-math-optimizations -fno-tree-dominator-opts -fno-tree-reassoc)
2010-11-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46498
* tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
From-SVN: r166861
Ira Rosen [Wed, 17 Nov 2010 10:00:27 +0000 (10:00 +0000)]
re PR tree-optimization/46312 (gcc.dg/vec-scal-opt2.c fails for ARM targets.)
PR tree-optimization/46312
* gcc.dg/vect/vect-scal-opt2.c: Rename to...
* gcc.dg/vect/vec-scal-opt2.c: ... this. Expect to pass only
on targets that support vector shifts with scalar shift
argument.
Remove dg-options.
* gcc.dg/vect/vect-scal-opt.c: Rename to...
* gcc.dg/vect/vec-scal-opt.c: ... this, and change likewise.
* gcc.dg/vect/vect-scal-opt1.c: Rename to...
* gcc.dg/vect/vec-scal-opt1.c: ... this, and change likewise.
* gcc.dg/vect/vect.exp: Run vec-scal-* tests with relevant
flags.
* gcc.dg/vect/vect-114.c: Expect to pass only on targets that
support misaligned data accesses.
* gcc.dg/vect/pr43432.c, gcc.dg/vect/vect-15.c: Likewise.
* gcc.dg/vect/pr43430-2.c: Remove dg-options.
* lib/target-supports.exp
(check_effective_target_vect_shift_scalar): New.
From-SVN: r166860
Jakub Jelinek [Wed, 17 Nov 2010 09:16:06 +0000 (10:16 +0100)]
nop.h: New file.
* gcc.dg/guality/nop.h: New file.
* gcc.dg/guality/asm-1.c: Include it and use NOP macro instead of
"nop". Adjust line numbers in gdb-test.
* gcc.dg/guality/pr43329-1.c: Likewise.
From-SVN: r166859
Nathan Froyd [Wed, 17 Nov 2010 03:18:19 +0000 (03:18 +0000)]
xtensa.c (function_arg_boundary): Really rename to...
* config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
(xtensa_function_arg_boundary): ...this.
* config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
thinko in declaration.
(picochip_function_arg, picochip_arg_partial_bytes): Pass proper
number of parameters to picochip_function_arg_boundary.
(picochip_arg_advance): Likewise.
From-SVN: r166853
Jason Merrill [Wed, 17 Nov 2010 01:43:19 +0000 (20:43 -0500)]
call.c (convert_like_real): Don't make a temp for copy-list-init.
* call.c (convert_like_real): Don't make a temp for copy-list-init.
(build_over_call): Don't handle that here.
(build_new_method_call): Use COMPLETE_OR_OPEN_TYPE_P for error.
From-SVN: r166852
Jason Merrill [Wed, 17 Nov 2010 01:43:10 +0000 (20:43 -0500)]
re PR c++/46497 ([C++0x] Defaulted vs declared move constructor vs is_convertible)
PR c++/46497
* call.c (build_over_call): Check for =delete even when trivial.
From-SVN: r166851
Jason Merrill [Wed, 17 Nov 2010 01:43:02 +0000 (20:43 -0500)]
DR 1004
DR 1004
* decl.c (make_unbound_class_template): Handle using
injected-type-name as template.
From-SVN: r166850
Nathan Froyd [Wed, 17 Nov 2010 01:41:13 +0000 (01:41 +0000)]
re PR target/46512 (crtstuff.c:563:1: internal compiler error: Segmentation fault)
PR target/46512
* config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
under check for type.
From-SVN: r166849
Ian Lance Taylor [Wed, 17 Nov 2010 01:03:06 +0000 (01:03 +0000)]
simple-object.h (simple_object_attributes_merge): Declare, replacing simple_object_attributes_compare.
include/:
* simple-object.h (simple_object_attributes_merge): Declare,
replacing simple_object_attributes_compare.
libiberty/:
* simple-object.c (simple_object_attributes_merge): Rename from
simple_object_attributes_compare. Call merge field.
* simple-object-common.h (struct simple_object_functions): Rename
attributes_compare field to attribute_merge.
* simple-object-elf.c (EM_SPARC): Define.
(EM_SPARC32PLUS): Define.
(simple_object_elf_attributes_merge): Renamed from
simple_object_elf_attributes_compare. Permit EM_SPARC and
EM_SPARC32PLUS objects to be merged.
(simple_object_elf_functions): Update function name.
* simple-object-coff.c (simple_object_coff_attributes_merge):
Rename from simple_object_coff_attributes_compare.
(simple_object_coff_functions): Update function name.
* simple-object-mach-o.c (simple_object_mach_o_attributes_merge):
Renamed from simple_object_mach_o_attributes_compare.
(simple_object_mach_o_functions): Update function name.
gcc/lto/:
* lto-object.c (lto_obj_file_open): Call
simple_object_attributes_merge rather than
simple_object_attributes_compare.
From-SVN: r166848
Nicola Pero [Wed, 17 Nov 2010 01:01:49 +0000 (01:01 +0000)]
In gcc/objc/: 2010-11-17 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-17 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (lookup_method_in_protocol_list): Search methods in
PROTOCOL_OPTIONAL_CLS_METHODS / PROTOCOL_OPTIONAL_NST_METHODS if
they are not found in PROTOCOL_CLS_METHODS / PROTOCOL_NST_METHODS.
In gcc/testsuite/:
2010-11-17 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/protocol-optional-1.m: New.
* obj-c++.dg/protocol-optional-1.mm: New.
From-SVN: r166847
GCC Administrator [Wed, 17 Nov 2010 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r166844
Eric Botcazou [Tue, 16 Nov 2010 23:29:15 +0000 (23:29 +0000)]
* ifcvt.c (dead_or_predicable): Fix typo.
From-SVN: r166839
Richard Henderson [Tue, 16 Nov 2010 23:24:53 +0000 (15:24 -0800)]
s390: -mfused-madd cleanup
* config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
* config/s390/s390.opt (mfused-madd): Remove.
* config/s390/s390.c (s390_rtx_costs): Handle FMA.
(TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
* config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
(fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
From-SVN: r166838
Richard Henderson [Tue, 16 Nov 2010 23:19:44 +0000 (15:19 -0800)]
rs6000: -mfused-madd cleanup
* config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
* config/rs6000/rs6000.opt (mfused-madd): Remove.
* config/rs6000/altivec.md (altivec_vmaddfp): Remove.
(*altivec_vmaddfp_1): Remove.
(*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
(altivec_mulv4sf3): Expand to FMA directly.
(*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
(*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
* config/rs6000/paired.md (paired_madds0): Use FMA.
(paired_madds1): Likewise.
(*paired_madd): Rename from paired_madd; use FMA.
(*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
consider TARGET_FUSED_MADD wrt rs6000_recip_control.
(bdesc_3arg): Update CODE_FOR_* for pattern renames.
(rs6000_emit_madd): Use fma_optab.
(rs6000_emit_msub): Use fms_optab.
(rs6000_emit_nmsub): Expand the FMA pattern directly.
* config/rs6000/rs6000.md (FMA_F): New mode iterator.
(*fmasf4_fpr): Rename from fmasf4_fpr.
(*nfmasf4_fpr): Rename from *fnmasf4_fpr.
(*nfmssf4_fpr): Rename from *fnmssf4_fpr.
(*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
(*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
(*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
(*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
(*fmadf4_fpr): Rename from fmadf4_fpr.
(*nfmadf4_fpr): Rename from *fnmadf4_fpr.
(*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
(*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
(*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
(fmasf4, fmadf4): Macroize into...
(fma<FMA_F>4): ... here.
(fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
(nfma<FMA_F>4, nfms<FMA_F>4): New.
* config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
TARGET_FUSED_MADD.
* config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
(*vsx_fmadd<mode>4_1): Remove.
(vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
(vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
(vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
(*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
(*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
(*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
(*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
testsuite/
* gcc.target/powerpc/ppc-fma-2.c: Use -ffp-contract=off.
* gcc.target/powerpc/ppc-fma-4.c: Likewise.
From-SVN: r166837
Richard Henderson [Tue, 16 Nov 2010 22:56:06 +0000 (14:56 -0800)]
pa: Use the FMA rtx code.
* config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
(fmasf4, fnmadf4, fnmasf4): Likewise.
(unnamed plus+mult insns and splitters): Delete.
From-SVN: r166834
Richard Henderson [Tue, 16 Nov 2010 22:47:27 +0000 (14:47 -0800)]
spu: Use the FMA rtx code.
* config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
(fnma<VSF>4): Rename from fnms_<VSF>.
(fms<VSF>4): Rename from fms_<VSF>.
(fma<VDF>4): Rename from fma_<VDF>.
(fms<VDF>4): Rename from fms_<VDF>.
(nfma<VDF>4): Rename from fnma_<VDF>.
(nfms<VDF>4): Rename from fnms_<VDF>.
(fnma<VDF>4, fnms<VDF>4): New expanders.
(floatunsdisf2): Update for the renames.
(*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
* config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
From-SVN: r166833
Eric Botcazou [Tue, 16 Nov 2010 22:30:19 +0000 (22:30 +0000)]
re PR rtl-optimization/46490 (ACATS
c460007 fails at -O2 or above)
PR rtl-optimization/46490
* combine.c (expand_compound_operation): Fix thinko.
From-SVN: r166830
Richard Henderson [Tue, 16 Nov 2010 22:22:13 +0000 (14:22 -0800)]
re PR target/46470 ("add $0x8,%rsp" no longer optimized to pop)
PR target/46470
* recog.c (peep2_attempt): Convert frame-related info when possible.
(peep2_fill_buffer): Allow frame-related insns into the buffer.
(peephole2_optimize): Allow peep2_attempt to fail.
From-SVN: r166829
Eric Botcazou [Tue, 16 Nov 2010 22:13:52 +0000 (22:13 +0000)]
re PR rtl-optimization/46315 (-O2 -fno-strict-overflow causes wrong code generation)
PR rtl-optimization/46315
* rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
* rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
extracted from...
* dce.c (delete_corresponding_reg_eq_notes): ...here. Rename into...
(remove_reg_equal_equiv_notes_for_defs): ...this.
(delete_unmarked_insns): Adjust to above renaming.
* ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
referring to registers set in the insns being moved, if any.
* df-core.c (df_ref_dump): New function extracted from...
(df_refs_chain_dump): ...here. Call it.
(df_regs_chain_dump): Likewise.
* df-problems.c (df_chain_dump): Print 'e' for uses in notes.
* df-scan.c (df_scan_start_dump): Likewise. Fix long line.
From-SVN: r166827
Joern Rennecke [Tue, 16 Nov 2010 21:46:28 +0000 (21:46 +0000)]
re PR java/46386 (negative shift count in build_constants_constructor for 16 bit pointer targets)
2010-11-09 Joern Rennecke <amylaar@spamcop.net>
Andrew Haley <aph@redhat.com>
PR java/46386
gcc/java:
* constants.c (build_constants_constructor): Avoid negative shift.
gcc:
* config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
* config/t-pnt16-warn (java/constants.o-warn): Likewise.
Co-Authored-By: Andrew Haley <aph@redhat.com>
From-SVN: r166826
Francois-Xavier Coudert [Tue, 16 Nov 2010 21:23:19 +0000 (21:23 +0000)]
re PR fortran/32049 (Support on x86_64 also kind=16)
/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* Makefile.def: Add libquadmath; build it with language=fortran.
* configure.ac: Add libquadmath.
* Makefile.tpl: Handle multiple libs in check-[+language+].
* Makefile.in: Regenerate.
* configure: Regenerate.
libquadmath/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
Initial implementation and checkin.
gcc/fortran/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* gfortranspec.c (find_spec_file): New function.
(lang_specific_driver): Try to find .spec file and use it.
* trans-io.c (iocall): Define
* IOCALL_X_REAL128/COMPLEX128(,write).
(gfc_build_io_library_fndecls): Build decl for __float128 I/O.
(transfer_expr): Call __float128 I/O functions.
* trans-types.c (gfc_init_kinds): Allow kind-16 belonging
to __float128.
gcc/testsuite/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* gfortran.dg/quad_1.f90: New.
* lib/gcc-defs.exp (gcc-set-multilib-library-path): Use also
compiler arguments.
* lib/gfortran.exp (gfortran_link_flags): Add libquadmath to
library search path; call gcc-set-multilib-library-path with
arguments such that libgfortran.spec is found.
(gfortran_init): Add path for libgfortran.spec to
GFORTRAN_UNDER_TEST.
libgomp/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* configure.ac:
* configure: Regenerate.
libgfortran/
2010-11-13 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Tobias Burnus <burnus@net-b.de>
PR fortran/32049
* Makefile.am: Add missing pow_r16_i4.c, add transfer128.c,
link libquadmath, if used.
* acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Add.
* configure.ac: Use it, touch spec file.
* gfortran.map: Add pow_r16_i4 and
transfer_(real,complex)128(,write) functions.
* intrinsics/cshift0.c (cshift0): Handle __float128 type.
* intrinsics/erfc_scaled_inc.c: Ditto.
* intrinsics/pack_generic.c (pack): Ditto
* intrinsics/spread_generic.c (spread): Ditto.
* intrinsics/unpack_generic.c (unpack1): Ditto.
* io/read.c (convert_real): Ditto.
* io/transfer.c: Update comments.
* io/transfer128.c: New file.
* io/write_float.def (write_float): Handle __float128 type.
* libgfortran.h: #include quadmath_weak.h, define __builtin_infq
and nanq.
* m4/mtype.m4: Handle __float128 type.
* runtime/in_pack_generic.c (internal_pack): Ditto.
* runtime/in_unpack_generic.c (internal_unpack): Ditto.
* kinds-override.h: New file.
* libgfortran.spec.in: Ditto.
* generated/pow_r16_i4.c: Generated.
* Makefile.in: Regenerate.
* configure: Regenerate.
* config.h: Regenerate.
* bessel_r10.c: Regenerate.
* bessel_r16.c: Regenerate.
* bessel_r4.c: Regenerate.
* bessel_r8.c: Regenerate.
* exponent_r16.c: Regenerate.
* fraction_r16.c: Regenerate.
* nearest_r16.c: Regenerate.
* norm2_r10.c: Regenerate.
* norm2_r16.c: Regenerate.
* norm2_r4.c: Regenerate.
* norm2_r8.c: Regenerate.
* rrspacing_r16.c: Regenerate.
* set_exponent_r16.c: Regenerate.
* spacing_r16.c: Regenerate.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r166825
Jakub Jelinek [Tue, 16 Nov 2010 20:49:57 +0000 (21:49 +0100)]
re PR c++/46401 (very slow compile time with -Wsequence-point)
PR c++/46401
* c-common.c (warning_candidate_p): Don't track non-const calls
or STRING_CSTs.
* g++.dg/warn/Wsequence-point-3.C: New test.
From-SVN: r166823