platform/upstream/gcc.git
12 years agore PR bootstrap/52700 (lib* configure fails on --enable-symvers=gnu-versioned-namespace.)
Benjamin Kosnik [Mon, 21 May 2012 17:34:25 +0000 (17:34 +0000)]
re PR bootstrap/52700 (lib* configure fails on --enable-symvers=gnu-versioned-namespace.)

2012-05-21  Benjamin Kosnik  <bkoz@redhat.com>

        PR libstdc++/52700
        * configure.ac: Allow gnu, gnu-versioned-namespace for
        --enable-symvers arguments.
        * configure: Regenerate.

From-SVN: r187728

12 years agoexpr.c (get_def_for_expr_class): Define only if HAVE_conditional_move.
Andreas 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.

* expr.c (get_def_for_expr_class): Define only if
HAVE_conditional_move.
(convert_tree_comp_to_rtx): Likewise.

From-SVN: r187727

12 years agore PR java/52815 (class.c:2815:53: error: 'JCR_SECTION_NAME' was not declared in...
John David Anglin [Mon, 21 May 2012 16:27:40 +0000 (16:27 +0000)]
re PR java/52815 (class.c:2815:53: error: 'JCR_SECTION_NAME' was not declared in this scope)

PR java/52815
* class.c (emit_register_classes_in_jcr_section): Revise placement
of #ifdef JCR_SECTION_NAME.

From-SVN: r187724

12 years agoFix PR number in ChangeLogs.
Joseph Myers [Mon, 21 May 2012 16:01:01 +0000 (17:01 +0100)]
Fix PR number in ChangeLogs.

From-SVN: r187723

12 years agore PR target/53399 ("*ffs" pattern generates wrong code with BMI enabled)
Uros Bizjak [Mon, 21 May 2012 15:46:25 +0000 (17:46 +0200)]
re PR target/53399 ("*ffs" pattern generates wrong code with BMI enabled)

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.

From-SVN: r187722

12 years agore PR c++/51184 (Abstract class in function return type)
Paolo Carlini [Mon, 21 May 2012 15:12:13 +0000 (15:12 +0000)]
re PR c++/51184 (Abstract class in function return type)

/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.

From-SVN: r187720

12 years agotree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for more referenced vars.
Richard Guenther [Mon, 21 May 2012 14:53:21 +0000 (14:53 +0000)]
tree-dfa.c (add_referenced_var): Do not walk DECL_INITIAL for more referenced vars.

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.

From-SVN: r187719

12 years agore PR c/53418 (ICE at gimplify.c:7773)
Joseph Myers [Mon, 21 May 2012 14:42:26 +0000 (15:42 +0100)]
re PR c/53418 (ICE at gimplify.c:7773)

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.

From-SVN: r187718

12 years agore PR tree-optimization/53366 (wrong code generation by tree vectorizer using AVX)
Jakub Jelinek [Mon, 21 May 2012 14:29:11 +0000 (16:29 +0200)]
re PR tree-optimization/53366 (wrong code generation by tree vectorizer using AVX)

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.

From-SVN: r187717

12 years agore PR middle-end/53409 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo...
Jakub Jelinek [Mon, 21 May 2012 14:27:10 +0000 (16:27 +0200)]
re PR middle-end/53409 (ICE: vector VEC(vec_void_p,base) index domain error, in vinfo_for_stmt at tree-vectorizer.h:630)

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.

From-SVN: r187716

12 years agore PR tree-optimization/53410 (ICE in build_int_cst_wide, at tree.c:1219)
Jakub Jelinek [Mon, 21 May 2012 14:25:03 +0000 (16:25 +0200)]
re PR tree-optimization/53410 (ICE in build_int_cst_wide, at tree.c:1219)

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.

From-SVN: r187715

12 years agogenattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.
Michael Matz [Mon, 21 May 2012 13:24:31 +0000 (13:24 +0000)]
genattrtab.c (attr_rtx_cost): Move earlier, start with cost being 1.

* 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.

From-SVN: r187714

12 years agoWarn passing SSE argument ABI change for -m64
H.J. Lu [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.

From-SVN: r187711

12 years agore PR middle-end/53408 (ICE in get_initial_def_for_induction, at tree-vect-loop.c...
Richard Guenther [Mon, 21 May 2012 12:45:59 +0000 (12:45 +0000)]
re PR middle-end/53408 (ICE in get_initial_def_for_induction, at tree-vect-loop.c:3222)

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.

From-SVN: r187710

12 years agoUse unspec_volatile on rdrand<mode>_1
H.J. Lu [Mon, 21 May 2012 12:31:45 +0000 (05:31 -0700)]
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.

From-SVN: r187709

12 years agopr46519-2.f90: Adjust to avoid memset transform.
Richard Guenther [Mon, 21 May 2012 10:48:07 +0000 (10:48 +0000)]
pr46519-2.f90: Adjust to avoid memset transform.

2012-05-21  Richard Guenther  <rguenther@suse.de>

* gfortran.dg/pr46519-2.f90: Adjust to avoid memset transform.

From-SVN: r187708

12 years agotree-loop-distribution.c (can_generate_builtin): Reject volatile stmts.
Richard Guenther [Mon, 21 May 2012 10:46:19 +0000 (10:46 +0000)]
tree-loop-distribution.c (can_generate_builtin): Reject volatile stmts.

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.

From-SVN: r187707

12 years agoMakefile.in (options.c): Add options.h to included header files, before tm.h.
Chung-Lin Tang [Mon, 21 May 2012 10:33:43 +0000 (10:33 +0000)]
Makefile.in (options.c): Add options.h to included header files, before tm.h.

2012-05-21  Chung-Lin Tang  <cltang@codesourcery.com>

* Makefile.in (options.c): Add options.h to included header
files, before tm.h.

From-SVN: r187705

12 years agotree-parloops.c: Add myself to contributors, update TODO list, add link to wiki.
Razya Ladelsky [Mon, 21 May 2012 07:39:38 +0000 (07:39 +0000)]
tree-parloops.c: Add myself to contributors, update TODO list, add link to wiki.

2012-05-21  Razya Ladelsky  <razya@il.ibm.com>

        * tree-parloops.c : Add myself to contributors, update
        TODO list, add link to wiki.

From-SVN: r187704

12 years agoDaily bump.
GCC Administrator [Mon, 21 May 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187703

12 years agopredicates.md (input_operand): Don't match constant pool addresses.
Alan Modra [Sun, 20 May 2012 23:31:35 +0000 (09:01 +0930)]
predicates.md (input_operand): Don't match constant pool addresses.

* 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.

From-SVN: r187699

12 years agoAdd RDRND, F16C and FSGSBASE support to -march=native
H.J. Lu [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.

From-SVN: r187696

12 years agore PR rtl-optimization/53373 (ICE on valid code with -mavx)
John David Anglin [Sun, 20 May 2012 16:32:50 +0000 (16:32 +0000)]
re PR rtl-optimization/53373 (ICE on valid code with -mavx)

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.

From-SVN: r187695

12 years agotree-parloops.c (gen_parallel_loop): Change many_iterations_cond for outer loops.
Razya Ladelsky [Sun, 20 May 2012 11:41:45 +0000 (11:41 +0000)]
tree-parloops.c (gen_parallel_loop): Change many_iterations_cond for outer loops.

2012-05-20  Razya Ladelsky  <razya@il.ibm.com>

                 * tree-parloops.c (gen_parallel_loop): Change many_iterations_cond for outer loops.

From-SVN: r187694

12 years agoutils.c (gnat_write_global_declarations): Put a name on the dummy global variable.
Eric Botcazou [Sun, 20 May 2012 09:42:42 +0000 (09:42 +0000)]
utils.c (gnat_write_global_declarations): Put a name on the dummy global variable.

* gcc-interface/utils.c (gnat_write_global_declarations): Put a name
on the dummy global variable.

From-SVN: r187692

12 years agoFix oversight
Eric Botcazou [Sun, 20 May 2012 06:54:25 +0000 (06:54 +0000)]
Fix oversight

From-SVN: r187691

12 years agodwarf2.def: Update comment re: UPC extensions to reference DWARF4 specification.
Gary Funck [Sun, 20 May 2012 00:55:05 +0000 (00:55 +0000)]
dwarf2.def: Update comment re: UPC extensions to reference DWARF4 specification.

toplevel/include/
* dwarf2.def: Update comment re: UPC extensions to reference
DWARF4 specification.

From-SVN: r187689

12 years agoDaily bump.
GCC Administrator [Sun, 20 May 2012 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187688

12 years agocgraphunit.c (handle_alias_pairs): Declare; free alias_pairs
Jan Hubicka [Sat, 19 May 2012 20:36:48 +0000 (22:36 +0200)]
cgraphunit.c (handle_alias_pairs): Declare; free alias_pairs

* 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.

From-SVN: r187681

12 years ago* cgraphunit.c (handle_alias_pairs): Cleanup; handle all types of aliases.
Jan Hubicka [Sat, 19 May 2012 15:26:30 +0000 (17:26 +0200)]
* cgraphunit.c (handle_alias_pairs): Cleanup; handle all types of aliases.

From-SVN: r187680

12 years agocgraphbuild.c (record_reference): Update.
Jan Hubicka [Sat, 19 May 2012 09:49:47 +0000 (11:49 +0200)]
cgraphbuild.c (record_reference): Update.

* 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.

From-SVN: r187678

12 years agodecl.c (Has_Thiscall_Convention): New macro.
Eric Botcazou [Sat, 19 May 2012 09:32:50 +0000 (09:32 +0000)]
decl.c (Has_Thiscall_Convention): New macro.

* 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.

From-SVN: r187676

12 years agoDaily bump.
GCC Administrator [Sat, 19 May 2012 00:18:29 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187674

12 years agodecl.c (gnat_to_gnu_entity): For an object at global level with unconstrained nominal...
Eric Botcazou [Fri, 18 May 2012 20:33:49 +0000 (20:33 +0000)]
decl.c (gnat_to_gnu_entity): For an object at global level with unconstrained nominal subtype and a...

* 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.

From-SVN: r187666

12 years agocompiler: Fix erroneous use of VEC.
Ian Lance Taylor [Fri, 18 May 2012 20:15:42 +0000 (20:15 +0000)]
compiler: Fix erroneous use of VEC.

From-SVN: r187664

12 years agoMakefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of $(libsubdir) as libexec...
Olivier Hainque [Fri, 18 May 2012 16:30:24 +0000 (16:30 +0000)]
Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of $(libsubdir) as libexecsubdir.

        gcc/
        * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of
        $(libsubdir) as libexecsubdir.

From-SVN: r187658

12 years agors6000.c (print_operand): Revise code that unsafely relied on signed overflow behavior.
Bill Schmidt [Fri, 18 May 2012 16:01:17 +0000 (16:01 +0000)]
rs6000.c (print_operand): Revise code that unsafely relied on signed overflow behavior.

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.

From-SVN: r187657

12 years agore PR target/53346 (Bad if conversion in cptrf2 of rnflow.f90)
Richard Guenther [Fri, 18 May 2012 13:10:01 +0000 (13:10 +0000)]
re PR target/53346 (Bad if conversion in cptrf2 of rnflow.f90)

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.

From-SVN: r187655

12 years agopr53352.c: Return zero.
Richard Guenther [Fri, 18 May 2012 12:30:36 +0000 (12:30 +0000)]
pr53352.c: Return zero.

2012-05-18  Richard Guenther  <rguenther@suse.de>

* gcc.dg/pr53352.c: Return zero.

From-SVN: r187654

12 years agore PR tree-optimization/53390 (ICE: tree check: expected integer_cst, have nop_expr...
Richard Guenther [Fri, 18 May 2012 12:09:49 +0000 (12:09 +0000)]
re PR tree-optimization/53390 (ICE: tree check: expected integer_cst, have nop_expr in vect_compute_data_ref_alignmen on 32-bit x86 host)

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.

From-SVN: r187653

12 years agotree-ssa-reassoc.c (bip_map): Remove decl.
Bill Schmidt [Fri, 18 May 2012 12:02:54 +0000 (12:02 +0000)]
tree-ssa-reassoc.c (bip_map): Remove decl.

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.

From-SVN: r187652

12 years agocgraphunit.c (varpool_finalize_decl): Allow external decls.
Jan Hubicka [Fri, 18 May 2012 11:44:52 +0000 (13:44 +0200)]
cgraphunit.c (varpool_finalize_decl): Allow external decls.

* 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.

From-SVN: r187651

12 years agotree-flow.h (mark_symbols_for_renaming): Remove.
Richard Guenther [Fri, 18 May 2012 10:19:22 +0000 (10:19 +0000)]
tree-flow.h (mark_symbols_for_renaming): Remove.

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.

From-SVN: r187650

12 years agoarm-protos.h (arm_emit_coreregs_64bit_shift): New prototype.
Andrew Stubbs [Fri, 18 May 2012 09:10:36 +0000 (09:10 +0000)]
arm-protos.h (arm_emit_coreregs_64bit_shift): New prototype.

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.

From-SVN: r187649

12 years agore PR rtl-optimization/53352 (Incorrect CSE optimization on RTL expressions with...
Meador Inge [Fri, 18 May 2012 09:04:38 +0000 (09:04 +0000)]
re PR rtl-optimization/53352 (Incorrect CSE optimization on RTL expressions with a paradoxical subreg)

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.

From-SVN: r187648

12 years agoDaily bump.
GCC Administrator [Fri, 18 May 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r187647

12 years agoFix bessel_7.f90 failures on sparc-*-linux-gnu
David S. Miller [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.

From-SVN: r187636

12 years ago2012-05-17 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [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.

From-SVN: r187635

12 years agore PR c++/39681 (Compile error is not descriptive)
Paolo Carlini [Thu, 17 May 2012 18:54:37 +0000 (18:54 +0000)]
re PR c++/39681 (Compile error is not descriptive)

/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.

From-SVN: r187634

12 years agore PR rtl-optimization/53125 (Very slow compilation on SPARC)
Steven Bosscher [Thu, 17 May 2012 17:54:52 +0000 (17:54 +0000)]
re PR rtl-optimization/53125 (Very slow compilation on SPARC)

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.

From-SVN: r187633

12 years agolto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl...
Jan Hubicka [Thu, 17 May 2012 16:37:33 +0000 (18:37 +0200)]
lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor over decl without.

* 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.

From-SVN: r187631

12 years agore PR c++/53371 (rvalue reference type as exception-declaration)
Paolo Carlini [Thu, 17 May 2012 15:55:51 +0000 (15:55 +0000)]
re PR c++/53371 (rvalue reference type as exception-declaration)

/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.

From-SVN: r187630

12 years agore PR objc++/53388 (Removal of build_min_nt breaks bootstrap for objc++)
Paolo Carlini [Thu, 17 May 2012 15:28:53 +0000 (15:28 +0000)]
re PR objc++/53388 (Removal of build_min_nt breaks bootstrap for objc++)

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.

From-SVN: r187629

12 years agoc.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
Manuel López-Ibáñez [Thu, 17 May 2012 11:50:37 +0000 (11:50 +0000)]
c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.

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.

From-SVN: r187628

12 years agore PR c++/44516 (improve error message when no matching operator)
Paolo Carlini [Thu, 17 May 2012 10:29:46 +0000 (10:29 +0000)]
re PR c++/44516 (improve error message when no matching operator)

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.

From-SVN: r187627

12 years agoipa-reference.c (is_proper_for_analysis): Do not check flags that might change as...
Jan Hubicka [Thu, 17 May 2012 09:22:02 +0000 (11:22 +0200)]
ipa-reference.c (is_proper_for_analysis): Do not check flags that might change as result of global optimization.

* 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.

From-SVN: r187626

12 years agom68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.
Kwok Cheung Yeung [Thu, 17 May 2012 09:13:35 +0000 (09:13 +0000)]
m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.

* config/m68k/m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm,
51qm.
* config/m68k/m68k-tables.opt: Regenerated.
* doc/invoke.texi (M680x0 Options): Document.

From-SVN: r187625

12 years agoruntime: Print stack trace on panic or signal.
Ian Lance Taylor [Thu, 17 May 2012 05:30:25 +0000 (05:30 +0000)]
runtime: Print stack trace on panic or signal.

From-SVN: r187623

12 years ago[multiple changes]
Patrick Marlier [Thu, 17 May 2012 02:57:56 +0000 (02:57 +0000)]
[multiple changes]

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.

From-SVN: r187621

12 years agoDaily bump.
GCC Administrator [Thu, 17 May 2012 00:17:42 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r187620

12 years agoRegenerate configure files for libtool.m4 change
H.J. Lu [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.

From-SVN: r187616

12 years agogimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN.
Andrew Pinski [Wed, 16 May 2012 20:22:03 +0000 (20:22 +0000)]
gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN.

2012-05-16  Andrew Pinski  <apinski@cavium.com>

* gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under
GIMPLE_ASSIGN.

From-SVN: r187608

12 years agoFix var tracking ICE due to reorg.
David S. Miller [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.

From-SVN: r187606

12 years agounix.c (tempfile_open): Pass mode to "open" for O_CREAT.
Tobias Burnus [Wed, 16 May 2012 18:39:34 +0000 (20:39 +0200)]
unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

2012-05-16  Tobias Burnus  <burnus@net-b.de>

        * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT.

From-SVN: r187604

12 years agoMakefile.in (install-unwind_h): Rename into ...
Olivier Hainque [Wed, 16 May 2012 15:36:08 +0000 (15:36 +0000)]
Makefile.in (install-unwind_h): Rename into ...

        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.

From-SVN: r187599

12 years agolog/syslog: Fix name of C function syslog_c.
Ian Lance Taylor [Wed, 16 May 2012 14:52:03 +0000 (14:52 +0000)]
log/syslog: Fix name of C function syslog_c.

From Rainer Orth.

From-SVN: r187596

12 years agore PR tree-optimization/53217 (internal compiler error: verify_ssa failed)
Bill Schmidt [Wed, 16 May 2012 14:39:32 +0000 (14:39 +0000)]
re PR tree-optimization/53217 (internal compiler error: verify_ssa failed)

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.

From-SVN: r187595

12 years agoMakefile.tpl (gcc-no-fixedincludes): Rename into ...
Olivier Hainque [Wed, 16 May 2012 13:37:14 +0000 (13:37 +0000)]
Makefile.tpl (gcc-no-fixedincludes): Rename into ...

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.

From-SVN: r187594

12 years agotree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming.
Richard Guenther [Wed, 16 May 2012 13:36:07 +0000 (13:36 +0000)]
tree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming.

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.

From-SVN: r187593

12 years agotree-flow.h (get_virtual_var): Remove.
Richard Guenther [Wed, 16 May 2012 13:31:39 +0000 (13:31 +0000)]
tree-flow.h (get_virtual_var): Remove.

2012-05-16  Richard Guenther  <rguenther@suse.de>

* tree-flow.h (get_virtual_var): Remove.
* tree-dfa.c (get_virtual_var): Likewise.

From-SVN: r187592

12 years agotree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap...
Richard Guenther [Wed, 16 May 2012 13:21:38 +0000 (13:21 +0000)]
tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only bitmap of new names.

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.

From-SVN: r187591

12 years agore PR tree-optimization/53364 (Wrong code generation)
Richard Guenther [Wed, 16 May 2012 13:11:01 +0000 (13:11 +0000)]
re PR tree-optimization/53364 (Wrong code generation)

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.

From-SVN: r187590

12 years agore PR testsuite/52641 (Test cases fail for 16-bit int targets)
Georg-Johann Lay [Wed, 16 May 2012 12:46:36 +0000 (12:46 +0000)]
re PR testsuite/52641 (Test cases fail for 16-bit int targets)

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.

From-SVN: r187588

12 years agoPR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokens
Dodji Seketeli [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.

From-SVN: r187587

12 years agoconfigure.ac: Stack protector enabling for Android targets.
Igor Zamyatin [Wed, 16 May 2012 09:59:04 +0000 (09:59 +0000)]
configure.ac: Stack protector enabling for Android targets.

        * configure.ac: Stack protector enabling for Android targets.
        * configure: Regenerate.

From-SVN: r187586

12 years agoe500-double.h: Really remove.
Olivier Hainque [Wed, 16 May 2012 09:21:27 +0000 (09:21 +0000)]
e500-double.h: Really remove.

        * config/rs6000/e500-double.h: Really remove.

From-SVN: r187585

12 years agoira.c (pseudo_move_insn): Delete.
Richard Sandiford [Wed, 16 May 2012 09:01:54 +0000 (09:01 +0000)]
ira.c (pseudo_move_insn): Delete.

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.

From-SVN: r187582

12 years agors6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548.
Olivier Hainque [Wed, 16 May 2012 08:43:41 +0000 (08:43 +0000)]
rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548.

        * 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.

From-SVN: r187581

12 years agoMakefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed invocation.
Olivier Hainque [Wed, 16 May 2012 08:23:58 +0000 (08:23 +0000)]
Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed invocation.

       * Makefile.in (s-header-vars): Resort to -n instead of trailing
       -e d in sed invocation.

From-SVN: r187580

12 years agodebug/dwarf: Fix handling of LineSetFile.
Ian Lance Taylor [Wed, 16 May 2012 05:36:31 +0000 (05:36 +0000)]
debug/dwarf: Fix handling of LineSetFile.

From-SVN: r187578

12 years agocompiler: Fix assembler names of types defined in functions.
Ian Lance Taylor [Wed, 16 May 2012 00:26:32 +0000 (00:26 +0000)]
compiler: Fix assembler names of types defined in functions.

From-SVN: r187574

12 years agoDaily bump.
GCC Administrator [Wed, 16 May 2012 00:17:41 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r187573

12 years agotm.texi.in (Type Layout): Update reference to source-code.
Hans-Peter Nilsson [Tue, 15 May 2012 23:43:51 +0000 (23:43 +0000)]
tm.texi.in (Type Layout): Update reference to source-code.

* doc/tm.texi.in (Type Layout) <SIZE_TYPE>: Update reference to
source-code.
* doc/tm.texi: Regenerate.

From-SVN: r187568

12 years agocompiler: Fix taking address of constant outside of function.
Ian Lance Taylor [Tue, 15 May 2012 22:54:28 +0000 (22:54 +0000)]
compiler: Fix taking address of constant outside of function.

From-SVN: r187565

12 years agoFix date
Eric Botcazou [Tue, 15 May 2012 22:34:36 +0000 (22:34 +0000)]
Fix date

From-SVN: r187563

12 years agore PR ada/52494 (s-taprop-dummy.adb does not define subpackage Specific used in s...
Andris Pavenis [Tue, 15 May 2012 22:33:58 +0000 (01:33 +0300)]
re PR ada/52494 (s-taprop-dummy.adb does not define subpackage Specific used in s-tpoaal.sdb)

PR ada/52494
* s-taprop-dummy.adb (Specific): New package.

From-SVN: r187562

12 years agocompiler: Sort array constructors by index.
Ian Lance Taylor [Tue, 15 May 2012 22:30:37 +0000 (22:30 +0000)]
compiler: Sort array constructors by index.

From-SVN: r187560

12 years agore PR c/11586 (after call sigaction, system() return wrong status)
Paolo Carlini [Tue, 15 May 2012 22:19:08 +0000 (22:19 +0000)]
re PR c/11586 (after call sigaction, system() return wrong status)

2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

     * g++.old-deja/g++.pt/crash10.C: Adjust post PR11586.

From-SVN: r187559

12 years agocompiler: Don't try to take the address of a constant.
Ian Lance Taylor [Tue, 15 May 2012 20:00:39 +0000 (20:00 +0000)]
compiler: Don't try to take the address of a constant.

From-SVN: r187553

12 years agotree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.
Paolo Carlini [Tue, 15 May 2012 19:44:49 +0000 (19:44 +0000)]
tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.

2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

     * tree.h (EXPR_LOCATION): Use CAN_HAVE_LOCATION_P.

From-SVN: r187552

12 years agoAdd name of the functions impacted by the patch.
François Dumont [Tue, 15 May 2012 19:34:45 +0000 (19:34 +0000)]
Add name of the functions impacted by the patch.

From-SVN: r187551

12 years agoruntime: Make all variables used across getcontext volatile.
Ian Lance Taylor [Tue, 15 May 2012 18:56:48 +0000 (18:56 +0000)]
runtime: Make all variables used across getcontext volatile.

From-SVN: r187549

12 years agoAdd x32 support to libtool.m4
H.J. Lu [Tue, 15 May 2012 16:07:28 +0000 (16:07 +0000)]
Add x32 support to libtool.m4

Merge upstream change
* libtool.m4 (_LT_ENABLE_LOCK): Support x32.

From-SVN: r187546

12 years agore PR target/53358 (ICE due to TARGET_READ_MODIFY_WRITE peephole2)
Jakub Jelinek [Tue, 15 May 2012 15:19:10 +0000 (17:19 +0200)]
re PR target/53358 (ICE due to TARGET_READ_MODIFY_WRITE peephole2)

PR target/53358
* config/i386/i386.md (*addqi_2 peephole with QImode addition): Check
that operands[2] is either immediate, or q_regs_operand.

* gcc.dg/pr53358.c: New test.

From-SVN: r187544

12 years ago2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Tue, 15 May 2012 15:18:05 +0000 (15:18 +0000)]
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

     * Fix PR number in ChangeLog entries (11586 -> 11856).

From-SVN: r187543

12 years agore PR c++/11856 (unsigned warning in template)
Paolo Carlini [Tue, 15 May 2012 15:14:49 +0000 (15:14 +0000)]
re PR c++/11856 (unsigned warning in template)

/cp
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11586
* pt.c (tsubst_copy_and_build): Increase / decrease
c_inhibit_evaluation_warnings around build_x_binary_op call.

/c-family
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11586
* c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.

/testsuite
2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/11586
* g++.dg/warn/Wtype-limits.C: Don't warn in templates.
* g++.dg/warn/Wtype-limits-Wextra.C: Likewise.

From-SVN: r187542

12 years agoaix-unwind.h (*_REGNO): New, set of useful register numbers.
Olivier Hainque [Tue, 15 May 2012 14:03:04 +0000 (14:03 +0000)]
aix-unwind.h (*_REGNO): New, set of useful register numbers.

libgcc/
* config/rs6000/aix-unwind.h (*_REGNO): New, set of useful
register numbers. LR_REGNO replaces R_LR.
(ucontext_for): New, helper for ...
(ppc_aix_fallback_frame_state): New, implementation for aix 5.2
and 5.3 of ...
(MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations.

testsuite/
* g++.dg/eh/sighandle.C: New testcase.

From-SVN: r187540

12 years agocgraphunit.c (thunk_adjust): Use make_rename_temp.
Richard Guenther [Tue, 15 May 2012 13:49:19 +0000 (13:49 +0000)]
cgraphunit.c (thunk_adjust): Use make_rename_temp.

2012-05-15  Richard Guenther  <rguenther@suse.de>

* cgraphunit.c (thunk_adjust): Use make_rename_temp.
(assemble_thunk): Likewise.  Manually rename and register
function arguments.

From-SVN: r187538

12 years agore PR tree-optimization/53355 (Autovectorization of a simple loop could be improved.)
Richard Guenther [Tue, 15 May 2012 13:18:32 +0000 (13:18 +0000)]
re PR tree-optimization/53355 (Autovectorization of a simple loop could be improved.)

2012-05-15  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53355
* tree-vrp.c (extract_range_from_binary_expr_1): Handle LSHIFT_EXPRs
by constants.

* gcc.dg/tree-ssa/vrp67.c: New testcase.

From-SVN: r187535

12 years agoMake-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it.
Olivier Hainque [Tue, 15 May 2012 12:20:03 +0000 (12:20 +0000)]
Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS instead of trying to mimic it.

2012-05-15  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Make-lang.in (COMMON_FLAGS_TO_PASS): Use WARN_CFLAGS
instead of trying to mimic it.

From-SVN: r187533