platform/upstream/gcc.git
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

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 12:16:20 +0000 (14:16 +0200)]
[multiple changes]

2012-05-15  Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb, sem_util.adb, s-stposu.adb, exp_ch4.adb: Minor
reformatting.

2012-05-15  Geert Bosch  <bosch@adacore.com>

* uintp.adb (UI_Rem): Remove optimizations, as they are complex and are
not needed.
(Sum_Digits): Remove, no longer used.
(Sum_Double_Digits): Likewise.

2012-05-15  Yannick Moy  <moy@adacore.com>

* aspects.ads: Minor typo.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* gnat_rm.texi (Scalar_Storage_Order): Fix RM reference.
* sem_ch13.adb: Minor comment fix: incorrect RM reference.

2012-05-15  Eric Botcazou  <ebotcazou@adacore.com>

* sem_prag.adb (Process_Atomic_Shared_Volatile): Propagate
atomicity from an object to its underlying type only if it
is composite.

From-SVN: r187532

12 years agosem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable after pre...
Ed Schonberg [Tue, 15 May 2012 12:11:10 +0000 (12:11 +0000)]
sem_ch5.adb (Analyze_Iterator_Specification): Set kind of loop variable after pre-analysis of iterator name...

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Iterator_Specification): Set kind of
loop variable after pre-analysis of iterator name, to prevent
premature usage of loop variable.

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* sem_util.adb (Is_Variable): In Ada 2012, an explicit
dereference that is a rewriting of an expression whose type has
a declared Implicit_Derenference aspect is a variable.

From-SVN: r187531

12 years agoexp_ch4.adb (Insert_Dereference_Action): Reimplemented.
Hristian Kirtchev [Tue, 15 May 2012 12:09:44 +0000 (12:09 +0000)]
exp_ch4.adb (Insert_Dereference_Action): Reimplemented.

2012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Insert_Dereference_Action): Reimplemented. The
routine performs address and size adjustments for dereferences
of heap-allocated controlled objects. This manipulation is needed
in order to restore the original state of the memory at the time
it was allocated by the finalization machinery.
* rtsfind.ads: Add RE_Adjust_Controlled_Dereference to tables
RE_Id and RE_Unit_Table.
* sinfo.adb (Has_Dereference_Action): New routine.
(Set_Has_Dereference_Action): New routine.
* sinfo.ads: Add new semantic flag Has_Dereference_Action along
its association in nodes.
(Has_Dereference_Action): New routine and pragma Inline.
(Set_Has_Dereference_Action): New routine and pragma Inline.
* s-stposu.ads, s-stposu.adb (Adjust_Controlled_Dereference): New
routine.

From-SVN: r187530

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 12:06:55 +0000 (14:06 +0200)]
[multiple changes]

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* uintp.adb (Image_Uint): Use UI_Div_Rem to get quotient and
remainder of U / Base in a single operation.

2012-05-15  Robert Dewar  <dewar@adacore.com>

* exp_ch5.adb, inline.adb, sem_ch10.adb, prj.ads, sem_util.adb,
a-ngelfu.ads, exp_ch4.adb, exp_ch6.adb, aspects.ads, sem_ch6.adb,
vms_data.ads, exp_ch3.adb, prj-env.adb: Minor reformatting.

From-SVN: r187529

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 12:04:02 +0000 (14:04 +0200)]
[multiple changes]

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Has_Inferable_Discriminants): For a qualified
expression, use correct node for test on the subtype denoted by
the subtype mark.

2012-05-15  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Scope_In_Main_Unit): Rename into...
(In_Main_Unit_Or_Subunit): ...this.  Also return
true if the subprogram is within a subunit of the
main unit.
(Add_Inlined_Body): Adjust for above renaming.
(Add_Inlined_Subprogram): Likewise.  Pass the subprogram directly.
(Analyze_Inlined_Bodies): Really set aside inlined subprograms
not handled by Add_Inlined_Body.

From-SVN: r187528

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 11:07:26 +0000 (13:07 +0200)]
[multiple changes]

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb (Expand_With_Clause): In the context of a generic
package declaration, a private with-clause on a child unit implies
that the implicit with clauses on its parents are private as well.

2012-05-15  Javier Miranda  <miranda@adacore.com>

* sem_ch6.adb (Is_Interface_Conformant): Add missing call to
Base_Type to handle subtypes.
* exp_ch6.adb (Expand_Call): For calls located in thunks handle
unchecked conversions of access types found in actuals.
* exp_disp.adb (Expand_Interface_Thunk): Add missing unchecked
conversion to actuals whose type is an access type. Done to
avoid reporting spurious errors.

2012-05-15  Vincent Celier  <celier@adacore.com>

* prj-env.adb (Create_Mapping): Ignore sources that are
suppressed (Create_Mapping_File.Process): Ditto
* prj-nmsc.adb (Add_Source): Update to take into
account suppressed files that may hide inherited sources.
(Mark_Excluded_Sources): Mark excluded sources of the current
project as suppressed.
* prj.ads (Source_Data): New Boolean component Suppressed,
defaulted to False

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* exp_intr.adb: Minor reformatting.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* gnat_rm.texi: Document attribute Scalar_Storage_Order.

2012-05-15  Javier Miranda  <miranda@adacore.com>

* exp_ch3.adb (Build_Offset_To_Top): Modify the
expansion of the offset_to_top functions to ensure that their
profile is conformant with the profile specified in Ada.Tags. No
change in functionality.

2012-05-15  Eric Botcazou  <ebotcazou@adacore.com>

* inline.adb (Subp_Info): Remove Count and Next_Nopred
components, add Processed component and move around Next component.
(Add_Call): Reverse meaning of Successors table to the natural one.
(Add_Inlined_Body): Do not inline a package if it is in the main unit.
(Add_Inlined_Subprogram): Do not add the subprogram to the list if the
package is in the main unit. Do not recurse on the successors.
(Add_Subp): Adjust to new contents of Subp_Info.
(Analyze_Inlined_Bodies): Do not attempt
to compute a topological order on the list of inlined subprograms,
but compute the transitive closure from the main unit instead.
(Get_Code_Unit_Entity): Always return the spec for a package.

From-SVN: r187526

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 11:02:25 +0000 (13:02 +0200)]
[multiple changes]

2012-05-15  Yannick Moy  <moy@adacore.com>

* aspects.ads: Minor addition of comments to provide info on
how to add new aspects.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* osint.ads: Minor reformatting.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* exp_ch5.adb, exp_pakd.adb, sem_util.adb, sem_util.ads
(Expand_Assign_Array): Handle the case of a packed bit array within a
record with reverse storage order (assign element by element in that
case).
(In_Reverse_Storage_Order_Record): New subprogram,
code extracted from Exp_Pakd.

2012-05-15  Yannick Moy  <moy@adacore.com>

* a-ngelfu.ads: Add postconditions using Ada 2012
aspect syntax, reflecting some of the RM requirements for these
functions, from Annex A.5.1 or G.2.4.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* adaint.c: Minor fix: move misplaced comment.

2012-05-15  Doug Rupp  <rupp@adacore.com>

* vms_data.ads: Enhance help for /IMMEDIATE_ERRORS to discourage
use by customers.

From-SVN: r187525

12 years agognat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.
Arnaud Charlet [Tue, 15 May 2012 10:54:04 +0000 (12:54 +0200)]
gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.

2012-05-15  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb: Enable Exception_Extra_Info in CodePeer_Mode.

2012-05-15  Sergey Rybin  <rybin@adacore.com frybin>

* gnat_ugn.texi (Complexity Metrics Control section): Fix
reference to McCabe's book defining complexity metrics.

From-SVN: r187524

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 10:52:24 +0000 (12:52 +0200)]
[multiple changes]

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* a-exextr.adb: Add comment.

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* sem_ch3.adb: Minor reformatting (remove long dead code).

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* aspects.adb, aspects.ads: Add aspects for Convention, Export,
External_Name, Import, and Link_Name.
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): if the
pragma comes from an aspect specification, the entity is the
first argument.
* sem_prag.adb (Analyze_Pragma, cases Pragma_Export and
Pragma_Import): if the pragma comes from an aspect specification,
the entity is the first argument, and the second has the value
True by default.
* sem_ch13.adb (Analyze_Aspect_Specifications): generate pragam
for aspect Convention. Add placeholders for Link_Name and
External_Name.

From-SVN: r187523

12 years agoFix up changelogs.
Bernd Schmidt [Tue, 15 May 2012 10:51:02 +0000 (10:51 +0000)]
Fix up changelogs.

From-SVN: r187522

12 years agoRemove now redundant manual cleanup-modules directive.
Bernhard Reutner-Fischer [Tue, 15 May 2012 10:42:32 +0000 (12:42 +0200)]
Remove now redundant manual cleanup-modules directive.

2012-05-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* gfortran.dg/*.f90: Remove now redundant manual
cleanup-modules directive.

From-SVN: r187521

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 10:41:15 +0000 (12:41 +0200)]
[multiple changes]

2012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch9.adb (Expand_N_Asynchronous_Select): Extract the statements
of the abortable part and triggering alternative after being processed
for controlled objects.
(Expand_N_Timed_Entry_Call): Code and comment reformatting.

2012-05-15  Robert Dewar  <dewar@adacore.com>

* sem_util.adb: Minor code reorganization.

From-SVN: r187520

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 10:22:07 +0000 (12:22 +0200)]
[multiple changes]

2012-05-15  Robert Dewar  <dewar@adacore.com>

* exp_ch7.adb, exp_ch11.adb, exp_ch11.ads: Minor reformatting.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* sem_res.adb (Resolve): Enforce E.2.2(11/2) and E.2.2(12) for
'Unrestricted_Access and 'Unchecked_Access (not just 'Access):
even in those cases, a remote access type may only designate a
remote subprogram.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* sem_util.adb, sem_util.ads, sem_cat.adb: Minor refactoring.
(Enclosing_Lib_Unit_Node): Rename to Enclosing_Comp_Unit_Node.

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove obsolete
checks on nested inlined subprograms.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* fe.h (Get_RT_Exception_Name): Declare.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c (db_region_for): Use %p + cast to avoid warnings.
(get_region_description_for): Likewise.
(db_action_for): Likewise.
(get_call_site_action_for): Likewise.
(get_ttype_entry_for): Remove useless 'const'.
(PERSONALITY_FUNCTION): Add ATTRIBUTE_UNUSED on uw_exception_class.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* a-exextr.adb (Unhandled_Exception_Terminate): Save occurrence
on the stack to avoid a dynamic memory allocation.

2012-05-15  Bob Duff  <duff@adacore.com>

* exp_ch9.adb (Expand_N_Timed_Entry_Call): Move initialization of
E_Stats and D_Stats after Process_Statements_For_Controlled_Objects,
because those calls can destroy the Statements list.

From-SVN: r187518

12 years agofe.h (Get_RT_Exception_Name): Define.
Tristan Gingold [Tue, 15 May 2012 10:17:26 +0000 (10:17 +0000)]
fe.h (Get_RT_Exception_Name): Define.

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* fe.h (Get_RT_Exception_Name): Define.
* types.ads (RT_Exception_Code): Update comment.
* exp_ch11.adb, exp_ch11.ads (Get_RT_Exception_Name): New
procedure to get the name of the rcheck subprograms.
* a-except-2005.adb (Rcheck_xx): Rename.
* a-except.adb Likewise, but also keep the old Rcheck_nn routines
for bootstrap.
* arith64.c (__gnat_mulv64): Use __gnat_rcheck_CE_Overflow_Check
instead of __gnat_rcheck_10.
* gcc-interface/trans.c (build_raise_check): Use Get_RT_Exception_Name
to create the __gnat_rcheck routines name.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r187517

12 years agocons_overflow_neg.cc: Revert unintended commit.
Paolo Carlini [Tue, 15 May 2012 10:03:00 +0000 (10:03 +0000)]
cons_overflow_neg.cc: Revert unintended commit.

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

     * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Revert
unintended commit.

From-SVN: r187516

12 years agore PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)
Paolo Carlini [Tue, 15 May 2012 10:00:19 +0000 (10:00 +0000)]
re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)

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

PR libstdc++/53339
* include/bits/hashtable_policy.h (__detail::_Identity,
__detail::_Select1st): Add.
(_Map_base, _Hashtable_base): Use the latter, adjust parameters.
* include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
* include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
Likewise.
* include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
Likewise.
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
Unconditionally derive from unary_function.
* include/ext/functional (identity, select1st, select2nd): Remove
#ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
* testsuite/23_containers/unordered_map/requirements/53339.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
53339.cc: Likewise.

From-SVN: r187515

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 09:48:58 +0000 (11:48 +0200)]
[multiple changes]

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* exp_ch7.adb (Build_Exception_Handler): Save current
occurrence only if -gnateE.
(Build_Object_Declaration): Declare E_Id only if -gnateE.
(Build_Raise_Statement): Call Raise_From_Controlled_Operation only if
-gnateE (else raise PE).
* s-soflin.adb (Save_Library_Occurrence): Handle null occurrence
access.
* a-except-2005.adb (Reraise_Library_Exception_If_Any): Call
Raise_From_Controlled_Operation only if the saved occurrence is
not null, otherwise raise PE.

2012-05-15  Yannick Moy  <moy@adacore.com>

* exp_alfa.ads: Add comments describing the Alfa mode.

From-SVN: r187514

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 09:46:19 +0000 (11:46 +0200)]
[multiple changes]

2012-05-15  Tristan Gingold  <gingold@adacore.com>

* s-soflin.ads, s-soflin.adb (Save_Library_Occurrence): Parameter
E is now of type Exception_Occurrence_Access.
* exp_ch7.ads, exp_ch7.adb (Build_Exception_Handler): Adjust generated
call to Save_Library_Occurrence.

2012-05-15  Thomas Quinot  <quinot@adacore.com>

* exp_ch4.adb (Rewrite_Coextension): Use Insert_Action to
insert temporary variable decl at the proper place in the tree.

From-SVN: r187513

12 years ago[multiple changes]
Arnaud Charlet [Tue, 15 May 2012 09:44:53 +0000 (11:44 +0200)]
[multiple changes]

2012-05-15  Hristian Kirtchev  <kirtchev@adacore.com>

* g-calend.adb (Split_At_Locale): New routine.
(Time_Of_At_Locale): New routine.
* g-calend.ads (Split_At_Locale): New routine.
(Time_Of_At_Locale): New routine.

2012-05-15  Gary Dismukes  <dismukes@adacore.com>

* a-except.ads: Minor reformatting.

2012-05-15  Ed Schonberg  <schonberg@adacore.com>

* sem_ch5.adb (Analyze_Loop_Parameter_Specification): If the loop
parameter specification is part of a quantified expression, and it
already carries a type, do not repeat the analysis to preserve
type information: a range attribute reference may have been
rewritten as a range with static bounds, and its re-analysis may
type it as Integer by default, instead of the original index type.

2012-05-15  Robert Dewar  <dewar@adacore.com>

* s-osprim-mingw.adb: Minor reformatting.

From-SVN: r187512

12 years agoa-except.adb, [...] (Reraise_Library_Exception_If_Any): New.
Arnaud Charlet [Tue, 15 May 2012 09:42:01 +0000 (09:42 +0000)]
a-except.adb, [...] (Reraise_Library_Exception_If_Any): New.

2012-05-15  Arnaud Charlet  <charlet@adacore.com>

* a-except.adb, a-except.ads (Reraise_Library_Exception_If_Any): New.
Mark this unit preelaborate.
* s-soflin.ads: Make package Preelaborate.

From-SVN: r187511

12 years agos-osprim-mingw.adb, [...]: Minor reformatting
Robert Dewar [Tue, 15 May 2012 09:40:25 +0000 (09:40 +0000)]
s-osprim-mingw.adb, [...]: Minor reformatting

2012-05-15  Robert Dewar  <dewar@adacore.com>

* s-osprim-mingw.adb, sem_eval.adb, a-calend-vms.ads: Minor reformatting

From-SVN: r187510