burnus [Tue, 22 May 2012 10:10:47 +0000 (10:10 +0000)]
2012-05-22 Tobias Burnus <burnus@net-b.de>
PR fortran/53389
* trans-array.c (gfc_add_loop_ss_code): Don't evaluate
* expression, if
ss->is_alloc_lhs is set.
2012-05-22 Tobias Burnus <burnus@net-b.de>
PR fortran/53389
* gfortran.dg/realloc_on_assign_15.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187769
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 22 May 2012 09:35:32 +0000 (09:35 +0000)]
2012-05-22 Richard Guenther <rguenther@suse.de>
PR middle-end/51071
* gcc.dg/torture/pr51071-2.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187768
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 22 May 2012 09:33:42 +0000 (09:33 +0000)]
2012-05-22 Richard Guenther <rguenther@suse.de>
PR middle-end/53437
* tree-inline.c (setup_one_parameter): Create a dummy init
statement for unused parameters when not optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187767
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 22 May 2012 09:33:01 +0000 (09:33 +0000)]
2012-05-22 Richard Guenther <rguenther@suse.de>
* tree-flow.h (add_referenced_var_1): Declare.
(add_referenced_var): Define.
* tree-dfa.c (referenced_var_check_and_insert): Avoid one hash
lookup.
(add_referenced_var): Rename to ...
(add_referenced_var_1): ... this. Take struct function argument.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187766
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Tue, 22 May 2012 09:06:55 +0000 (09:06 +0000)]
Fix PR target/53334
2012-05-22 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/53334
* config/arm/arm-protos.h (arm_validize_comparison): Declare.
* config/arm/arm.c (arm_validize_comparison): Define.
* config/arm/arm.md ("cbranchsi4"): Cleanup expansion and use
arm_validize_comparison.
("cbranchdi4"): Likewise.
("cstoredi4"): Likewise.
("movsicc"): Likewise.
("movsfcc"): Likewise.
("movdfcc"): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187761
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Tue, 22 May 2012 08:35:32 +0000 (08:35 +0000)]
2012-05-22 Dimitrios Apostolou <jimis@gmx.net>
* df-scan.c (df_scan_alloc): Round up allocation pools size, reduce
the mw_reg_pool size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187760
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Tue, 22 May 2012 08:31:52 +0000 (08:31 +0000)]
gcc:
2012-05-16 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/53336
* tree-cfg.c (verify_gimple_assign_unary): Allow conversion from
non-integer integral types to offset type and vice versa.
gcc/testsuite:
2012-05-16 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/53336
* g++.dg/torture/pr53336.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187759
138bc75d-0d04-0410-961f-
82ee72b054a4
bonzini [Tue, 22 May 2012 08:29:10 +0000 (08:29 +0000)]
fix paths in previous ChangeLog entry
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187758
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Tue, 22 May 2012 03:50:26 +0000 (03:50 +0000)]
PR c++/53322 - -Wunused-local-typedefs is not enabled by Wall or Wunused
As the audit trail of this shows, -Wunused-local-typedefs is not
turned on by -Wunused after all. Sigh.
Now that we have the EnabledBy construct for the *.opt files, it's
more precise and concise to use that to make -Wunused-local-typedefs
be triggered by -Wunused.
I have changed the gcc+.dg/warn/Wunused-local-typedefs.C test case to
make it use -Wunused instead of -Wunused-local-typedefs. I had to
adjust it to avoid the warnings due to the other -W* options triggered
by -Wunused there.
While testing the compiler, it turned out that some local typedefs
were not being used when the experimental "Concepts" support is turned
off, in the libstdc++ test suite. I also had to remove some obvious
useless local typedef usage in the fortran front-end. Fixed thus.
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
gcc/c-family/
PR c++/53322
* c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
libstdc++-v3/
PR c++/53322
* include/bits/stl_algobase.h (lower_bound)
(lexicographical_compare): Do not declare unused local typedefs
here when Concepts are turned off.
gcc/fortran/
PR c++/53322
* f95-lang.c (gfc_init_builtin_functions): Remove the unused
typedef builtin_type.
gcc/testsuite/
PR c++/53322
* g++.dg/warn/Wunused-local-typedefs.C: Adjust to use -Wunused
instead of -Wunused-local-typedefs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187757
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 22 May 2012 00:18:48 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187755
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 21 May 2012 23:40:55 +0000 (23:40 +0000)]
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
* testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
* Likewise.
* testsuite/23_containers/unordered_map/observers.cc: Likewise.
* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
* testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
* testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
* testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
* testsuite/23_containers/unordered_set/observers.cc: Likewise.
* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
* testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
* testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
* Likewise.
* testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187751
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 21 May 2012 22:55:09 +0000 (22:55 +0000)]
* aix.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
* darwin.h (FP_SAVE_INLINE, GP_SAVE_INLINE): Delete.
* sysv4.h (FP_SAVE_INLINE, GP_SAVE_INLINE, V_SAVE_INLINE): Delete.
* config/rs6000/rs6000.c (V_SAVE_INLINE): Delete.
(rs6000_savres_strategy): Reimplement GP/FP/V_SAVE_INLINE logic.
For ELF targets, use out-of-line restores for -Os and any number
of regs if the restore exits, and out-of-line gp save for two or
more regs. Use save_reg_p to test for holes in reg restore set.
Replace "#if" with "if".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187750
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 21 May 2012 22:51:38 +0000 (22:51 +0000)]
* config/rs6000/rs6000.c (save_reg_p): New function.
(first_reg_to_save, first_fp_reg_to_save): Use it here.
(first_altivec_reg_to_save, restore_saved_cr): Likewise.
(emit_frame_save): Use gen_frame_store.
(gen_frame_mem_offset): Correct SPE condition requiring reg+reg.
(rs6000_emit_prologue): Use save_reg_p. Use gen_frame_store for
vrsave and toc.
(rs6000_emit_epilogue): Use save_reg_p. Use gen_frame_load for
vrsave, toc, gp and fp restores.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187749
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 21 May 2012 22:49:51 +0000 (22:49 +0000)]
* config/rs6000/rs6000.c: Delete unnecessary forward declarations.
Move those with ATTRIBUTE_UNUSED to immediately before definitions.
Move function pointer variables after forward declarations.
(rs6000_builtin_support_vector_misalignment): Make static.
(rs6000_legitimate_address_p, rs6000_gimplify_va_arg): Likewise.
(rs6000_function_value, rs6000_can_eliminate): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187748
138bc75d-0d04-0410-961f-
82ee72b054a4
pmarlier [Mon, 21 May 2012 22:48:00 +0000 (22:48 +0000)]
2012-05-21 Patrick Marlier <patrick.marlier@gmail.com>
* eh_cpp.cc: Fix __cxa_end_catch declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187747
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 21 May 2012 22:17:54 +0000 (22:17 +0000)]
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53361
* testsuite/23_containers/array/cons/53361.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187746
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 21 May 2012 21:37:01 +0000 (21:37 +0000)]
PR rtl-optimization/53373
* caller-save.c (save_call_clobbered_regs): Look into a possible
PARALLEL manually rather than using single_set on a call insn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187745
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 21 May 2012 21:05:33 +0000 (21:05 +0000)]
PR tree-optimization/53436
* omp-low.c (omp_build_component_ref): New function.
(build_receiver_ref, build_sender_ref, create_task_copyfn): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187741
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 21 May 2012 19:32:55 +0000 (19:32 +0000)]
* config/i386/i386.c (put_condition_code): Change "reverse" and "fp"
arguments to bool.
(ix86_print_operand) <case 'O'>: Look at mode size of the operand.
Do not print '.' here. Output operand lossage error for unhandled
sizes. Move.
<case '*'>: Move.
<case '&'>: Ditto.
<case 'Y'>: Ditto.
<case 'z'>: Hardcode "code" argument into error strings.
<case 'Z'>: Ditto.
<case 'D'>: Merge AVX and non-AVX codes.
<case 'C', case 'c', case 'F', case 'f'>: Merge. Fix error string.
Update call to put_condition_code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187734
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Mon, 21 May 2012 18:56:35 +0000 (18:56 +0000)]
2012-05-21 Andrew Pinski <apinski@cavium.com>
PR bootstrap/53183
* configure.ac: Define the default includes to being none.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187732
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Mon, 21 May 2012 18:43:27 +0000 (18:43 +0000)]
* config/m68k/m68k.md (*clzsi2_cf): Renamed from clzsi2. Call
CC_STATUS_INIT.
(clzsi2): New expander.
(*clzsi2_68k): New insn.
* config/m68k/m68k.h: Update comment about
CLZ_DEFINED_VALUE_AT_ZERO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187731
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Mon, 21 May 2012 18:02:17 +0000 (18:02 +0000)]
* gimple.h (gimple_set_in_transaction): Remove.
(gimple_in_transaction): Look in BB instead.
(gimple_statement_base): Remove in_transaction field.
* basic-block.h (enum bb_flags): Add BB_IN_TRANSACTION.
* trans-mem.c (compute_transaction_bits): Place transaction bit
information into basic blocks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187729
138bc75d-0d04-0410-961f-
82ee72b054a4
bkoz [Mon, 21 May 2012 17:34:25 +0000 (17:34 +0000)]
2012-05-21 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52700
* configure.ac: Allow gnu, gnu-versioned-namespace for
--enable-symvers arguments.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187728
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Mon, 21 May 2012 17:21:44 +0000 (17:21 +0000)]
* expr.c (get_def_for_expr_class): Define only if
HAVE_conditional_move.
(convert_tree_comp_to_rtx): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187727
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 21 May 2012 16:27:40 +0000 (16:27 +0000)]
PR java/52815
* class.c (emit_register_classes_in_jcr_section): Revise placement
of #ifdef JCR_SECTION_NAME.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187724
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 21 May 2012 16:01:01 +0000 (16:01 +0000)]
Fix PR number in ChangeLogs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187723
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 21 May 2012 15:46:25 +0000 (15:46 +0000)]
PR target/53399
* config/i386/i386.md (ffs<mode>2): Generate CCCmode compare
for TARGET_BMI.
(ffssi2_no_cmove): Ditto.
(*ffs<mode>_1): Remove insn pattern.
(*tzcnt<mode>_1): New insn pattern.
(*bsf<mode>1): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187722
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 21 May 2012 15:12:13 +0000 (15:12 +0000)]
/cp
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51184
* decl.c (grokdeclarator): Diagnose functions returning abstract
class types as TYPENAME.
* cp-tree.h (ABSTRACT_CLASS_TYPE_P): Add.
* except.c (is_admissible_throw_operand_or_catch_parameter): Use it.
* pt.c (tsubst): Likewise.
* semantics.c (trait_expr_value): Likewise.
/testsuite
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51184
* g++.dg/other/abstract4.C: New-
/cp
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40821
* parser.c (cp_parser_attributes_opt): Enforce error checking of
unbalanced parentheses in the presence of tentative parsing.
/testsuite
2012-05-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/40821
* g++.dg/ext/attrib46.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187720
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 21 May 2012 14:53:21 +0000 (14:53 +0000)]
2012-05-21 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for
more referenced vars.
* tree-ssa-live.c (mark_all_vars_used_1): Only set the used
flag on variables that have a var-annotation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187719
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 21 May 2012 14:42:26 +0000 (14:42 +0000)]
PR c/53148
* c-typeck.c (build_conditional_expr): Remove C_MAYBE_CONST_EXPR
from folded operands before wrapping another around the
conditional expression.
testsuite:
* gcc.c-torture/compile/pr53418-1.c,
gcc.c-torture/compile/pr53418-2.c: New tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187718
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 21 May 2012 14:29:11 +0000 (14:29 +0000)]
PR tree-optimization/53366
* tree-vect-slp.c (vect_supported_load_permutation_p): Don't shortcut
tests if complex_numbers == 2, but there are non-complex number loads
too.
* gcc.dg/torture/pr53366-1.c: New test.
* gcc.dg/torture/pr53366-2.c: New test.
* gcc.target/i386/pr53366-1.c: New test.
* gcc.target/i386/pr53366-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187717
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 21 May 2012 14:27:10 +0000 (14:27 +0000)]
PR tree-optimization/53409
* tree-vect-loop.c (vect_analyze_loop_operations): Don't check
vinfo_for_stmt (op_def_stmt) if op_def_stmt isn't inside loop.
* gcc.c-torture/compile/pr53409.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187716
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 21 May 2012 14:25:03 +0000 (14:25 +0000)]
PR tree-optimization/53410
* fold-const.c (fold_binary_loc): Use build_zero_cst (type)
instead of build_int_cst (type, 0) where vector types might be
involved. Instead of build_int_cst (type, 1) convert the original
integer_onep argument to the desired type.
* gcc.c-torture/compile/pr53410-1.c: New test.
* gcc.c-torture/compile/pr53410-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187715
138bc75d-0d04-0410-961f-
82ee72b054a4
matz [Mon, 21 May 2012 13:24:31 +0000 (13:24 +0000)]
* genattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.
(simplify_test_exp): Handle one more case of distributive law,
decrease cost threshold.
(tests_attr_p, get_attr_order): New functions.
(optimize_attrs): Use topological order, inline only cheap values.
(write_attr_set): Reset our_known_true after some time.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187714
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 21 May 2012 12:48:38 +0000 (12:48 +0000)]
Warn passing SSE argument ABI change for -m64
gcc/
PR target/53425
* config/i386/i386.c (type_natural_mode): Warn passing SSE
vector argument without SSE enabled changes the ABI.
gcc/testsuite/
PR target/53425
* gcc.target/i386/pr53425-1.c: New file.
* gcc.target/i386/pr53425-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187711
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 21 May 2012 12:45:59 +0000 (12:45 +0000)]
2012-05-21 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53408
* tree-vect-loop.c (vectorizable_induction): Properly check
the restriction that we cannot handle induction results from
the inner loop outside of the outer loop.
* gcc.dg/torture/pr53408.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187710
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 21 May 2012 12:31:45 +0000 (12:31 +0000)]
Use unspec_volatile on rdrand<mode>_1
gcc/
PR target/53416
* config/i386/i386.md (UNSPEC_RDRAND): Renamed to ...
(UNSPECV_RDRAND): This.
(rdrand<mode>_1): Updated.
gcc/testsuite/
PR target/53416
* gcc.target/i386/pr53416.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187709
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 21 May 2012 10:48:07 +0000 (10:48 +0000)]
2012-05-21 Richard Guenther <rguenther@suse.de>
* gfortran.dg/pr46519-2.f90: Adjust to avoid memset transform.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187708
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 21 May 2012 10:46:19 +0000 (10:46 +0000)]
2012-05-21 Richard Guenther <rguenther@suse.de>
* tree-loop-distribution.c (can_generate_builtin): Reject
volatile stmts.
* gcc.dg/torture/ldist-1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187707
138bc75d-0d04-0410-961f-
82ee72b054a4
cltang [Mon, 21 May 2012 10:33:43 +0000 (10:33 +0000)]
2012-05-21 Chung-Lin Tang <cltang@codesourcery.com>
* Makefile.in (options.c): Add options.h to included header
files, before tm.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187705
138bc75d-0d04-0410-961f-
82ee72b054a4
razya [Mon, 21 May 2012 07:39:38 +0000 (07:39 +0000)]
2012-05-21 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c : Add myself to contributors, update
TODO list, add link to wiki.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187704
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 21 May 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187703
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Sun, 20 May 2012 23:31:35 +0000 (23:31 +0000)]
* config/rs6000/predicates.md (input_operand): Don't match
constant pool addresses. Remove label_ref, high and plus from
match_code list. Remove redundant CONSTANT_P test.
(splat_input_operand): Similarly update match_code list.
(small_toc_ref): New predicate.
* config/rs6000/rs6000-protos.h (toc_relative_expr_p): Update prototype.
* config/rs6000/rs6000.c (tocrel_base, tocrel_offset): Make const.
(legitimate_constant_pool_address_p): Move TARGET_TOC test and
register checks to..
(toc_relative_expr_p): ..here. Add "strict" param. Match new rtl
generated by create_TOC_reference.
(rs6000_legitimize_address): Update cerate_TOC_reference call.
(rs6000_delegitimize_address): Handle new rtl for toc refs.
(rs6000_cannot_force_const_mem, rs6000_find_base_term): Likewise.
(use_toc_relative_ref): New function, split out from..
(rs6000_emit_move): ..here. Remove redundant tests. Update
create_TOC_reference calls.
(rs6000_legitimize_reload_address): Formatting. Handle splitting
of medium/large model toc addresses. Use use_toc_relative_ref.
(print_operand): Formatting, style. Adjust for toc changes.
(print_operand_address): Likewise.
(rs6000_output_addr_const_extra): Likewise.
(create_TOC_reference): Put TOC_REGISTER in UNSPEC_TOCREL rather
than a PLUS. Use this formulation for both high and low part
of -mcmodel=medium/large toc reference too. Before reload,
always use the small model formulation.
* config/rs6000/rs6000.md (tls_gd, tls_gd_high): Similarly avoid
a PLUS in high part of addresses here.
(tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
(tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
(largetoc_high, largetoc_low): Move earlier. Cope when no
base reg available.
(largetoc_high_plus): New insn.
(movsi_internal1, movsi_internal1_single, movsf_softfloat,
movdi_mfpgpr, movdi_internal64): Don't handle 'R' constraint here..
(tocref): ..instead do so here, new insn and split.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187699
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sun, 20 May 2012 21:34:14 +0000 (21:34 +0000)]
Add RDRND, F16C and FSGSBASE support to -march=native
* config/i386/driver-i386.c (host_detect_local_cpu): Support
RDRND, F16C and FSGSBASE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187696
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Sun, 20 May 2012 16:32:50 +0000 (16:32 +0000)]
PR rtl-optimzation/53373
* config/pa/pa.md (call_symref_pic): Don't expose PIC register save in
call pattern. Update split patterns.
(call_symref_64bit, call_reg_pic, call_reg_64bit, call_val_symref_pic,
call_val_symref_64bit, call_val_reg_pic, call_val_reg_64bit): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187695
138bc75d-0d04-0410-961f-
82ee72b054a4
razya [Sun, 20 May 2012 11:41:45 +0000 (11:41 +0000)]
2012-05-20 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c (gen_parallel_loop): Change many_iterations_cond for outer loops.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187694
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 20 May 2012 09:42:42 +0000 (09:42 +0000)]
* gcc-interface/utils.c (gnat_write_global_declarations): Put a name
on the dummy global variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187692
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 20 May 2012 06:54:25 +0000 (06:54 +0000)]
Fix oversight
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187691
138bc75d-0d04-0410-961f-
82ee72b054a4
gfunck [Sun, 20 May 2012 00:55:05 +0000 (00:55 +0000)]
toplevel/include/
* dwarf2.def: Update comment re: UPC extensions to reference
DWARF4 specification.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187689
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 20 May 2012 00:18:39 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187688
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 19 May 2012 20:36:48 +0000 (20:36 +0000)]
* cgraphunit.c (handle_alias_pairs): Declare; free alias_pairs
(cgraph_process_new_functions): Process also aliases.
* lto-streamer-out.c (struct sets): Remove.
(trivally_defined_alias): Remove.
(output_alias_pair_p): Remove.
(output_unreferenced_globals): Remove.
(produce_symtab); Do not handle alias pairs.
(produce_asm_for_decls): Likewise.
* lto-streamer-in.c (input_alias_pairs): Remove.
(lto_read_body): Do not input alias pairs.
(lto_input_constructors_and_inits): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187681
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 19 May 2012 15:26:30 +0000 (15:26 +0000)]
* cgraphunit.c (handle_alias_pairs): Cleanup; handle all types of aliases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187680
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 19 May 2012 09:49:47 +0000 (09:49 +0000)]
* cgraphbuild.c (record_reference): Update.
* lto-cgraph.c (lto_output_varpool_node): External vars
are not in other partition even if they are not output
in current partition.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Take FROM_DECL
argument; fix.
(canonicalize_constructor_val): Take FROM_DECL argument.
(fold_ctor_reference, fold_string_cst_ctor_reference,
fold_array_ctor_reference, fold_nonarray_ctor_reference,
fold_ctor_reference): Likewise.
(fold_const_aggregate_ref_1, gimple_get_virt_method_for_binfo): Update.
* gimple.h (gimple_fold_builtin): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187678
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 19 May 2012 09:32:50 +0000 (09:32 +0000)]
* gcc-interface/decl.c (Has_Thiscall_Convention): New macro.
(gnat_to_gnu_entity) <E_Subprogram_Type>: Test it to set the thiscall
calling convention
(get_minimal_subprog_decl): Likewise.
(gnat_first_param_is_class): New predicate.
* gcc-interface/misc.c (gnat_handle_option): Fix formatting.
* gcc-interface/Makefile.in: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187676
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 19 May 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187674
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 18 May 2012 20:33:49 +0000 (20:33 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: For an object at
global level with unconstrained nominal subtype and a non-fixed size,
make a variable for the size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187666
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Fri, 18 May 2012 20:15:42 +0000 (20:15 +0000)]
compiler: Fix erroneous use of VEC.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187664
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Fri, 18 May 2012 16:30:24 +0000 (16:30 +0000)]
gcc/
* Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
$(libsubdir) as libexecsubdir.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187658
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 18 May 2012 16:01:17 +0000 (16:01 +0000)]
2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (print_operand): Revise code that unsafely
relied on signed overflow behavior.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187657
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 18 May 2012 13:10:01 +0000 (13:10 +0000)]
2012-05-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53346
* tree-loop-distribution.c (ldist_gen): Make sure to apply
builtin transform even when only a single partition with
all reads/writes exists.
* gcc.dg/tree-ssa/ldist-18.c: New testcase.
* gcc.target/i386/incoming-10.c: Adjust.
* gcc.target/i386/incoming-11.c: Likewise.
* gcc.target/i386/pr46295.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187655
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 18 May 2012 12:30:36 +0000 (12:30 +0000)]
2012-05-18 Richard Guenther <rguenther@suse.de>
* gcc.dg/pr53352.c: Return zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187654
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 18 May 2012 12:09:49 +0000 (12:09 +0000)]
2012-05-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53390
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Ignore
strided loads.
* gcc.dg/torture/pr53390.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187653
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 18 May 2012 12:02:54 +0000 (12:02 +0000)]
2012-05-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* tree-ssa-reassoc.c (bip_map): Remove decl.
(completely_remove_stmt): Remove function.
(remove_def_if_absorbed_call): Remove function.
(remove_visited_stmt_chain): Remove __builtin_powi handling.
(possibly_move_powi): Remove function.
(rewrite_expr_tree): Remove calls to possibly_move_powi.
(rewrite_expr_tree_parallel): Likewise.
(attempt_builtin_powi): Build multiplies explicitly rather than
relying on the ops vector and rank system.
(transform_stmt_to_copy): New function.
(transform_stmt_to_multiply): Likewise.
(reassociate_bb): Handle leftover operations after __builtin_powi
optimization; build a final multiply if necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187652
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 18 May 2012 11:44:52 +0000 (11:44 +0000)]
* cgraphunit.c (varpool_finalize_decl): Allow external decls.
(mark_functions_to_output): Fix sanity check.
* ipa.c (function_and_variable_visibility): Remove TREE_STATIC
check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187651
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 18 May 2012 10:19:22 +0000 (10:19 +0000)]
2012-05-18 Richard Guenther <rguenther@suse.de>
* tree-flow.h (mark_symbols_for_renaming): Remove.
* tree-dfa.c (mark_symbols_for_renaming): Likewise.
* tree-inline.c (copy_edges_for_bb): Do not mark symbols for
renaming.
(copy_debug_stmt): Likewise.
(expand_call_inline): Likewise.
(declare_return_variable): Mark the return variable for renaming
if necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187650
138bc75d-0d04-0410-961f-
82ee72b054a4
ams [Fri, 18 May 2012 09:10:36 +0000 (09:10 +0000)]
2012-05-18 Andrew Stubbs <ams@codesourcery.com>
gcc/
* config/arm/arm-protos.h (arm_emit_coreregs_64bit_shift): New
prototype.
* config/arm/arm.c (arm_emit_coreregs_64bit_shift): New function.
* config/arm/arm.md (ashldi3): Use arm_emit_coreregs_64bit_shift.
(ashrdi3,lshrdi3): Likewise.
(arm_cond_branch): Remove '*' to enable gen_arm_cond_branch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187649
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 18 May 2012 09:04:38 +0000 (09:04 +0000)]
gcc/
2012-05-15 Meador Inge <meadori@codesourcery.com>
PR rtl-optimization/53352
* cse.c (equiv_constant): Ignore paradoxical subregs.
gcc/testsuite/
2012-05-15 Meador Inge <meadori@codesourcery.com>
PR rtl-optimization/53352
* gcc.dg/pr53352.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187648
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 18 May 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187647
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Thu, 17 May 2012 19:27:52 +0000 (19:27 +0000)]
Fix bessel_7.f90 failures on sparc-*-linux-gnu
* gfortran.dg/bessel_7.f90: Bump allowed precision to avoid
failure on sparc-*-linux-gnu.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187636
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 17 May 2012 18:56:06 +0000 (18:56 +0000)]
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in the last ChangeLog entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187635
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 17 May 2012 18:54:37 +0000 (18:54 +0000)]
/cp
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39681
* parser.c (cp_parser_new_type_id): Early return error_mark_node
if the cp_parser_type_specifier_seq call has type_specifier_seq.type
error_mark_node; tidy.
(cp_parser_new_expression): Always initialize nelts to NULL_TREE to
avoid uninitialized warnings.
(cp_parser_init_declarator, cp_parser_late_parse_one_default_arg):
Call cp_parser_skip_to_end_of_statement if cp_parser_initializer
returns error_mark_node.
/testsuite
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/39681
* g++.dg/parse/error48.C: New.
* g++.dg/cpp0x/error8.C: Likewise.
* g++.dg/ext/utf-cxx98.C: Adjust dg-error directive.
* g++.dg/ext/utf-dflt2.C: Likewise.
* g++.dg/ext/utf-gnuxx98.C: Likewise.
* g++.dg/ext/utf-dflt.C: Likewise.
* c-c++-common/raw-string-3.c: Likewise.
* c-c++-common/raw-string-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187634
138bc75d-0d04-0410-961f-
82ee72b054a4
steven [Thu, 17 May 2012 17:54:52 +0000 (17:54 +0000)]
PR rtl-optimization/53125
* regstat.c (regstat_bb_compute_ri): Take new local_live_last_luid
argument. Simplify calculation of REG_LIVE_LENGTH for regnos that
die in the basic block. Correctly top off REG_FREQ and
REG_FREQ_CALLS_CROSSED.
Remove do_not_gen.
(regstat_compute_ri): Allocate and free local_live_last_luid.
Remove do_not_gen.
(regstat_bb_compute_calls_crossed): Correctly top off
REG_FREQ_CALLS_CROSSED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187633
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 May 2012 16:37:33 +0000 (16:37 +0000)]
* lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor
over decl without.
* cgraph.c (cgraph_remove_node): Clear also body of unanalyzed nodes.
* cgraph.h (varpool_can_remove_if_no_refs): Handle external correctly.
* cgraphunit.c (process_function_and_variable_attributes): Finalize
extrnal decls.
(mark_functions_to_output): Also accept bodies for functions with clones.
(output_in_order): Skip external vars.
* lto-cgraph.c (lto_output_node): External functions are never in other
partition.
(lto_output_varpool_node): Likewise.
* lto-streamer-out.c (lto_write_tree): Always use error_mark_nodes for
forgotten initializers.
* ipa.c (process_references): Handle external vars.
(symtab_remove_unreachable_nodes): Update to handle external vars.
(varpool_externally_visible_p): External vars are externally visible.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
* varpool.c (varpool_remove_node): Remove constructor.
(decide_is_variable_needed): Handle externals.
(varpool_remove_unreferenced_decls): Likewise.
* lto-partition.c (add_references_to_partition): Handle external vars.
(partition_varpool_node_p): Likewise.
(lto_promote_cross_file_statics): Do not promote externals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187631
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 17 May 2012 15:55:51 +0000 (15:55 +0000)]
/cp
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53371
* except.c (is_admissible_throw_operand): Rename to
is_admissible_throw_operand_or_catch_parameter and handle
catch parameter too.
(expand_start_catch_block): Use it.
(build_throw): Adjust.
/testsuite
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53371
* g++.dg/cpp0x/catch1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187630
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 17 May 2012 15:28:53 +0000 (15:28 +0000)]
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR objc++/53388
* objc-act.c (objc_get_class_reference, objc_build_message_expr):
Use build_min_nt_loc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187629
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Thu, 17 May 2012 11:50:37 +0000 (11:50 +0000)]
2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
c-family/
* c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
* c-opts.c (c_common_handle_option): Do not handle explicitly
Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
gcc/
* opts.c (common_handle_option): -pedantic-errors enables -Wpedantic.
(enable_warning_as_error): Do not special case Wuninitialized.
* optc-gen.awk: Add sanity checks.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187628
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 17 May 2012 10:29:46 +0000 (10:29 +0000)]
gcc/cp
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* typeck.c (build_x_array_ref, build_x_conditional_expr,
build_x_compound_expr, build_x_modify_expr): Add location_t parameter.
(finish_class_member_access_expr, build_x_indirect_ref,
build_x_binary_op, build_x_compound_expr_from_list,
build_x_compound_expr_from_vec): Adjust callers.
* tree.c (build_min_nt_loc): New.
(build_min_nt): Remove.
* typeck2.c (build_x_arrow): Adjust callers.
* pt.c (tsubst_qualified_id, tsubst_omp_for_iterator,
tsubst_copy_and_build): Likewise.
* semantics.c (finish_mem_initializers, handle_omp_for_class_iterator,
finish_omp_atomic): Likewise.
* decl2.c (grok_array_decl, build_anon_union_vars): Adjust.
* parser.c (cp_parser_question_colon_clause,
cp_parser_assignment_expression, cp_parser_expression,
cp_parser_template_id, cp_parser_omp_for_loop): Likewise.
* cp-tree.h: Update.
gcc/testsuite
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* g++.dg/parse/error48.C: New.
* g++.dg/template/crash89.C: Adjust dg-error line numbers.
* g++.old-deja/g++.robertl/eb109.C: Add column info to dg-error string.
libstdc++
2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/44516
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
dg-error line number.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187627
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 17 May 2012 09:22:02 +0000 (09:22 +0000)]
* ipa-reference.c (is_proper_for_analysis): Do not check flags
that might change as result of global optimization.
(analyze_function): Do not check analyzed and externally_visible
flags; be happy about address dereferences.
(propagate): Prune all_module_statics so it really contains just
statics; prune all the local summaries.
(ipa_reference_write_optimization_summary): Simplify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187626
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 17 May 2012 09:13:35 +0000 (09:13 +0000)]
* config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm,
51qm.
* config/m68k/m68k-tables.opt: Regenerated.
* doc/invoke.texi (M680x0 Options): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187625
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 May 2012 05:30:25 +0000 (05:30 +0000)]
runtime: Print stack trace on panic or signal.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187623
138bc75d-0d04-0410-961f-
82ee72b054a4
pmarlier [Thu, 17 May 2012 02:57:56 +0000 (02:57 +0000)]
2012-05-16 Dave Boutcher <daveboutcher@gmail.com>
Patrick Marlier <patrick.marlier@gmail.com>
* trans-mem.c (ipa_tm_transform_clone): Transform functions with
indirect calls.
testsuite/
2012-05-16 Patrick Marlier <patrick.marlier@gmail.com>
* gcc.dg/tm/indirect-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187621
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 17 May 2012 00:17:42 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187620
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Wed, 16 May 2012 22:11:18 +0000 (22:11 +0000)]
Regenerate configure files for libtool.m4 change
boehm-gc/
* configure: Regenerated.
gcc/
* configure: Regenerated.
libatomic/
* configure: Regenerated.
libffi/
* configure: Regenerated.
libgfortran/
* configure: Regenerated.
libgomp/
* configure: Regenerated.
libitm/
* configure: Regenerated.
libjava/classpath/
* configure: Regenerated.
libjava/
* configure: Regenerated.
libmudflap/
* configure: Regenerated.
libobjc/
* configure: Regenerated.
libquadmath/
* configure: Regenerated.
libssp/
* configure: Regenerated.
libstdc++-v3/
* configure: Regenerated.
lto-plugin/
* configure: Regenerated.
zlib/
* configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187616
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Wed, 16 May 2012 20:22:03 +0000 (20:22 +0000)]
2012-05-16 Andrew Pinski <apinski@cavium.com>
* gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
GIMPLE_ASSIGN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187608
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Wed, 16 May 2012 20:11:46 +0000 (20:11 +0000)]
Fix var tracking ICE due to reorg.
If during reorg we delete a code label, and as a result we decide to
delete all the code following that label, we hit this condition in
jump.c:delete_related_insns():
if (was_code_label && prev && BARRIER_P (prev))
which passes and then we proceed to delete insns until we hit a
non-deleted code label.
During this traversal, we can end up deleting a CALL, but in doing so
we will leave the var tracking note for the call arguments around.
Later in dwarf2_var_location() we will ICE, because we can't find the
CALL when we search backwards for it.
The note searching scheme in the fix below is cribbed from code in
try_split() which has to handle a similar problem.
gcc/
* jump.c (delete_related_insns): If we remove a CALL, make sure
we delete it's NOTE_INSN_CALL_ARG_LOCATION note too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187606
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Wed, 16 May 2012 18:39:34 +0000 (18:39 +0000)]
2012-05-16 Tobias Burnus <burnus@net-b.de>
* io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187604
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Wed, 16 May 2012 15:36:08 +0000 (15:36 +0000)]
libgcc/
* Makefile.in (install-unwind_h): Rename into ...
(install-unwind_h-forbuild): New target.
(all): Use it instead of the former install-unwind_h.
(install-unwind_h): Reinstate, copy to user install destination
for include files, not to the internal gcc object directory one.
(install-leaf): Depend on it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187599
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 16 May 2012 14:52:03 +0000 (14:52 +0000)]
log/syslog: Fix name of C function syslog_c.
From Rainer Orth.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187596
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 16 May 2012 14:39:32 +0000 (14:39 +0000)]
gcc:
2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/53217
* tree-ssa-reassoc.c (bip_map): New static variable.
(possibly_move_powi): Move feeding multiplies with __builtin_powi call.
(attempt_builtin_powi): Save feeding multiplies on a stack.
(reassociate_bb): Create and destroy bip_map.
gcc/testsuite:
2012-05-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/53217
* gfortran.dg/pr53217.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187595
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Wed, 16 May 2012 13:37:14 +0000 (13:37 +0000)]
toplevel/
* Makefile.tpl (gcc-no-fixedincludes): Rename into ...
(gcc-install-no-fixedincludes): Now forwarder to local target in gcc/
(install-no-fixedincludes): Adjust accordingly.
* Makefile.in: Regenerate.
gcc/
* Makefile.in (install-no-fixedincludes): New target, former toplevel
gcc-no-fixedincludes. Stash "include-fixed" in addition to "include".
Add comments and improve stamp preservation across the whole sequence.
(stmp-int-hdrs): Use move-if-change + cp -p to setup fix_dir/limits.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187594
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 May 2012 13:36:07 +0000 (13:36 +0000)]
2012-05-16 Richard Guenther <rguenther@suse.de>
* tree-inline.c (insert_init_stmt): Do not call
mark_symbols_for_renaming.
(setup_one_parameter): Avoid initializing unused parameters.
(declare_return_variable): Properly handle DECL_BY_REFERENCE
return vars in SSA form.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187593
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 May 2012 13:31:39 +0000 (13:31 +0000)]
2012-05-16 Richard Guenther <rguenther@suse.de>
* tree-flow.h (get_virtual_var): Remove.
* tree-dfa.c (get_virtual_var): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187592
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 May 2012 13:21:38 +0000 (13:21 +0000)]
2012-05-16 Richard Guenther <rguenther@suse.de>
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
Remove set-only bitmap of new names.
(slpeel_tree_peel_loop_to_edge): Likewise. Do not set
CFG hooks.
* tree-flow.h (ssa_names_to_replace): Remove.
* tree-into-ssa.c (ssa_names_to_replace): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187591
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 May 2012 13:11:01 +0000 (13:11 +0000)]
2012-05-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/53364
* tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
detect a view-conversion of the decl.
* g++.dg/torture/pr53364.C: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187590
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Wed, 16 May 2012 12:46:36 +0000 (12:46 +0000)]
PR testsuite/52641
* gcc.dg/pr52549.c: Fix test for long != void*
* gcc.c-torture/execute/pr52979-1.x: New file.
* gcc.c-torture/execute/pr52979-2.x: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187588
138bc75d-0d04-0410-961f-
82ee72b054a4
dodji [Wed, 16 May 2012 10:51:15 +0000 (10:51 +0000)]
PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens
Now that we track token locations accross macro expansions, it would
be cool to be able to fix PR preprocessor/7263 for real. That is,
consider this example where we have a system header named header.h
like this:
#define _Complex __complex__ #define _Complex_I 1.0iF
and then a normal C file like this:
#include "header.h"
static _Complex float c = _Complex_I;
If we compile the file with -pedantic, the usages of _Complex or
_Complex_I should not trigger any warning, even though __complex__ and
the complex literal are extensions to the standard C.
They shouldn't trigger any warning because _Complex and _Complex_I are
defined in a system header (and expanded in normal user code).
To be able to handle this, we must address two separate concerns.
First, warnings about non-standard usage of numerical literals are emitted
directly from within libcpp. So we must teach libcpp's parser for numerical
literals to use virtual locations, instead of the spelling
location it uses today. Once we have that, as the diagnostics machinery
already knows how to avoid emitting errors happening on tokens that come from
system headers, we win.
Second, there is the issue of tracking locations for declaration
specifiers, like the "_Complex" in the declaration:
static _Complex float c;
For that, we need to arrange for each possible declaration specifier
to have its own location, because otherwise, we'd warn on e.g, on:
_Complex float c;
but not on:
static _Complex float c;
So this patch addresses the two concerns above. It's actually a
follow-up on an earlier patch[1] I wrote as part of my initial work on
virtual locations. We then agreed[2] that the second concern was
important to address before the patch could get a chance to go in.
[1]: http://gcc.gnu.org/ml/gcc-patches/2011-09/msg00957.html
[2]: http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00264.html
Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
libcpp/
PR preprocessor/7263
* include/cpplib.h (cpp_classify_number): Take a location
parameter.
* expr.c (SYNTAX_ERROR_AT, SYNTAX_ERROR2_AT): New diagnostic
macros that take a location parameter.
(cpp_classify_number): Take a (virtual) location parameter. Use
it for diagnostics. Adjust comments.
(eval_token): Take a location parameter. Pass it to
cpp_classify_number and to diagnostic routines.
(_cpp_parse_expr): Use virtual locations of tokens when parsing
expressions. Pass a virtual location to eval_token and to
diagnostic routines.
gcc/c-family/
PR preprocessor/7263
* c-lex.c (c_lex_with_flags): Pass a virtual location to the call
to cpp_classify_number. For diagnostics, use the precise location
instead of the global input_location.
gcc/
PR preprocessor/7263
* c-tree.h (enum c_declspec_word): Declare new enum.
(struct c_declspecs::locations): New member.
(declspecs_add_qual, declspecs_add_scspec)
(declspecs_add_addrspace, declspecs_add_alignas): Take a new
location parameter.
* c-decl.c (build_null_declspecs): Initialize the new struct
c_declspecs::locations member.
(declspecs_add_addrspace): Take a location parameter for the
address space. Store it onto declaration specifiers.
(declspecs_add_qual): Likewise, take a location parameter for the
qualifier.
(declspecs_add_type): Likewise, take a location parameter for the
type specifier.
(declspecs_add_scspec): Likewise, take a location parameter for
the storage class specifier.
(declspecs_add_attrs): Likewise, take a location parameter for the
first attribute.
(declspecs_add_alignas): Likewise, take a location parameter for
the alignas token.
(finish_declspecs): For diagnostics, use the location of the
relevant declspec, instead of the global input_location.
* c-parser.c (c_parser_parameter_declaration): Pass the precise
virtual location of the declspec to the declspecs-setters.
(c_parser_declspecs): Likewise. Avoid calling c_parser_peek_token
repeatedly.
gcc/cp/
PR preprocessor/7263
* cp-tree.h (enum cp_decl_spec): Add new enumerators to cover all
the possible declarator specifiers so far.
(struct cp_decl_specifier_seq::locations): Declare new member.
(cp_decl_specifier_seq::{specs, type_location}): Remove.
(decl_spec_seq_has_spec_p): Declare new function.
* parser.c (cp_parser_check_decl_spec): Remove.
(set_and_check_decl_spec_loc): Define new static function.
(decl_spec_seq_has_spec_p): Define new public function.
(cp_parser_decl_specifier_seq, cp_parser_function_specifier_opt)
(cp_parser_type_specifier, cp_parser_simple_type_specifier)
(cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
(cp_parser_alias_declaration): Set the locations for each
declspec, using set_and_check_decl_spec_loc.
(cp_parser_explicit_instantiation, cp_parser_init_declarator)
(cp_parser_member_declaration, cp_parser_init_declarator): Use the
new declspec location for specifiers. Use the new
decl_spec_seq_has_spec_p.
(cp_parser_type_specifier_seq): Use the new
set_and_check_decl_spec_loc. Stop using
cp_parser_check_decl_spec. Use the new decl_spec_seq_has_spec_p.
(, cp_parser_init_declarator): Use the new
set_and_check_decl_spec_loc.
(cp_parser_single_declaration, cp_parser_friend_p)
(cp_parser_objc_class_ivars, cp_parser_objc_struct_declaration):
Use the new decl_spec_seq_has_spec_p.
* decl.c (check_tag_decl): Use new decl_spec_seq_has_spec_p. Use
the more precise ds_redefined_builtin_type_spec location for
diagnostics about re-declaring C++ built-in types.
(start_decl, grokvardecl, grokdeclarator): Use the new
decl_spec_seq_has_spec_p.
gcc/testsuite/
PR preprocessor/7263
* gcc.dg/binary-constants-2.c: Run without tracking locations
accross macro expansion.
* gcc.dg/binary-constants-3.c: Likewise.
* gcc.dg/cpp/sysmac2.c: Likewise.
* testsuite/gcc.dg/nofixed-point-2.c: Adjust for more precise
location.
* gcc.dg/cpp/syshdr3.c: New test.
* gcc.dg/cpp/syshdr3.h: New header for the new test above.
* gcc.dg/system-binary-constants-1.c: New test.
* gcc.dg/system-binary-constants-1.h: New header for the new test
above.
* g++.dg/cpp/syshdr3.C: New test.
* g++.dg/cpp/syshdr3.h: New header the new test above.
* g++.dg/system-binary-constants-1.C: New test.
* g++.dg/system-binary-constants-1.h: New header the new test
above.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187587
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 16 May 2012 09:59:04 +0000 (09:59 +0000)]
* configure.ac: Stack protector enabling for Android targets.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187586
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Wed, 16 May 2012 09:21:27 +0000 (09:21 +0000)]
* config/rs6000/e500-double.h: Really remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187585
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Wed, 16 May 2012 09:01:54 +0000 (09:01 +0000)]
gcc/
* ira.c (pseudo_move_insn): Delete.
(find_moveable_pseudos): Don't set it.
(move_unallocated_pseudos): Use DF_REG_DEF_CHAIN to find
the definitions of the original pseudo. Delete all of them.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187582
138bc75d-0d04-0410-961f-
82ee72b054a4
hainque [Wed, 16 May 2012 08:43:41 +0000 (08:43 +0000)]
* config/rs6000/rs6000-opts.h (enum processor_type): Add
PROCESSOR_PPC8548.
* config/rs6000/rs6000-cpus.def: Reference it for cpu="8548".
* config/rs6000/rs6000.md (cpu attribute definition): Add ppc8548.
* config/rs6000/8540.md: indicate that the units/patterns apply to
ppc8548 as well.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
default_cpu into implicit_cpu, conveying what --with-cpu was passed at
configure time. Treat implicit_cpu as have_CPU. Pick defaults for SPE
related flags, check that what is queried is supported by the selected
configuration. Rework the single/double_float and MASK_STRING resets to
hit for all the E500 cores (854x + E500MC variants). Select the ppc8540
costs for PROCESSOR_PPC8548 as well.
(rs6000_issue_rate): case CPU_PPC8548 together with CPU_PPC8540.
(rs6000_use_sched_lookahead): Likewise, rewriting function as a case
statement instead of a sequence of ifs.
* config/rs6000/rs6000.h (TARGET_E500): Remove.
(TARGET_NO_LWSYNC): Adjust accordingly.
* config/rs6000/e500.h (TARGET_E500): Remove.
(CHECK_E500_OPTIONS): Adjust accordingly.
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove.
(TARGET_DEFAULT): Reformat definition to match the one in linuxspe.h.
* config/rs6000/linuxspe.h: Likewise.
* config/rs6000/vxworks.h: Remove bogus TARGET_E500 overrides and
superfluous comments.
* config/rs6000/e500-double.h: Remove.
* config.gcc (pick a default with_cpu): For powerpc*-*-*spe*,
default to with_cpu=8548 if --enable-e500-double, and to 8540
otherwise.
(set misc flags section): For powerpc*|rs6000*, remove inclusion
of e500-double.h for --enable-e500-double.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187581
138bc75d-0d04-0410-961f-
82ee72b054a4