aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-05-19cgraphbuild.c (record_reference): Update.Jan Hubicka4-42/+94
* 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
2012-05-19decl.c (Has_Thiscall_Convention): New macro.Eric Botcazou3-9/+80
* 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
2012-05-19Daily bump.GCC Administrator1-1/+1
From-SVN: r187674
2012-05-18decl.c (gnat_to_gnu_entity): For an object at global level with ↵Eric Botcazou5-0/+43
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
2012-05-18compiler: Fix erroneous use of VEC.Ian Lance Taylor1-1/+1
From-SVN: r187664
2012-05-18Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of $(libsubdir) ↵Olivier Hainque2-1/+6
as libexecsubdir. gcc/ * Makefile.in (FLAGS_TO_PASS): Pass $(libexecsubdir) instead of $(libsubdir) as libexecsubdir. From-SVN: r187658
2012-05-18rs6000.c (print_operand): Revise code that unsafely relied on signed ↵Bill Schmidt2-23/+10
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
2012-05-18re PR target/53346 (Bad if conversion in cptrf2 of rnflow.f90)Richard Guenther7-6/+36
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
2012-05-18pr53352.c: Return zero.Richard Guenther2-0/+5
2012-05-18 Richard Guenther <rguenther@suse.de> * gcc.dg/pr53352.c: Return zero. From-SVN: r187654
2012-05-18re PR tree-optimization/53390 (ICE: tree check: expected integer_cst, have ↵Richard Guenther4-0/+37
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
2012-05-18tree-ssa-reassoc.c (bip_map): Remove decl.Bill Schmidt2-178/+120
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
2012-05-18cgraphunit.c (varpool_finalize_decl): Allow external decls.Jan Hubicka3-2/+9
* 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
2012-05-18tree-flow.h (mark_symbols_for_renaming): Remove.Richard Guenther4-27/+17
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
2012-05-18arm-protos.h (arm_emit_coreregs_64bit_shift): New prototype.Andrew Stubbs4-28/+340
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
2012-05-18re PR rtl-optimization/53352 (Incorrect CSE optimization on RTL expressions ↵Meador Inge4-1/+56
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
2012-05-18Daily bump.GCC Administrator1-1/+1
From-SVN: r187647
2012-05-17Fix bessel_7.f90 failures on sparc-*-linux-gnuDavid S. Miller2-1/+6
* gfortran.dg/bessel_7.f90: Bump allowed precision to avoid failure on sparc-*-linux-gnu. From-SVN: r187636
2012-05-172012-05-17 Paolo Carlini <paolo.carlini@oracle.com>Paolo Carlini1-1/+1
* Fix typo in the last ChangeLog entry. From-SVN: r187635
2012-05-17re PR c++/39681 (Compile error is not descriptive)Paolo Carlini11-33/+69
/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
2012-05-17re PR rtl-optimization/53125 (Very slow compilation on SPARC)Steven Bosscher2-48/+81
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
2012-05-17lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with constructor ↵Jan Hubicka12-35/+123
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
2012-05-17re PR c++/53371 (rvalue reference type as exception-declaration)Paolo Carlini4-14/+64
/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
2012-05-17re PR objc++/53388 (Removal of build_min_nt breaks bootstrap for objc++)Paolo Carlini2-4/+10
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
2012-05-17c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.Manuel López-Ibáñez6-30/+33
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
2012-05-17re PR c++/44516 (improve error message when no matching operator)Paolo Carlini15-78/+159
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
2012-05-17ipa-reference.c (is_proper_for_analysis): Do not check flags that might ↵Jan Hubicka2-15/+35
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
2012-05-17m68k-devices.def: Add 51ag, 51je, 51jf, 51jg, 51mm, 51qm.Kwok Cheung Yeung4-1/+32
* 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
2012-05-17runtime: Print stack trace on panic or signal.Ian Lance Taylor8-61/+262
From-SVN: r187623
2012-05-17[multiple changes]Patrick Marlier4-1/+26
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
2012-05-17Daily bump.GCC Administrator1-1/+1
From-SVN: r187620
2012-05-16Regenerate configure files for libtool.m4 changeH.J. Lu32-62/+238
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
2012-05-16gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN.Andrew Pinski2-6/+15
2012-05-16 Andrew Pinski <apinski@cavium.com> * gimple-fold.c (get_maxval_strlen): Move COND_EXPR handling under GIMPLE_ASSIGN. From-SVN: r187608
2012-05-16Fix var tracking ICE due to reorg.David S. Miller2-0/+25
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
2012-05-16unix.c (tempfile_open): Pass mode to "open" for O_CREAT.Tobias Burnus2-2/+6
2012-05-16 Tobias Burnus <burnus@net-b.de> * io/unix.c (tempfile_open): Pass mode to "open" for O_CREAT. From-SVN: r187604
2012-05-16Makefile.in (install-unwind_h): Rename into ...Olivier Hainque2-3/+25
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
2012-05-16log/syslog: Fix name of C function syslog_c.Ian Lance Taylor1-1/+1
From Rainer Orth. From-SVN: r187596
2012-05-16re PR tree-optimization/53217 (internal compiler error: verify_ssa failed)Bill Schmidt4-3/+108
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
2012-05-16Makefile.tpl (gcc-no-fixedincludes): Rename into ...Olivier Hainque5-39/+81
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
2012-05-16tree-inline.c (insert_init_stmt): Do not call mark_symbols_for_renaming.Richard Guenther2-12/+27
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
2012-05-16tree-flow.h (get_virtual_var): Remove.Richard Guenther3-24/+5
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
2012-05-16tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Remove set-only ↵Richard Guenther4-34/+11
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
2012-05-16re PR tree-optimization/53364 (Wrong code generation)Richard Guenther4-2/+49
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
2012-05-16re PR testsuite/52641 (Test cases fail for 16-bit int targets)Georg-Johann Lay4-0/+28
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
2012-05-16PR preprocessor/7263 - Avoid pedantic warnings on system headers macro tokensDodji Seketeli29-282/+682
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
2012-05-16configure.ac: Stack protector enabling for Android targets.Igor Zamyatin3-0/+15
* configure.ac: Stack protector enabling for Android targets. * configure: Regenerate. From-SVN: r187586
2012-05-16e500-double.h: Really remove.Olivier Hainque1-0/+0
* config/rs6000/e500-double.h: Really remove. From-SVN: r187585
2012-05-16ira.c (pseudo_move_insn): Delete.Richard Sandiford2-14/+19
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
2012-05-16rs6000-opts.h (enum processor_type): Add PROCESSOR_PPC8548.Olivier Hainque14-181/+178
* 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
2012-05-16Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed ↵Olivier Hainque2-1/+11
invocation. * Makefile.in (s-header-vars): Resort to -n instead of trailing -e d in sed invocation. From-SVN: r187580
2012-05-16debug/dwarf: Fix handling of LineSetFile.Ian Lance Taylor1-1/+1
From-SVN: r187578