Joern Rennecke [Fri, 12 Nov 2010 20:07:34 +0000 (20:07 +0000)]
re PR target/46438 (xtensa-elf --enable-werror-always build fails)
PR target/46438
* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use LCT_NORMAL.
(xtensa_setup_frame_addresses, xtensa_trampoline_init): Likewise.
(xtensa_function_arg_1): De-constify cum.
(xtensa_expand_prologue): Use add_reg_note.
From-SVN: r166672
Joern Rennecke [Fri, 12 Nov 2010 19:35:17 +0000 (19:35 +0000)]
re PR target/46437 (mcore-elf --enable-werror-always build fails)
PR target/46437
* config/mcore/mcore.c (layout_mcore_frame): Remove unused variable
localreg.
From-SVN: r166671
Tobias Grosser [Fri, 12 Nov 2010 18:29:37 +0000 (18:29 +0000)]
Fix typo
* config/cloog.m4: Fix typo. verison -> version.
* configure: Regenerate.
From-SVN: r166670
Tobias Grosser [Fri, 12 Nov 2010 18:29:27 +0000 (18:29 +0000)]
Pass PPL libraries to CLooG version check
* config/cloog.m4: Pass ppl libraries to the CLooG version check.
* configure: Regenerate.
From-SVN: r166669
Eric Botcazou [Fri, 12 Nov 2010 18:17:41 +0000 (18:17 +0000)]
function.c (expand_function_end): Set the locator of the prologue on the stack checking insns.
* function.c (expand_function_end): Set the locator of the prologue on
the stack checking insns.
From-SVN: r166668
James Dennett [Fri, 12 Nov 2010 18:00:21 +0000 (18:00 +0000)]
re PR c++/39415 (static_cast used as downcast can silently lose const)
PR c++/39415
* typeck.c (build_static_cast_1): Convert to the target type
when doing static_cast<cv Derived*>(Base*).
From-SVN: r166667
Richard Henderson [Fri, 12 Nov 2010 17:53:36 +0000 (09:53 -0800)]
xtensa: Convert to fma.
* config.gcc [xtensa] (extra_options): Add fused-madd.opt.
* config/xtensa/xtensa.opt (mfused-madd): Remove.
* config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
MASK_FUSED_MADD.
* config/xtensa/xtensa.md (fmasf4): Rename from muladdsf3; use
* fma.
(fnmasf4): Rename from mulsubsf3; use fma.
From-SVN: r166666
Joern Rennecke [Fri, 12 Nov 2010 17:46:02 +0000 (17:46 +0000)]
re PR target/46450 (xstormy16-elf --enable-werror-always build fails)
PR target/46450
* config/stormy16/stormy16.c (xstormy16_expand_prologue):
Use add_reg_note.
(xstormy16_function_arg): Dereference cum.
(xstormy16_expand_builtin): Use expand_normal.
Change type of omode to enum machine_mode.
(combine_bnp): Rename and to and_insn.
From-SVN: r166665
Joern Rennecke [Fri, 12 Nov 2010 17:43:21 +0000 (17:43 +0000)]
re PR target/46428 (moxie-elf --enable-werror-always build fails)
PR target/46428
* config/moxie/moxie.c (moxie_expand_prologue): Remove unused variables.
* config/moxie/moxie.h (HARD_REGNO_OK_FOR_BASE_P): Use unsigned
comparison.
Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r166664
Joern Rennecke [Fri, 12 Nov 2010 17:34:04 +0000 (17:34 +0000)]
re PR target/46431 (fr30-elf --enable-werror-always build fails)
PR target/46431
* config/fr30/fr30.md (*movsf_constant_store): Remove duplicated
assignment.
From-SVN: r166663
Joern Rennecke [Fri, 12 Nov 2010 17:24:16 +0000 (17:24 +0000)]
re PR middle-end/44769 (warning for split_double when HOST_BITS_PER_WIDE_INT < BITS_PER_WORD)
PR middle-end/44769
* final.c (split_double): Don't use BITS_PER_WORD directly in
shift count.
From-SVN: r166662
Joern Rennecke [Fri, 12 Nov 2010 17:15:18 +0000 (17:15 +0000)]
re PR target/46412 (bfin-elf --enable-werror-always build fails)
PR target/46412
* config/bfin/bfin-protos.h (bfin_local_alignment): Update prototype.
* config/bfin/bfin.c: Include sel-sched.h .
(bfin_cpus): Use BFIN_CPU_UNKNOWN for last initializer element.
(expand_interrupt_handler_prologue): Remove unused variable insn.
(bfin_load_pic_reg): Likewise.
(bfin_rtx_costs): Make code / outer_code variables of type
enum rtx_code, copied from re-named parameters.
(bfin_local_alignment): Change align argument and return type
to unsigned.
(bfin_adjust_cost): Remove unused variable insn_type.
Declare variables at start of block.
(struct loop_info): Rename to...
(struct loop_info_d).
(workaround_rts_anomaly): Change type of icode to int.
(harmless_null_pointer_p): Cast REGNO (..) to int before comparison
with int-typed variable.
(note_np_check_stores): Likewise.
(trapping_loads_p): Remove unused variable pat.
(bfin_expand_binop_builtin): Use expand_normal.
(bfin_expand_unop_builtin): Likewise.
(bfin_expand_builtin): Likewise.
Set tmode before use.
From-SVN: r166661
Joern Rennecke [Fri, 12 Nov 2010 17:11:06 +0000 (17:11 +0000)]
re PR bootstrap/44756 ([meta-bug] --enable-werror-always issues)
PR bootstrap/44756
PR build/44767
* doc/tm.texi.in (LOCAL_ALIGNMENT): State that the type, if any,
should be unsigned.
(STACK_SLOT_ALIGNMENT, LOCAL_DECL_ALIGNMENT, PUSH_ROUNDING): Likewise.
* doc/tm.texi: Regenerate.
From-SVN: r166660
Pat Haugen [Fri, 12 Nov 2010 16:36:36 +0000 (16:36 +0000)]
opts-common.c (decode_cmdline_option): Initialize separate_args.
* opts-common.c (decode_cmdline_option): Initialize separate_args.
From-SVN: r166658
Jan Hubicka [Fri, 12 Nov 2010 16:29:10 +0000 (17:29 +0100)]
invoke.texi (early-inlining-insns): Update default.
* doc/invoke.texi (early-inlining-insns): Update default.
* params.def (early-inlining-insns): Default to 10.
From-SVN: r166657
Olivier Hainque [Fri, 12 Nov 2010 16:04:12 +0000 (16:04 +0000)]
aix.h: #undef TARGET_AIX_OS before #define.
* config/rs6000/aix.h: #undef TARGET_AIX_OS before #define.
From-SVN: r166654
Joern Rennecke [Fri, 12 Nov 2010 13:20:28 +0000 (13:20 +0000)]
re PR rtl-optimization/46433 (var-tracking.c doesn't include tm_p.h)
PR rtl-optimization/46433
* var-tracking.c: Include tm_p.h .
From-SVN: r166651
Rainer Orth [Fri, 12 Nov 2010 10:55:34 +0000 (10:55 +0000)]
gcc:
* config/mips/iris6.h [!IRIX_USING_GNU_LD]
(SUPPORTS_INIT_PRIORITY): Define.
gcc/testsuite:
* lib/prune.exp (prune_gcc_output): Ignore IRIX 6 linker multiline
warning.
* g++.dg/abi/packed1.C (struct INNER): Ignore warning on
mips-sgi-irix*.
* g++.dg/cpp/_Pragma1.C: Skip on mips-sgi-irix*.
* gcc.target/mips/call-3.c: Add dg-require-visibility.
From-SVN: r166648
Joern Rennecke [Fri, 12 Nov 2010 10:09:39 +0000 (10:09 +0000)]
re PR target/46430 (avr-elf --enable-werror-always build fails)
PR target/46430
* config/avr/avr-protos.h (avr_return_addr_rtx): Update prototype.
* config/avr/driver-avr.c (avr_device_to_arch): Always return value.
(avr_device_to_data_start, avr_device_to_startfiles): Likewise.
(avr_device_to_devicelib): Likewise.
* config/avr/avr.md (zero_extendqihi2): Put variable declarations
into block.
(zero_extendqisi2, zero_extendhisi2, zero_extendqidi2): Likewise.
(zero_extendhidi2, zero_extendsidi2): Likewise.
* config/avr/avr.c (avr_num_arg_regs): Constify type.
(avr_return_addr_rtx): De-constify tem.
(avr_rotate_bytes): Move declarations to start of block.
Don't use variable length array.
Put nested if/else into block.
From-SVN: r166647
Eric Botcazou [Fri, 12 Nov 2010 09:57:20 +0000 (09:57 +0000)]
re PR debug/46375 (-fcompare-debug failure (length) with -O -fgcse -fno-tree-dominator-opts)
PR debug/46375
* emit-rtl.c (remove_insn): Do not mark BBs upon debug insns.
From-SVN: r166646
Rodrigo Rivas Costa [Fri, 12 Nov 2010 09:06:37 +0000 (09:06 +0000)]
re PR lto/46376 (LTO, MinGW and virtual base classes don't work together)
2010-11-11 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
PR lto/46376
* lto-symtab.c (lto_symtab_resolve_replaceable_p): Use DECL_ONE_ONLY.
From-SVN: r166645
Nathan Froyd [Fri, 12 Nov 2010 03:38:15 +0000 (03:38 +0000)]
re PR c/44782 (implement -ferror-limit=)
gcc/
PR c/44782
* common.opt (fmax-errors=): New option.
* opts.c (common_handle_option) [OPT_fmax_errors_]: Handle it.
* diagnostic.h (struct diagnostic_context): Add max_errors field.
* diagnostic.c (diagnostic_initialize): Initialize it.
(diagnostic_action_after_output): Exit if more than max_errors
have been output.
* doc/invoke.texi (Warning Options): Add -fmax-errors.
(-fmax-errors): Document.
gcc/fortran/
PR c/44782
* options.c (gfc_post_options): Initialize gfc_option.max_errors.
(gfc_handle_option) [OPT_fmax_errors_]: Remove.
* lang.opt (fmax-errors=): Remove.
gcc/testsuite/
PR c/44782
* c-c++-common/fmax-errors.c: New test.
From-SVN: r166644
Richard Henderson [Fri, 12 Nov 2010 01:10:12 +0000 (17:10 -0800)]
* optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
From-SVN: r166643
Richard Henderson [Fri, 12 Nov 2010 01:07:49 +0000 (17:07 -0800)]
i386: Convert from -mfused-madd to -ffp-contract.
* config/fused-madd.opt: New file.
* config.gcc [i386-*, x86_64-*] (extra_options): Use it.
* config/i386/i386.c (ix86_extra_costs): Handle FMA.
(TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
* config/i386/i386.opt (mfused-madd): Remove.
* config/i386/sse.md (split_fma): Remove.
(split_fms, split_fnma, split_fnms): Remove.
From-SVN: r166642
GCC Administrator [Fri, 12 Nov 2010 00:18:31 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r166641
Jan Hubicka [Fri, 12 Nov 2010 00:08:14 +0000 (01:08 +0100)]
* gcc.dg/tree-ssa/inline-6.c: Fix testcase.
From-SVN: r166637
Jan Hubicka [Fri, 12 Nov 2010 00:00:36 +0000 (01:00 +0100)]
inline-5.c: Fix testcase.
* gcc.dg/tree-ssa/inline-5.c: Fix testcase.
* gcc.dg/tree-ssa/inline-6.c: Remove bogus testcase.
From-SVN: r166636
Jakub Jelinek [Thu, 11 Nov 2010 23:51:18 +0000 (00:51 +0100)]
re PR target/46088 (ICE: SIGSEGV in ix86_binary_operator_ok (i386.c:15025) with -Os -fnon-call-exceptions -fpeel-loops)
PR target/46088
* config/i386/i386.md (*ashl<mode>3_cconly,
*<shiftrt_insn><mode>3_cconly): Don't use ix86_binary_operator_ok,
change nonimmediate_operand predicate to register_operand.
* gcc.dg/pr46088.c: New test.
From-SVN: r166635
Paolo Bonzini [Thu, 11 Nov 2010 23:44:44 +0000 (23:44 +0000)]
Makefile.in (gengtype-lex.c): Include bconfig.h first.
2010-11-11 Paolo Bonzini <bonzini@gnu.org>
* Makefile.in (gengtype-lex.c): Include bconfig.h first.
From-SVN: r166634
Steven G. Kargl [Thu, 11 Nov 2010 23:34:05 +0000 (23:34 +0000)]
symbol.c (verify_bind_c_derived_type): Accept BIND(C) on an empty derived type.
2010-11-10 Steven G. Kargl <kargl@gcc.gnu.org>
* symbol.c (verify_bind_c_derived_type): Accept BIND(C) on an empty
derived type.
2010-11-10 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/empty_derived_type.f90: New test.
From-SVN: r166633
Jan Hubicka [Thu, 11 Nov 2010 23:29:45 +0000 (00:29 +0100)]
opts.c (finish_options): Do not error on -flto-partition alone.
* opts.c (finish_options): Do not error on -flto-partition alone.
* options.c (gfc_post_options): Remove flag_whopr.
From-SVN: r166632
Tobias Burnus [Thu, 11 Nov 2010 23:07:23 +0000 (00:07 +0100)]
re PR fortran/46413 ([OOP] ICE when printing a polymorphic type)
2010-11-11 Tobias Burnus <burnus@net-b.de>
PR fortran/46413
* resolve.c (resolve_transfer): Reject I/O transfer of
polymorphic type.
PR fortran/46205
* resolve.c (resolve_code): Reject nonscalar FORALL masks.
2010-11-11 Tobias Burnus <burnus@net-b.de>
PR fortran/46413
* gfortran.dg/class_31.f90: New.
PR fortran/46205
* gfortran.dg/forall_14.f90: New.
From-SVN: r166631
Jan Hubicka [Thu, 11 Nov 2010 23:06:25 +0000 (00:06 +0100)]
* config/bootstrap-lto: Use -flto.
From-SVN: r166630
Jakub Jelinek [Thu, 11 Nov 2010 23:02:03 +0000 (00:02 +0100)]
re PR fortran/46325 (gfortran.dg/char_initialiser_actual.f90 FAILs with -fstack-protector)
2010-11-11 Jakub Jelinek <jakub@redhat.com>
Tobias Burnus <burnus@net-b.de>
PR fortran/46325
* gfortran.dg/char_initialiser_actual.f90: Make test case valid.
Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r166628
Jan Hubicka [Thu, 11 Nov 2010 22:54:53 +0000 (23:54 +0100)]
invoke.texi (-fwhopr): Merge into -flto section.
* doc/invoke.texi (-fwhopr): Merge into -flto section.
(-flto-partition): Document none.
* gcc.c (LINK_COMMAND_SPEC): Remove -fwhopr.
* lto-wrapper.c: Update comment.
(run_gcc): Update LTO option parsing.
* opts.c (finish_options): add support -flto-partition=none
(common_handle_option): Remove fwhopr.
* common.opt: Turn fwhopr into flto.
* collect2.c (main): Update option handling.
* cgraphunit.c (cgraph_decide_is_function_needed): Remove flag_whopr.
* ipa-split.c (execute_split_functions): Remove flag_whopr.
* ipa.c (function_and_variable_visibility): Remove flag_whopr.
* ipa-prop.c (ipa_compute_jump_functions): Remove flag_whopr.
* varpool.c (decide_is_variable_needed): Remove flag_whopr.
* gcc.dg/
20081223-1.c: Update LTO options.
* gcc.dg/lto/
20090206-1_0.c: Update LTO options.
* gcc.dg/lto/20081118_0.c: Update LTO options.
* gcc.dg/lto/ipareference_0.c: Update LTO options.
* gcc.dg/lto/
20100423-2_0.c: Update LTO options.
* gcc.dg/lto/
20081201-1_0.c: Update LTO options.
* gcc.dg/lto/ipacp_0.c: Update LTO options.
* gcc.dg/lto/20090116_0.c: Update LTO options.
* gcc.dg/lto/
20091015-1_0.c: Update LTO options.
* gcc.dg/lto/
20090126-2_0.c: Update LTO options.
* gcc.dg/lto/
20081202-2_0.c: Update LTO options.
* gcc.dg/lto/
20081204-1_0.c: Update LTO options.
* gcc.dg/lto/const-uniq_0.c: Update LTO options.
* gcc.dg/lto/20081224_0.c: Update LTO options.
* gcc.dg/lto/20090219_0.c: Update LTO options.
* gcc.dg/lto/ipareference2_0.c: Update LTO options.
* gcc.dg/lto/
20090206-2_0.c: Update LTO options.
* gcc.dg/lto/20081115_0.c: Update LTO options.
* gcc.dg/lto/
20081201-2_0.c: Update LTO options.
* gcc.dg/lto/
20081120-2_0.c: Update LTO options.
* gcc.dg/lto/materialize-1_0.c: Update LTO options.
* gcc.dg/lto/
20090126-1_0.c: Update LTO options.
* gcc.dg/lto/
20081202-1_0.c: Update LTO options.
* gcc.dg/lto/noreturn-1_0.c: Update LTO options.
* g++.dg/
20090107-1.C: Update LTO options.
* g++.dg/lto/pr45679-2_0.C: Update LTO options.
* g++.dg/lto/20081123_0.C: Update LTO options.
* g++.dg/lto/20090313_0.C: Update LTO options.
* g++.dg/lto/20081125_0.C: Update LTO options.
* g++.dg/lto/
20081109-1_0.C: Update LTO options.
* g++.dg/lto/20081219_0.C: Update LTO options.
* g++.dg/lto/
20100724-1_0.C: Update LTO options.
* g++.dg/lto/
20081204-1_0.C: Update LTO options.
* g++.dg/lto/20090303_0.C: Update LTO options.
* g++.dg/lto/
20100723-1_0.C: Update LTO options.
* g++.dg/lto/pr45679-1_0.C: Update LTO options.
* g++.dg/lto/20090128_0.C: Update LTO options.
* g++.dg/lto/
20081204-2_0.C: Update LTO options.
* g++.dg/lto/20090302_0.C: Update LTO options.
* g++.dg/lto/
20081119-1_0.C: Update LTO options.
* g++.dg/lto/20081118_0.C: Update LTO options.
* g++.dg/
20090121-1.C: Update LTO options.
* objc.dg/lto/lto.exp: Update LTO options.
* lib/lto.exp: Update LTO options.
* lib/gcc-dg.exp: Update LTO options.
* lib/c-torture.exp: Update LTO options.
* obj-c++.dg/lto/lto.exp: Update LTO options.
From-SVN: r166625
Jan Hubicka [Thu, 11 Nov 2010 22:08:26 +0000 (23:08 +0100)]
re PR tree-optimization/40436 (0.5% code size regression caused by r147852)
PR tree-optimize/40436
* gcc.dg/tree-ssa/inline-5.c: New testcase.
* gcc.dg/tree-ssa/inline-6.c: New testcase.
* ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
(eliminated_by_inlining_prob): ... this one; return 50% probability for
SRA.
(estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
estimate static function size for 2 instructions.
From-SVN: r166624
Janus Weil [Thu, 11 Nov 2010 21:44:15 +0000 (22:44 +0100)]
resolve.c (resolve_procedure_interface): Copy 'is_bind_c' attribute.
2010-11-11 Janus Weil <janus@gcc.gnu.org>
* resolve.c (resolve_procedure_interface): Copy 'is_bind_c' attribute.
2010-11-11 Janus Weil <janus@gcc.gnu.org>
* gfortran.dg/proc_decl_24.f90: New.
From-SVN: r166623
Andreas Simbuerger [Thu, 11 Nov 2010 21:33:24 +0000 (21:33 +0000)]
Support official CLooG.org versions.
2010-11-11 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* configure.ac: Support official CLooG.org versions.
* configure: Regenerate.
* config/cloog.m4: New.
From-SVN: r166622
Joern Rennecke [Thu, 11 Nov 2010 19:11:44 +0000 (19:11 +0000)]
re PR target/44749 (mep-elf fails to build)
PR target/44749
* config/mep/mep-protos.h (mep_legitimize_reload_address): Always
declare. Change type of argument four to type int.
(mep_secondary_input_reload_class): Returns enum reg_class.
(mep_secondary_output_reload_class): Likewise.
(mep_function_value): Change types of arguments to cont_tree.
* config/mep/mep.c (mep_legitimize_reload_address): Change type of
argument four to type int.
(mep_secondary_input_reload_class): Returns enum reg_class.
(mep_secondary_output_reload_class): Likewise.
(mep_function_value): Change types of arguments to cont_tree.
* config/mep/mep.h (REGNO_REG_CLASS): Cast return value of
mep_regno_reg_class to enum reg_class.
From-SVN: r166614
Nicola Pero [Thu, 11 Nov 2010 19:01:45 +0000 (19:01 +0000)]
Fixed my email address in 3 of my ChangeLog entries for the past couple of months
From-SVN: r166613
Nicola Pero [Thu, 11 Nov 2010 18:58:43 +0000 (18:58 +0000)]
In gcc/objc/: 2010-11-11 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/objc/:
2010-11-11 Nicola Pero <nicola.pero@meta-innovation.com>
* objc-act.c (objc_add_property_declaration): Check that the type
of a property and of an inherited property match.
(objc_maybe_build_component_ref): Tidied up indentation and
comments.
(objc_common_type): Added new type of check (-5). If an unknown
class is involved in a comparison, try to look up its interface.
(objc_add_synthesize_declaration_for_property): Check that the
property to synthesize and the instance variable to use have the
same type.
In gcc/testsuite/:
2010-11-11 Nicola Pero <nicola.pero@meta-innovation.com>
* objc.dg/property/at-property-20.m: New.
* objc.dg/property/synthesize-8.m: New.
* obj-c++.dg/property/at-property-20.m: New.
* obj-c++.dg/property/synthesize-8.mm: New.
From-SVN: r166612
Richard Henderson [Thu, 11 Nov 2010 18:42:35 +0000 (10:42 -0800)]
tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify that the target has the exact fma operation that we matched.
* tree-ssa-math-opts.c (convert_mult_to_fma): Do not verify
that the target has the exact fma operation that we matched.
From-SVN: r166611
Joseph Myers [Thu, 11 Nov 2010 18:28:46 +0000 (18:28 +0000)]
reginfo.c (fix_register): Avoid inserting English word in diagnostic sentence.
* reginfo.c (fix_register): Avoid inserting English word in
diagnostic sentence. Use %qs for quoting and %'.
From-SVN: r166610
H.J. Lu [Thu, 11 Nov 2010 17:30:39 +0000 (17:30 +0000)]
Support Intel processor family 6, model 0x2c.
2010-11-11 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/driver-i386.c (host_detect_local_cpu): Support
Intel processor family 6, model 0x2c.
From-SVN: r166607
Joseph Myers [Thu, 11 Nov 2010 16:54:49 +0000 (16:54 +0000)]
opts.c (warning_as_error_callback, [...]): Remove.
* opts.c (warning_as_error_callback,
register_warning_as_error_callback): Remove.
(enable_warning_as_error): Don't use warning_as_error_callback.
* opts.h (register_warning_as_error_callback): Remove.
c-family:
* c-opts.c (warning_as_error_callback): Remove.
(c_common_initialize_diagnostics): Don't call
register_warning_as_error_callback.
(c_common_handle_option): Handle -Werror=normalized= here.
testsuite:
* gcc.dg/cpp/warn-normalized-3.c: Update expected note text.
From-SVN: r166606
Richard Henderson [Thu, 11 Nov 2010 16:20:54 +0000 (08:20 -0800)]
Recognize -(a * b) + c -> fma(-a,b,c).
* tree-ssa-math-opts.c (convert_mult_to_fma): Handle a NEGATE_EXPR
in between the MULT and the PLUS/MINUS.
From-SVN: r166605
Jakub Jelinek [Thu, 11 Nov 2010 15:48:39 +0000 (16:48 +0100)]
re PR middle-end/46388 (ICE in int_mode_for_mode, at stor-layout.c:493)
PR middle-end/46388
* expr.c (expand_assignment): If to_rtx is a VOIDmode MEM, use
BLKmode mode for it.
(expand_expr_real_1): Similarly for op0.
* gcc.c-torture/compile/pr46388.c: New test.
From-SVN: r166603
Rainer Orth [Thu, 11 Nov 2010 14:08:47 +0000 (14:08 +0000)]
lto.exp (lto-get-options-main): Support optional target selector for dg-suppress-ld-options.
gcc/testsuite:
* lib/lto.exp (lto-get-options-main): Support optional target
selector for dg-suppress-ld-options.
gcc:
* doc/sourcebuild.texi (LTO Testing, dg-suppress-ld-options):
Document optional target selector.
From-SVN: r166602
Dave Korn [Thu, 11 Nov 2010 13:33:59 +0000 (13:33 +0000)]
re PR bootstrap/46397 (lto-plugin.c does not build on Solaris 10/SPARC)
PR bootstrap/46397
PR bootstrap/46362
* configure.ac: Add AC_TYPE_INT64_T test.
* config.h.in: Regenerate.
* configure: Likewise.
* lto-plugin.c (debug): Use char not bool.
(nop): Likewise.
(check_1): Rename from check, and use int not bool for gate argument.
(check): Macro wrapper for the above to coerce gate argument into
boolean-valued integer in case it has pointer type.
(parse_table_entry): Use 0 not false.
(claim_file_handler): Avoid use of PRIx64 by splitting 64-bit size
into two 32-bit parts and printing as hex ints.
From-SVN: r166601
Dave Korn [Thu, 11 Nov 2010 13:29:46 +0000 (13:29 +0000)]
lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than assembling high and low parts of size if...
* lto-streamer-out.c (write_symbol): Use int_size_in_bytes rather than
assembling high and low parts of size if not using 32-bit HWINT; else
use DECL_SIZE_UNITS, not DECL_SIZE.
From-SVN: r166600
Paolo Carlini [Thu, 11 Nov 2010 13:10:49 +0000 (13:10 +0000)]
move.h (forward): Implement N3143, resolving US 90.
2010-11-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/move.h (forward): Implement N3143, resolving US 90.
* testsuite/20_util/forward/a.cc: New.
* testsuite/20_util/forward/b.cc: Likewise.
* testsuite/20_util/forward/c_neg.cc: Likewise.
* testsuite/20_util/forward/d.cc: Likewise.
* testsuite/20_util/forward/e.cc: Likewise.
* testsuite/20_util/forward/f_neg.cc: Likewise.
From-SVN: r166599
Martin Jambor [Thu, 11 Nov 2010 12:03:59 +0000 (13:03 +0100)]
re PR tree-optimization/46383 (ICE: in get_binfo_at_offset, at tree.c:10947)
2010-11-11 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/46383
* ipa-prop.c (compute_complex_assign_jump_func): Ignore negative
offsets.
(compute_complex_ancestor_jump_func): Likewise.
* tree.c (get_binfo_at_offset): Return NULL_TREE if offset is negative.
* testsuite/g++.dg/torture/pr46383.C: New test.
From-SVN: r166598
Joern Rennecke [Thu, 11 Nov 2010 11:04:44 +0000 (11:04 +0000)]
Use more specific PR number in ChangeLog entry:
PR bootstrap/44770
* haifa-sched.c (initiate_bb_reg_pressure_info): Add ATTRIBUTE_UNUSED
to i.
From-SVN: r166597
Uros Bizjak [Thu, 11 Nov 2010 08:24:15 +0000 (09:24 +0100)]
sse-12.c: Add -msse4a to dg-options.
* gcc-target/i386/sse-12.c: Add -msse4a to dg-options.
* gcc-target/i386/sse-13.c: Add -msse4a, -mfma4, -mbmi and -mtbm
to dg-options.
* gcc-target/i386/sse-14.c: Add -mfma4a and -mbmi to dg-options.
* g++.dg/other/i386-2.C: Add -msse4a and -mfma4 to dg-options.
* g++.dg/other/i386-3.C: Ditto.
From-SVN: r166596
Jakub Jelinek [Thu, 11 Nov 2010 08:09:46 +0000 (09:09 +0100)]
re PR debug/46150 (-fcompare-debug failure (length) with -fPIC -O2)
PR debug/46150
* tree-ssa-loop-ivopts.c (htab_inv_expr_eq): Don't return
true if expr1->hash != expr2->hash.
From-SVN: r166595
Jason Merrill [Thu, 11 Nov 2010 06:17:32 +0000 (01:17 -0500)]
re PR c++/46420 ([C++0X][4.6 regression] ICE: in tsubst_copy, at cp/pt.c:11677)
PR c++/46420
* pt.c (tsubst_copy_and_build) [TARGET_EXPR]: New case.
[CONSTRUCTOR]: Use the tsubsted type.
From-SVN: r166592
Joseph Myers [Thu, 11 Nov 2010 02:14:01 +0000 (02:14 +0000)]
bitfield2.C, [...]: Update expected messages.
* g++.dg/ext/bitfield2.C, g++.dg/ext/bitfield4.C,
gcc.dg/bitfld-15.c, gcc.dg/bitfld-17.c,
gcc.target/i386/pr39082-1.c, gcc.target/i386/pr39545-1.c,
gcc.target/i386/pr39545-2.c, gcc.target/i386/pr39678.c: Update
expected messages.
From-SVN: r166587
GCC Administrator [Thu, 11 Nov 2010 00:18:55 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r166582
Jan Hubicka [Thu, 11 Nov 2010 00:17:34 +0000 (01:17 +0100)]
re PR c++/38699 (ICE using offsetof with pointer and array accesses)
PR tree-optimize/38669
* gcc.dg/tree-ssa/pr38699.c
From-SVN: r166579
Jan Hubicka [Thu, 11 Nov 2010 00:16:19 +0000 (01:16 +0100)]
* gcc.dg/tree-prof/inliner-1.c: Fix testcase.
From-SVN: r166577
Jason Merrill [Thu, 11 Nov 2010 00:06:34 +0000 (19:06 -0500)]
re PR c++/46369 (ICE: unexpected expression '((unsigned char*)&*r)[24]' of kind bit_field_ref)
PR c++/46369
* semantics.c (cxx_eval_bit_field_ref): New.
(cxx_eval_constant_expression): Call it.
From-SVN: r166576
Jakub Jelinek [Wed, 10 Nov 2010 23:33:56 +0000 (00:33 +0100)]
re PR debug/46409 (ICE in propagate_rtx, at fwprop.c:688)
PR debug/46409
* gcc.dg/debug/pr46409.c: New test.
PR c++/46368
* g++.dg/cpp0x/constexpr-defarg2.C: New test.
From-SVN: r166574
Joseph Myers [Wed, 10 Nov 2010 23:33:06 +0000 (23:33 +0000)]
* gcc.pot: Regenerate.
From-SVN: r166573
Joseph Myers [Wed, 10 Nov 2010 23:23:15 +0000 (23:23 +0000)]
cfgloop.c (verify_loop_structure): Use %' in diagnostics.
* cfgloop.c (verify_loop_structure): Use %' in diagnostics. Start
diagnostics with lowercase letters.
* cgraphunit.c (verify_cgraph_node): Start diagnostics with
lowercase letters.
* collect2.c (maybe_run_lto_and_relink): Remove trailing '.' from
diagnostic.
* config/alpha/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
* config/arm/arm.c (arm_get_pcs_model): Start diagnostics with
lowercase letters.
* config/arm/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
Remove trailing ' ' from diagnostic.
* config/avr/avr.c (print_operand_address): Start diagnostic with
a lowercase letter and remove trailing '.'.
* config/avr/avr.opt (mpmem-wrap-around): Fix typo in help text.
* config/bfin/bfin.c (bfin_option_override): Start diagnostics
with lowercase letters. Use %' in diagnostics. Remove trailing
'.' from diagnostics.
(bfin_handle_longcall_attribute): Use %' in diagnostic.
* config/cris/cris.c (cris_split_movdx,
cris_expand_pic_call_address): Start diagnostics with lowercase
letters.
(cris_asm_output_label_ref): Use %' in diagnostic.
* config/cris/cris.h (ASM_SPEC): Start diagnostic with a lowercase
letter.
* config/crx/crx.h (FUNCTION_PROFILER): Start diagnostic with a
lowercase letter.
* config/darwin-c.c (version_as_macro): Start diagnostic with a
lowercase letter.
* config/darwin-driver.c (darwin_default_min_version): Use %' in
diagnostic.
* config/host-darwin.c (darwin_gt_pch_use_address): Use %' in
diagnostic.
* config/i386/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
* config/i386/host-cygwin.c (cygwin_gt_pch_get_address): Use %' in
diagnostics.
* config/i386/i386.c (ix86_option_override_internal): Write
diagnostic as a single sentence without trailing '.'. Use %' in
diagnostics.
(ix86_function_sseregparm, classify_argument): Start diagnostics
with lowercase letters.
(ix86_expand_prologue): Use %' in diagnostic.
* config/i386/i386.h (CC1_CPU_SPEC_1): Remove trailing '.' from
diagnostic.
* config/i386/nwld.h (LINK_SPEC): Start diagnostic with a
lowercase letter.
* config/i386/winnt.c (i386_pe_determine_dllimport_p): Use %' in
diagnostic.
* config/ia64/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
* config/ia64/ia64.opt (msched-max-memory-insns-hard-limit): Avoid
'`' in help text.
* config/lm32/lm32.c (lm32_print_operand): Start diagnostic with a
lowercase letter.
* config/mep/mep.c (mep_validate_vliw): Start diagnostics with
lowercase letters.
* config/microblaze/microblaze.c (microblaze_handle_option):
Remove trailing '.' from diagnostic.
(print_operand): Start diagnostic with a lowercase letter.
* config/pa/pa-hpux10.h (LINK_SPEC): Start diagnostics with
lowercase letters. Avoid '`' in diagnostics.
* config/pa/pa-hpux11.h (LINK_SPEC): Start diagnostics with
lowercase letters. Avoid '`' in diagnostics.
* config/pa/pa64-hpux.h (LINK_SPEC): Start diagnostics with
lowercase letters. Avoid '`' in diagnostics.
* config/picochip/picochip.c (picochip_option_override,
picochip_emit_save_register, picochip_function_arg,
picochip_output_label, picochip_output_internal_label,
picochip_asm_output_opcode, picochip_output_cbranch,
picochip_output_compare, picochip_output_branch,
picochip_get_vliw_alu_id): Remove trailing '.' and '\n' from
diagnostics. Start diagnostics with lowercase letters. Use %' in
diagnostics.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Use
"SPE" capitalization. Start diagnostic with a lowercase letter.
(rs6000_handle_option): Start diagnostics with lowercase letters.
(def_builtin): Remove trailing '.' from diagnostic.
(rs6000_savres_routine_name): Start diagnostic with a lowercase
letter.
* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Avoid '`' in
diagnostic.
* config/rx/rx.c (rx_handle_option): Start diagnostic with a
lowercase letter.
* config/s390/s390.c (s390_option_override) Start diagnostics with
lowercase letters. Use %' in diagnostic.
* config/sh/sh.c (sh_output_mi_thunk): Start diagnostics with
lowercase letters.
* config/sh/symbian-base.c (sh_symbian_mark_dllimport): Use %' in
diagnostic.
* config/sh/symbian-c.c (sh_symbian_is_dllimported): Use %' in
diagnostic.
* config/sh/symbian-cxx.c (sh_symbian_is_dllimported): Use %' in
diagnostic.
* config/sparc/freebsd.h (LINK_SPEC): Avoid '`' in diagnostic.
* config/spu/spu.c (spu_option_override): Start diagnostics with
lowercase letters. Use %qs for quoting in diagnostics.
(spu_check_builtin_parm): Remove trailing '.' from diagnostics.
Use %wd instead of HOST_WIDE_INT_PRINT_DEC in diagnostic .
* config/v850/v850.c (construct_save_jarl): Remove trailing '\n'
from diagnostic.
* convert.c (convert_to_integer, convert_to_vector): Use %' in
diagnostics.
* dbgcnt.c (dbg_cnt_process_opt): Start diagnostic with lowercase
letter and use "cannot" spelling.
* expmed.c (extract_fixed_bit_field): Start diagnostic with
lowercase letter and format as a single sentence without '.'.
* ggc-common.c (write_pch_globals, gt_pch_save, gt_pch_restore):
Use %' in diagnostics.
* ggc-page.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
Use %' in diagnostics.
* ggc-zone.c (ggc_pch_write_object, ggc_pch_finish, ggc_pch_read):
Use %' in diagnostics.
* graph.c (clean_graph_dump_file): Use %' in diagnostic.
* graphite-poly.c (graphite_read_scop_file): Start diagnostics
with lowercase letters and remove tailing '.' and '\n'.
* lto-cgraph.c (input_profile_summary): Start diagnostic with
lowercase letter and remove trailing '.'.
(input_cgraph): Start diagnostics with lowercase letters and
remove trailing '\n'.
* opts.c (finish_options, common_handle_option): Start diagnostics
with lowercase letters and remove trailing '.'. Fix typo in
diagnostic.
* passes.c (position_pass): Start diagnostic with lowercase
letter.
* plugin.c (add_new_plugin, parse_plugin_arg_opt,
register_callback, try_init_one_plugin): Start diagnostics with
lowercase letters.
* reload1.c (spill_failure): Use %' in diagnostic.
(gen_reload): Start diagnostic with a lowercase letter.
* stor-layout.c (place_field): Start diagnostic with a lowercase
letter.
* toplev.c (open_auxiliary_file): Use %' in diagnostic.
* tree-cfg.c (verify_expr, verify_types_in_gimple_reference,
verify_gimple_call, verify_gimple_phi, verify_eh_throw_stmt_node):
Start diagnostics with lowercase letters, remove trailing '.' and
use %' in diagnostics.
* tree-ssa.c (verify_def): Remove trailing '.' from diagnostic.
(verify_ssa): Don't split diagnostic across two error calls.
Spell out "number" and use %' in diagnostic.
* value-prof.c (visit_hist, check_counter): Start diagnostics with
lowercase letters.
c-family:
* c-common.c (handle_mode_attribute): Use %' and word "signedness"
in diagnostic.
* c-opts.c (c_common_parse_file): Start diagnostics with lowercase
letter.
* c-pragma.c (handle_pragma_target, handle_pragma_optimize):
Remove trailing '.' from diagnostics.
* c.opt (Wwrite-strings_: Avoid '`' in help text.
cp:
* cvt.c (cp_convert_to_pointer): Use %' in diagnostic.
* decl.c (layout_var_decl, maybe_commonize_var, grokdeclarator):
Use %' in diagnostics.
* decl2.c (check_classfn): Use %' in diagnostic.
* init.c (build_java_class_ref): Use %' in diagnostic.
(build_delete): Remove trailing '.' from diagnostic.
* method.c (do_build_copy_assign, walk_field_subobs): Use %' in
diagnostics.
* name-lookup.c (pushdecl_maybe_friend): Use %' in diagnostic.
* parser.c (cp_parser_exception_specification_opt): Remove
trailing '.' from diagnostic.
(cp_parser_objc_interstitial_code): Use %qs for quoting in
diagnostic.
* pt.c (check_valid_ptrmem_cst_expr): Use %< and %> for quoting in
diagnostic.
* repo.c (reopen_repo_file_for_write): Use %' in diagnostic.
fortran:
* trans-array.c (gfc_trans_deferred_array): Use "front-end"
spelling in diagnostic.
* trans.c (gfc_allocate_array_with_status): Add missing space in
diagnostic.
java:
* expr.c (expand_java_field_op): Use %' in diagnostic.
* jcf-parse.c (java_parse_file): Use %' in diagnostics.
* jvspec.c (lang_specific_driver): Use %' in diagnostic.
* lang.c (java_post_options): Use %' in diagnostics.
lto:
* lto.c (lto_resolution_read): Start diagnostics with lowercase
letters and remove trailing '.'.
(lto_file_finalize): Start diagnostic with a lowercase letter.
objc:
* objc-act.c (objc_init): Use %' in diagnostic.
(objc_set_method_opt): Remove trailing '.' from diagnostic.
From-SVN: r166570
Uros Bizjak [Wed, 10 Nov 2010 23:00:01 +0000 (00:00 +0100)]
re PR target/46419 (_mm_cvtpu16_ps (and hence _mm_cvtpu8_ps) returns false result)
PR middle-end/46419
* config/i386/xmmintrin.h (_mm_cvtpi16_ps): Swap __hisi and __losi.
(_mm_cvtpu16_ps): Ditto.
testsuite/ChangeLog:
PR target/46419
* gcc-target/i386/pr46419.c: New test.
From-SVN: r166569
Joseph Myers [Wed, 10 Nov 2010 22:35:13 +0000 (22:35 +0000)]
common.opt (flag_excess_precision_cmdline, [...]): New Variable declarations.
* common.opt (flag_excess_precision_cmdline, flag_generate_lto,
warn_larger_than, larger_than_size, warn_frame_larger_than,
frame_larger_than_size, flag_gen_aux_info, flag_shlib,
default_visibility, flag_tls_default): New Variable declarations.
(aux-info, auxbase, dumpbase, dumpdir, falign-functions=,
falign-jumps=, falign-labels=, falign-loops=, o, v): Use Var.
(v): Declare as Common and document here.
* flags.h (default_visibility, flag_generate_lto,
warn_larger_than, larger_than_size, warn_frame_larger_than,
frame_larger_than_size, flag_gen_aux_info, flag_pedantic_errors,
flag_shlib, flag_excess_precision_cmdline): Remove.
(set_Wstrict_aliasing): Update prototype.
* gcc.c (verbose_flag): Remove.
(driver_handle_option): Add diagnostic_context parameter. Don't
handle OPT_v explicitly here. Set verbose_flag to 1 rather than
incrementing it.
* opts-common.c (handle_option): Pass dc to handler.
* opts.c (warn_larger_than, larger_than_size,
warn_frame_larger_than, frame_larger_than_size,
default_visibility): Remove.
(common_handle_option): Add diagnostic_context parameter.
(set_fast_math_flags, set_unsafe_math_optimizations_flags): Add
gcc_options parameters.
(lang_handle_option, target_handle_option, read_cmdline_options,
decode_options): Add diagnostic_context parameters.
(finish_options): Access option state through opts pointer where
possible.
(common_handle_option): Access option state through opts pointer
where possible. Do not set local static variable verbose. Do not
explicitly handle OPT_v, OPT_Wstrict_aliasing_,
OPT_Wstrict_overflow_, OPT_Wunused, OPT_auxbase, OPT_dumpbase,
OPT_dumpdir, OPT_falign_functions_, OPT_falign_jumps_,
OPT_falign_labels_, OPT_falign_loops_, OPT_fira_verbose_, OPT_o or
OPT_fwhopr_. Do not explicitly set .opt file variables for
OPT_aux_info or OPT_pedantic_errors. Use dc for diagnostic
context.
(set_Wstrict_aliasing): Add gcc_options parameter.
* opts.h (struct cl_option_handler_func): Add diagnostic_context
parameter to handler.
(decode_options): Add diagnostic_context parameter.
* toplev.c (dump_base_name, dump_dir_name, aux_base_name,
asm_file_name, flag_generate_lto, flag_gen_aux_info,
aux_info_file_name, flag_shlib, flag_tls_default,
flag_excess_precision_cmdline, flag_pedantic_errors): Remove.
(toplev_main): Pass global_dc to decode_options.
* toplev.h (dump_base_name, dump_dir_name, aux_base_name,
aux_info_file_name, asm_file_name): Remove.
* tree.h (flag_tls_default): Remove.
c-family:
* c-common.c (parse_optimize_options): Pass global_dc to
decode_options.
* c-opts.c (c_common_handle_option): Pass &global_options to
set_Wstrict_aliasing.
* c.opt (v): Don't mark Common or document here.
fortran:
* cpp.c (asm_file_name): Don't declare here.
objc:
* objc-act.c (dump_base_name): Don't declare here.
From-SVN: r166565
Eric Botcazou [Wed, 10 Nov 2010 22:08:02 +0000 (22:08 +0000)]
sparc.c (sparc_delegitimize_address): New function.
* config/sparc/sparc.c (sparc_delegitimize_address): New function.
(TARGET_DELEGITIMIZE_ADDRESS): Define to above.
From-SVN: r166563
Quentin Neill [Wed, 10 Nov 2010 22:02:34 +0000 (22:02 +0000)]
Add support for TBM.
2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
gcc/
* config.gcc (i[34567]86-*-*): Include tbmintrin.h.
(x86_64-*-*): Likewise.
* config/i386/cpuid.h: Define TBM bit.
* config/i386/driver-i386.c (host_detect_local_cpu): Define
and set has_tbm.
* config/i386/i386-c.c (ix86_target_macros_internal): Check
isa_flag for TBM.
* config/i386/i386.c (OPTION_MASK_ISA_TBM_SET): New.
(OPTION_MASK_ISA_TBM_UNSET): New.
(ix86_handle_option): Handle -mtbm.
(isa_opts): Add -mtbm.
(enum pta_flags): Add PTA_TBM.
(ix86_option_override_internal): Add TBM support.
(ix86_valid_target_attribute_inner_p): Handle -mtbm.
(IX86_BUILTIN_BEXTRI32): New for TBM intrinsic.
(IX86_BUILTIN_BEXTRI64): Likewise.
(bdesc_args): Add TBM intrinsics.
(ix86_expand_builtin): Add TBM specific case.
* config/i386/i386.h (TARGET_TBM): New for TBM.
* config/i386/i386.md (UNSPEC_BEXTRI): New for TBM.
(tbm_bextri_<mode>): Likewise.
(*tbm_blcfill_<mode>): Likewise.
(*tbm_blci_<mode>): Likewise.
(*tbm_blcic_<mode>): Likewise.
(*tbm_blcmsk_<mode>): Likewise.
(*tbm_blcs_<mode>): Likewise.
(*tbm_blsfill_<mode>): Likewise.
(*tbm_blsic_<mode>): Likewise.
(*tbm_t1mskc_<mode>): Likewise.
(*tbm_tzmsk_<mode>): Likewise.
* config/i386/i386.opt: Add -mtbm.
* config/i386/tbmintrin.h (__bextri_u32): New.
(__blcfill_u32): Likewise.
(__blci_u32): Likewise.
(__blcic_u32): Likewise.
(__blcmsk_u32): Likewise.
(__blcs_u32): Likewise.
(__blsfill_u32): Likewise.
(__blsic_u32): Likewise.
(__t1mskc_u32): Likewise.
(__tzmsk_u32): Likewise.
(__bextri_u64): Likewise.
(__blcfill_u64): Likewise.
(__blci_u64): Likewise.
(__blcic_u64): Likewise.
(__blcmsk_u64): Likewise.
(__blcs_u64): Likewise.
(__blsfill_u64): Likewise.
(__blsic_u64): Likewise.
(__t1mskc_u64): Likewise.
(__tzmsk_u64): Likewise.
* config/i386/x86intrin.h: Add TBM check and tbmintrin.h.
* doc/invoke.texi: Document -mtbm.
* doc/extend.texi: Document TBM built-in functions.
gcc/testsuite/
* g++.dg/other/i386-2.C: Add -mtbm.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/funcspec-5.c: Add tbm and no-tbm targets.
* gcc.target/i386/funcspec-6.c: Likewise.
* gcc.target/i386/sse-12.c: Add -mtbm.
* gcc.target/i386/sse-13.c: Add -mtbm and test immediate
operand intrinsics.
* gcc.target/i386/sse-14.c: Likewise.
* gcc.target/i386/sse-22.c: Likewise.
* gcc.target/i386/sse-23.c: Likewise.
* gcc.target/i386/tbm-1.c: New file.
* gcc.target/i386/tbm-2.c: Likewise.
From-SVN: r166562
Quentin Neill [Wed, 10 Nov 2010 22:02:23 +0000 (22:02 +0000)]
Add support for BMI.
2010-11-10 Quentin Neill <quentin.neill.gnu@gmail.com>
gcc/
* config.gcc (i[34567]86-*-*): Include bmiintrin.h.
(x86_64-*-*): Likewise.
* config/i386/cpuid.h: Define BMI bit.
* config/i386/driver-i386.c (host_detect_local_cpu): Define
and set has_bmi.
* config/i386/i386-c.c (ix86_target_macros_internal): Check
isa_flag for BMI.
* config/i386/i386.c (OPTION_MASK_ISA_BMI_SET): New.
(OPTION_MASK_ISA_BMI_UNSET): New.
(ix86_handle_option): Handle -mbmi.
(isa_opts): Add -mbmi.
(enum pta_flags): Add PTA_BMI.
(ix86_option_override_internal): Add BMI support.
(ix86_valid_target_attribute_inner_p): Handle -mbmi.
(IX86_BUILTIN_BEXTR32): New for BMI intrinsic.
(IX86_BUILTIN_BEXTR64): Likewise.
(IX86_BUILTIN_CTZS): Likewise.
(bdesc_args): Add BMI intrinsics.
(ix86_expand_args_builtin): Add BMI specific cases.
* config/i386/i386.h (TARGET_BMI): New for BMI.
(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
(CLZ_DEFINED_VALUE_AT_ZERO): Likewise.
* config/i386/i386.md (UNSPEC_BEXTR): New for BMI.
(UNSPEC_TZCNT): Likewise.
(ctz<mode>2): Add tzcnt, and handle 16 bit operands.
(bmi_andn_<mode>): New for BMI.
(bmi_bextr_<mode>): Likewise.
(bmi_blsi_<mode>): Likewise.
(bmi_blsmsk_<mode>): Likewise.
(bmi_blsr_<mode>): Likewise.
* config/i386/i386.opt: Add -mbmi.
* config/i386/x86intrin.h: Add BMI check and bmiintrin.h.
* config/i386/bmiintrin.h (__lzcnt_u16): New.
(__tzcnt_u16): Likewise.
(__andn_u32): Likewise.
(__bextr_u32): Likewise.
(__blsi_u32): Likewise.
(__blsmsk_u32): Likewise.
(__blsr_u32): Likewise.
(__lzcnt_u32): Likewise.
(__tzcnt_u32): Likewise.
(__andn_u64): Likewise.
(__bextr_u64): Likewise.
(__blsi_u64): Likewise.
(__blsmsk_u64): Likewise.
(__blsr_u64): Likewise.
(__lzcnt_u64): Likewise.
(__tzcnt_u64): Likewise.
* doc/invoke.texi: Document -mbmi and -mno-bmi.
* doc/extend.texi: Document BMI built-in functions.
gcc/testsuite/
* g++.dg/other/i386-2.C: Add -mbmi.
* g++.dg/other/i386-3.C: Likewise.
* gcc.target/i386/funcspec-5.c: Add bmi and no-bmi targets.
* gcc.target/i386/funcspec-6.c: Likewise.
* gcc.target/i386/sse-12.c: Add -mbmi.
* gcc.target/i386/bmi-1.c: New file.
* gcc.target/i386/bmi-2.c: Likewise.
* gcc.target/i386/bmi-3.c: Likewise.
* gcc.target/i386/bmi-4.c: Likewise.
* gcc.target/i386/bmi-5.c: Likewise.
* gcc.target/i386/bmi-6.c: Likewise.
From-SVN: r166561
François Dumont [Wed, 10 Nov 2010 21:53:43 +0000 (22:53 +0100)]
unordered_map (unordered_map<>::_M_profile_size): Simplify, don't take a __new_size argument; adjust all callers.
2010-11-10 François Dumont <francois.cppdevs@free.fr>
* include/profile/unordered_map (unordered_map<>::_M_profile_size):
Simplify, don't take a __new_size argument; adjust all callers.
From-SVN: r166560
François Dumont [Wed, 10 Nov 2010 21:47:13 +0000 (22:47 +0100)]
MAINTAINERS (Write After Approval): Add myself.
2010-11-10 François Dumont <francois.cppdevs@free.fr>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r166559
Nathan Froyd [Wed, 10 Nov 2010 21:05:50 +0000 (21:05 +0000)]
re PR c++/46065 (ICE: tree check: expected tree that contains 'decl minimal' structure, have 'tree_list' in poplevel_named_label_1, at cp/decl.c:477)
gcc/cp/
PR c++/46065
* decl.c (poplevel_named_label_1): Use TREE_CHAIN if necessary.
gcc/testsuite/
PR c++/46065
* g++.dg/pr46065.C: New test.
From-SVN: r166558
Jan Hubicka [Wed, 10 Nov 2010 20:38:15 +0000 (21:38 +0100)]
re PR rtl-optimization/33172 (Optimizer fails to elid away unreferenced static function)
PR tree-optimize/33172
PR tree-optimize/43411
* gcc.dg/tree-ssa/pr33172.c: New testcase.
* g++.dg/tree-ssa/pr43411.C: New testcase.
From-SVN: r166557
Jan Hubicka [Wed, 10 Nov 2010 20:26:36 +0000 (20:26 +0000)]
re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5)
PR tree-optimize/46228
* doc/invoke.texi (comdat-sharing-probability): Document.
* ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
* params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
From-SVN: r166556
Jan Hubicka [Wed, 10 Nov 2010 20:23:09 +0000 (21:23 +0100)]
re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5)
PR tree-optimize/46228
* doc/invoke.texi (comdat-sharing-probability): Document.
* ipa-inline.c (cgraph_estimate_growth): Handle COMDATs
* params.def (PARAM_COMDAT_SHARING_PROBABILITY): New param.
* g++.dg/tree-ssa/pr46228.C: New testcase.
From-SVN: r166555
Joern Rennecke [Wed, 10 Nov 2010 20:15:24 +0000 (20:15 +0000)]
re PR target/46417 (spu-elf --enable-werror-always build fails)
PR target/46417
* config/spu/spu.c (spu_expand_insv): Remove unused variables.
(spu_split_store): Use aform.
(spu_function_profiler): Mark parameter labelno with ATTRIBUTE_UNUSED.
From-SVN: r166554
Jan Hubicka [Wed, 10 Nov 2010 20:10:46 +0000 (21:10 +0100)]
re PR tree-optimization/46228 (code produced for STL container is worse in 4.5.1 than in 4.4.5)
PR tree-optimize/46228
* cgraph.c (cgraph_propagate_frequency): Fix typo.
From-SVN: r166553
H.J. Lu [Wed, 10 Nov 2010 20:08:27 +0000 (20:08 +0000)]
Check preferred vector mode for vector type in estimate_move_cost.
gcc/
2010-11-10 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/46414
* tree-inline.c (estimate_move_cost): Check preferred vector
mode for vector type.
gcc/testsuite/
2010-11-10 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/46414
* gcc.target/i386/recip-vec-sqrtf-avx.c: Updated for loop
unrolling.
From-SVN: r166552
Paolo Carlini [Wed, 10 Nov 2010 19:08:49 +0000 (19:08 +0000)]
PR libstdc++/44436 (partial)
2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/44436 (partial)
PR libstdc++/46148
* include/bits/stl_tree.h (_Rb_tree<>::_M_insert_, _M_insert_lower,
_M_insert_equal_lower, _M_insert_unique, _M_insert_equal,
_M_insert_unique_, _M_insert_equal_): Templatize in C++0x mode,
use _GLIBCXX_FORWARD throughout.
* include/bits/stl_map.h (map<>::insert(_Pair&&),
insert(const_iterator, _Pair&&), operator[](key_type&&): Add.
* include/bits/stl_set.h (set<>::insert(value_type&&),
insert(const_iterator, value_type&&)): Likewise.
* include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
insert(const_iterator, _Pair&&)): Likewise.
* include/bits/stl_multiset.h (multiset<>::insert(value_type&&),
insert(const_iterator, value_type&&)): Likewise.
* include/debug/set.h: Adjust.
* include/debug/multiset.h: Likewise.
* include/debug/map.h: Likewise.
* include/debug/multimap.h: Likewise.
* include/profile/set.h: Likewise.
* include/profile/multiset.h: Likewise.
* include/profile/map.h: Likewise.
* include/profile/multimap.h: Likewise.
* testsuite/23_containers/multimap/modifiers/insert/1.cc: New.
* testsuite/23_containers/multimap/modifiers/insert/2.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/insert/3.cc: Likewise.
* testsuite/23_containers/multimap/modifiers/insert/4.cc: Likewise.
* testsuite/23_containers/set/modifiers/insert/2.cc: Likewise.
* testsuite/23_containers/set/modifiers/insert/3.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/insert/3.cc: Likewise.
* testsuite/23_containers/multiset/modifiers/insert/4.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert/2.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert/3.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert/4.cc: Likewise.
* testsuite/23_containers/map/modifiers/insert/5.cc: Likewise.
* testsuite/23_containers/map/element_access/2.cc: Likewise.
* testsuite/23_containers/map/element_access/46148.cc: Likewise.
* include/bits/hashtable.h: Trivial naming changes.
From-SVN: r166551
Tobias Burnus [Wed, 10 Nov 2010 18:04:04 +0000 (19:04 +0100)]
re PR fortran/46411 (MOVE_ALLOC wrongly rejected as impure)
2010-11-10 Tobias Burnus <burnus@net-b.de>
PR fortran/46411
* intrinsic.c (gfc_intrinsic_sub_interface): Check for attr.pure
and not for attr.elemental.
* intrinsic.texi (move_alloc): Document as being pure.
2010-11-10 Tobias Burnus <burnus@net-b.de>
PR fortran/46411
* gfortran.dg/intrinsic_7.f90: New.
From-SVN: r166550
Rainer Orth [Wed, 10 Nov 2010 18:00:42 +0000 (18:00 +0000)]
* config/alpha/osf5.h (ASM_SPEC): Remove -nocpp.
From-SVN: r166549
Rainer Orth [Wed, 10 Nov 2010 17:48:42 +0000 (17:48 +0000)]
rtti3.C: Scan for .weakext on alpha*-dec-osf*.
* g++.dg/abi/rtti3.C: Scan for .weakext on alpha*-dec-osf*.
* g++.dg/abi/thunk4.C: Likewise.
* g++.dg/opt/combine.C: Add dg-require-visibility.
* g++.dg/other/anon5.C: Skip on alpha*-dec-osf*.
* g++.dg/warn/miss-format-1.C: XFAIL scanf attribute warning on
alpha*-dec-osf*.
* g++.dg/warn/pr31246.C: XFAIL on alpha*-dec-osf*.
* g++.dg/warn/weak1.C: Skip on alpha*-dec-osf*.
* g++.old-deja/g++.eh/badalloc1.C [!STACK_SIZE && __osf__]: Use
large arena_size.
* gcc.dg/attr-weakref-1.c: Skip on alpha*-dec-osf*.
* gcc.dg/intmax_t-1.c: Likewise.
From-SVN: r166548
Tobias Burnus [Wed, 10 Nov 2010 17:44:58 +0000 (18:44 +0100)]
re PR fortran/46244 (gfc_compare_derived_types is buggy)
2010-11-10 Tobias Burnus <burnus@net-b.de>
PR fortran/46244
* resolve.c (resolve_fl_derived): Don't allow CLASS in
sequence/BIND(C) types.
2010-11-10 Tobias Burnus <burnus@net-b.de>
PR fortran/46244
* gfortran.dg/class_30.f90: New.
From-SVN: r166547
Tobias Burnus [Wed, 10 Nov 2010 17:41:22 +0000 (18:41 +0100)]
re PR fortran/46223 (gfortran.dg/bessel_7.f90 failures on s390-ibm-linux-gnu)
2010-11-10 Tobias Burnus <burnus@net-b.de>
PR fortran/46223
* gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
failure on s390.
From-SVN: r166546
Joern Rennecke [Wed, 10 Nov 2010 17:18:22 +0000 (17:18 +0000)]
re PR target/46415 (mmix-knuth-mmixware --enable-werror-always build fails)
PR target/46415
* config/mmix/mmix-protos.h (mmix_local_alignment): Update prototype.
(mmix_dbx_register_number): Likewise.
* config/mmix/mmix.c: Include df.h .
(mmix_local_alignment): Change argument basic_align and return type
to unsigned.
(mmix_dbx_register_number): Change argument and return type to
unsigned.
(mmix_expand_prologue): Use add_reg_note.
From-SVN: r166545
Sebastian Pop [Wed, 10 Nov 2010 16:06:47 +0000 (16:06 +0000)]
Fix PR45971: do not predicate condition phi nodes that are scev analyzable.
2010-11-10 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/45971
* tree-if-conv.c (predicate_scalar_phi): Do not generate a COND_EXPR
for phi nodes analyzable by scev.
* gcc.dg/vect/O3-pr45971.c: New.
From-SVN: r166544
Richard Guenther [Wed, 10 Nov 2010 16:05:03 +0000 (16:05 +0000)]
re PR tree-optimization/44964 (ICE: SIGSEGV in gimple_default_def (tree-dfa.c:539) with -fkeep-inline-functions)
2010-11-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/44964
* ipa-inline.c (cgraph_flatten): Check that SSA form matches.
* gcc.dg/pr44964.c: New testcase.
From-SVN: r166543
Eric Botcazou [Wed, 10 Nov 2010 13:50:29 +0000 (13:50 +0000)]
* gnat.dg/opt10.adb: Fix typo.
From-SVN: r166537
H.J. Lu [Wed, 10 Nov 2010 13:17:16 +0000 (05:17 -0800)]
Correct ChangeLog entries.
From-SVN: r166536
Martin Jambor [Wed, 10 Nov 2010 12:52:27 +0000 (13:52 +0100)]
re PR tree-optimization/46351 (incorrect scalarization (2))
2010-11-10 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/46351
PR tree-optimization/46377
* tree-sra.c (type_internals_preclude_sra_p): Disqualify types with
aggregate bit-fields.
* testsuite/gnat.dg/opt10.adb: New file.
* testsuite/gnat.dg/opt10_pkg.ads: Likewise.
* testsuite/gnat.dg/opt11.adb: Likewise.
* testsuite/gnat.dg/opt11.ads: Likewise.
From-SVN: r166535
Joseph Myers [Wed, 10 Nov 2010 12:40:51 +0000 (12:40 +0000)]
tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
* doc/tm.texi.in (TARGET_OPTION_TRANSLATE_TABLE): Remove.
* doc/tm.texi: Regenerate.
* opts-common.c (tm.h): Don't include.
(target_option_translations): Remove.
(decode_cmdline_options_to_array): Don't handle translating
options.
* system.h (TARGET_OPTION_TRANSLATE_TABLE): Poison.
* config/darwin-driver.c: Don't condition includes on
CROSS_DIRECTORY_STRUCTURE.
(darwin_default_min_version): Make static.
(darwin_driver_init): New. Call darwin_default_min_version if not
CROSS_DIRECTORY_STRUCTURE.
* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
(DRIVER_SELF_SPECS, DARWIN_CC1_SPEC): Define.
(ASM_SPEC): Add %{static}.
(darwin_default_min_version): Don't declare.
(darwin_driver_init): Declare.
(GCC_DRIVER_HOST_INITIALIZATION): Define to call
darwin_driver_init, independent of CROSS_DIRECTORY_STRUCTURE.
* config/darwin.opt (all_load, allowable_client,
arch_errors_fatal, bind_at_load, bundle, bundle_loader,
dead_strip, dependency-file, dylib_file, dynamic, dynamiclib,
exported_symbols_list, filelist, findirect-virtual-calls,
flat_namespace, force_cpusubtype_ALL, force_flat_namespace,
framework, fterminated-vtables, gfull, gused, image_base, init,
install_name, multi_module, multiply_defined,
multiply_defined_unused, no_dead_strip_inits_and_terms,
seg_addr_table, seg_addr_table_filename, segaddr,
segs_read_only_addr, segs_read_write_addr, single_module,
umbrella, unexported_symbols_list, weak_reference_mismatches,
Zall_load, Zarch_errors_fatal, Zbind_at_load, Zbundle,
Zdead_strip, Zdynamic, Zdynamiclib, Zflat_namespace,
Zforce_cpusubtype_ALL, Zforce_flat_namespace, Zmulti_module,
Zno_dead_strip_inits_and_terms, Zsingle_module): New.
* config/i386/darwin.h (CC1_SPEC): Add DARWIN_CC1_SPEC.
(ASM_SPEC): Add %{static}.
(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
* config/mep/mep.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
(DRIVER_SELF_SPECS): Handle options formerly in
TARGET_OPTION_TRANSLATE_TABLE.
* config/mep/mep.opt (mfar): New.
* config/picochip/picochip.h (TARGET_OPTION_TRANSLATE_TABLE):
Remove.
(DRIVER_SELF_SPECS): Define. Handle options formerly in
TARGET_OPTION_TRANSLATE_TABLE.
* config/rs6000/darwin.h (CC1_SPEC): Handle -faltivec and
-fno-altivec.
(SUBTARGET_OPTION_TRANSLATE_TABLE): Remove.
* config/rs6000/darwin.opt (Waltivec-long-deprecated, faltivec,
ffix-and-continue, findirect-data): New.
* config/rx/rx.h (TARGET_OPTION_TRANSLATE_TABLE): Remove.
* config/rx/rx.opt (nofpu): Make into alias of mnofpu.
(mnofpu): Define mask and use Report here.
From-SVN: r166534
Eric Botcazou [Wed, 10 Nov 2010 12:09:46 +0000 (12:09 +0000)]
trans.c (gigi): Don't set 'pure' flag on SJLJ routines.
* gcc-interface/trans.c (gigi): Don't set 'pure' flag on SJLJ routines.
* gcc-interface/utils2.c (compare_arrays): Add LOC parameter. Set it
directly on all the comparison expressions.
(build_binary_op): Pass input_location to compare_arrays.
From-SVN: r166533
Eric Botcazou [Wed, 10 Nov 2010 11:56:14 +0000 (11:56 +0000)]
trans.c (lvalue_required_p) <N_Type_Conversion>): Look through it for elementary types as well.
* gcc-interface/trans.c (lvalue_required_p) <N_Type_Conversion>): Look
through it for elementary types as well.
<N_Unchecked_Type_Conversion>: Adjust to above change.
<N_Allocator>: Likewise.
(gnat_to_gnu): Do not attempt to rewrite boolean literals.
From-SVN: r166532
Andreas Krebbel [Wed, 10 Nov 2010 11:37:03 +0000 (11:37 +0000)]
s390.c (s390_emit_prologue): Report the stack size if -fstack-usage is used.
2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc/config/s390/s390.c (s390_emit_prologue): Report the stack
size if -fstack-usage is used.
2010-11-10 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* gcc.dg/stack-usage-1.c: Define SIZE for s390 and s390x.
From-SVN: r166531
Eric Botcazou [Wed, 10 Nov 2010 11:35:08 +0000 (11:35 +0000)]
decl.c (gnat_to_gnu_entity): Do not set DECL_ARTIFICIAL on the reused DECL node coming from a renamed object.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not set DECL_ARTIFICIAL
on the reused DECL node coming from a renamed object.
Set DECL_IGNORED_P on the DECL node built for renaming entities if they
don't need debug info.
From-SVN: r166530
Joern Rennecke [Wed, 10 Nov 2010 11:29:00 +0000 (11:29 +0000)]
re PR target/46407 (rx-elf --enable-werror-all build failure)
PR target/46407
* config/rx/rx.h (REGISTER_NAMES): Remove trailing semicolon.
* config/rx/rx.c (rx_promote_function_mode): Mark punsignedp
with ATTRIBUTE_UNUSED.
(valid_psw_flag): Constify parameter which.
(rx_memory_move_cost): Change type of parameter regclass to reg_class_t.
From-SVN: r166529
Paolo Carlini [Wed, 10 Nov 2010 11:19:21 +0000 (11:19 +0000)]
hashtable.h (_Hashtable<>::_Insert_Conv_Type, [...]): Change to private.
2010-11-10 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/hashtable.h (_Hashtable<>::_Insert_Conv_Type,
_Hashtable<>::_Insert_Return_Type): Change to private.
From-SVN: r166528
Richard Biener [Wed, 10 Nov 2010 10:59:20 +0000 (10:59 +0000)]
re PR tree-optimization/46398 (early FRE miscompiles simple testcase)
2010-11-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/46398
* tree-ssa-sccvn.c (process_scc): Iterate for all PHIs.
* gcc.dg/torture/pr46398.c: New testcase.
From-SVN: r166527
Joern Rennecke [Wed, 10 Nov 2010 10:55:51 +0000 (10:55 +0000)]
Add PR marker to ChangeLog entry:
PR middle-end/44766
* expr.c (can_store_by_pieces): Add ATTRIBUTE_UNUSED to cst.
From-SVN: r166526
Jonathan Wakely [Wed, 10 Nov 2010 10:09:03 +0000 (10:09 +0000)]
unique_ptr.h: Use static_assert in constexpr constructors.
2010-11-10 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/unique_ptr.h: Use static_assert in constexpr
constructors.
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Remove xfails.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.
From-SVN: r166525