gcc.git
12 years agofiles.c (read_file_guts, [...]): Free memory before returning.
Tobias Burnus [Mon, 15 Oct 2012 20:08:57 +0000 (22:08 +0200)]
files.c (read_file_guts, [...]): Free memory before returning.

2012-10-15  Tobias Burnus  <burnus@net-b.de>

        * files.c (read_file_guts, _cpp_save_file_entries): Free memory
        before returning.
        * lex.c (warn_about_normalization): Ditto.
        * mkdeps.c (deps_save): Ditto.
        * pch.c (cpp_valid_state): Ditto.

From-SVN: r192474

12 years agothread_local-cse.C: Move dg-do line.
Richard Sandiford [Mon, 15 Oct 2012 19:58:03 +0000 (19:58 +0000)]
thread_local-cse.C: Move dg-do line.

gcc/testsuite/
* g++.dg/tls/thread_local-cse.C: Move dg-do line.
* g++.dg/tls/thread_local-wrap4.C: Require fpic.

From-SVN: r192473

12 years ago2012-10-15 Paolo Carlini <paolo.carlini@oracle.com>
Paolo Carlini [Mon, 15 Oct 2012 19:18:15 +0000 (19:18 +0000)]
2012-10-15  Paolo Carlini  <paolo.carlini@oracle.com>

* Fix typo in ChangeLog entry.

From-SVN: r192472

12 years agore PR c++/17805 (too liberal operator lookup)
Alexandre Oliva [Mon, 15 Oct 2012 19:15:48 +0000 (19:15 +0000)]
re PR c++/17805 (too liberal operator lookup)

/cp
2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/17805
* call.c (build_new_op): Filter out operator functions that don't
satisfy enum-conversion match requirements.

/testsuite
2012-10-15  Alexandre Oliva  <aoliva@redhat.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/17805
* g++.dg/overload/operator6.C: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r192471

12 years agoPR c++/50080 (again)
Paolo Carlini [Mon, 15 Oct 2012 19:13:41 +0000 (19:13 +0000)]
PR c++/50080 (again)

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

PR c++/50080 (again)
* parser.c (cp_parser_optional_template_keyword): When -pedantic
and C++98 mode restore pre-Core/468 behavior.

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

PR c++/50080 (again)
* g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98.
* g++.dg/parse/tmpl-outside1.C: Likewise.
* g++.dg/template/qualttp18.C: Likewise.
* g++.old-deja/g++.pt/memtemp87.C: Likewise.
* g++.old-deja/g++.pt/overload13.C: Likewise.

From-SVN: r192470

12 years ago* testsuite/ChangeLog: Missing from my previous commit.
Uros Bizjak [Mon, 15 Oct 2012 19:10:52 +0000 (21:10 +0200)]
* testsuite/ChangeLog: Missing from my previous commit.

From-SVN: r192469

12 years agosse.md (UNSPEC_MOVU): Remove.
Uros Bizjak [Mon, 15 Oct 2012 18:42:03 +0000 (20:42 +0200)]
sse.md (UNSPEC_MOVU): Remove.

* config/i386/sse.md (UNSPEC_MOVU): Remove.
(UNSPEC_LOADU): New.
(UNSPEC_STOREU): Ditto.
(<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ...
(<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ...
(<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this.
(<sse2>_movdqu<avxsizesuffix>): Split to ...
(<sse2>_loaddqu<avxsizesuffix>): ... this and ...
(<sse2>_storedqu<avxsizesuffix>): ... this.
(*sse4_2_pcmpestr_unaligned): Update.
(*sse4_2_pcmpistr_unaligned): Ditto.

* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use
gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and
gen_avx_store{dqu,ups,upd}256 to store to unaligned memory.
(ix86_expand_vector_move_misalign): Use gen_sse_loadups or
gen_sse2_load{dqu,upd} to load from unaligned memory and
gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to
unaligned memory.
(struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>:
Use CODE_FOR_sse_loadups.
<IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd.
<IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu.
<IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups.
<IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd.
<IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu.
<IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256.
<IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256.
<IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256.
<IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256.
<IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256.
<IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256.

testsuite/ChangeLog:

* gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns.
* gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-load-4.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-4.c: Ditto.

From-SVN: r192468

12 years agore PR c++/50080 ([DR 468] error: 'template' (as a disambiguator) is only allowed...
Paolo Carlini [Mon, 15 Oct 2012 16:47:52 +0000 (16:47 +0000)]
re PR c++/50080 ([DR 468] error: 'template' (as a disambiguator) is only allowed within templates)

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

PR c++/50080
* parser.c (cp_parser_optional_template_keyword): Implement
Core/468, allow outside template.

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

PR c++/50080
* g++.dg/parse/tmpl-outside2.C: New.
* g++.dg/parse/tmpl-outside1.C: Adjust.
* g++.dg/template/qualttp18.C: Likewise.
* g++.old-deja/g++.pt/memtemp87.C: Likewise.
* g++.old-deja/g++.pt/overload13.C: Likewise.

From-SVN: r192465

12 years agoCleanup comments in alias.c
Dodji Seketeli [Mon, 15 Oct 2012 16:06:42 +0000 (16:06 +0000)]
Cleanup comments in alias.c

While reading alias.c, it seemed to me that some comments could use
some cleanups.

gcc/

* alias.c: Cleanup comments.

From-SVN: r192463

12 years agore PR middle-end/54915 (ICE: verify_gimple failed: type mismatch in vector permute...
Marc Glisse [Mon, 15 Oct 2012 14:38:04 +0000 (16:38 +0200)]
re PR middle-end/54915 (ICE: verify_gimple failed: type mismatch in vector permute expression)

2012-10-15  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/54915

gcc/
* tree-ssa-forwprop.c (simplify_vector_constructor): Check
argument's type.

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

From-SVN: r192461

12 years agodata-streamer.h (bp_pack_string_with_length): New function.
Richard Biener [Mon, 15 Oct 2012 14:22:37 +0000 (14:22 +0000)]
data-streamer.h (bp_pack_string_with_length): New function.

2012-10-15  Richard Biener  <rguenther@suse.de>

* data-streamer.h (bp_pack_string_with_length): New function.
(bp_pack_string): Likewise.
(bp_unpack_indexed_string): Likewise.
(bp_unpack_string): Likewise.
* data-streamer-out.c (bp_pack_string_with_length): Likewise.
(bp_pack_string): Likewise.
* data-streamer-in.c (bp_unpack_indexed_string): Likewise.
(bp_unpack_string): Likewise.
* tree-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
Pack TRANSLATION_UNIT_LANGUAGE here, not ...
(write_ts_translation_unit_decl_tree_pointers): ... here.  Remove.
(streamer_pack_tree_bitfields): Adjust.
(streamer_write_tree_body): Likewise.
* tree-streamer-in.c (unpack_ts_translation_unit_decl_value_fields):
Unpack TRANSLATION_UNIT_LANGUAGE here, not ...
(lto_input_ts_translation_unit_decl_tree_pointers): ... here.  Remove.
(unpack_value_fields): Adjust.
(streamer_read_tree_body): Likewise.

From-SVN: r192460

12 years agogthr.m4: New.
Pavel Chupin [Mon, 15 Oct 2012 13:10:30 +0000 (13:10 +0000)]
gthr.m4: New.

    * config/gthr.m4: New. Define GCC_AC_THREAD_HEADER.
    * libgcc/configure: Regenerate.
    * libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use.
    * libstdc++-v3/Makefile.in: Regenerate.
    * libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
    * libstdc++-v3/configure: Regenerate.
    * libstdc++-v3/doc/Makefile.in: Regenerate.
    * libstdc++-v3/include/Makefile.am: Regenerate.
    * libstdc++-v3/include/Makefile.in: Rename variable.
    * libstdc++-v3/libsupc++/Makefile.in: Regenerate.
    * libstdc++-v3/po/Makefile.in: Regenerate.
    * libstdc++-v3/python/Makefile.in: Regenerate.
    * libstdc++-v3/src/Makefile.in: Regenerate.
    * libstdc++-v3/src/c++11/Makefile.in: Regenerate.
    * libstdc++-v3/src/c++98/Makefile.in: Regenerate.
    * libstdc++-v3/testsuite/Makefile.in: Regenerate.

From-SVN: r192458

12 years agogenoutput.c (process_template): Process '*' in '@' alternatives.
J"orn Rennecke [Mon, 15 Oct 2012 12:44:40 +0000 (12:44 +0000)]
genoutput.c (process_template): Process '*' in '@' alternatives.

* genoutput.c (process_template): Process '*' in '@' alternatives.
* doc/md.texi (node Output Statement): Provide example for the above.

From-SVN: r192457

12 years agoUpdate Copyright years.
Joern Rennecke [Mon, 15 Oct 2012 12:38:56 +0000 (13:38 +0100)]
Update Copyright years.

From-SVN: r192456

12 years agore PR tree-optimization/54920 (segfault in tree-ssa-pre.c during Firefox build)
Richard Guenther [Mon, 15 Oct 2012 11:22:49 +0000 (11:22 +0000)]
re PR tree-optimization/54920 (segfault in tree-ssa-pre.c during Firefox build)

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

PR tree-optimization/54920
* tree-ssa-pre.c (create_expression_by_pieces): Properly
allocate temporary storage for all NARY elements.

* gcc.dg/torture/pr54920.c: New testcase.

From-SVN: r192454

12 years ago* web.c (union_match_dups): Properly handle OP_INOUT match_dups.
Joern Rennecke [Mon, 15 Oct 2012 11:20:02 +0000 (11:20 +0000)]
* web.c (union_match_dups): Properly handle OP_INOUT match_dups.

From-SVN: r192453

12 years agoexpr.c (expand_expr_real_1): Do not unnecessarily copy the object in the MEM_P case.
Eric Botcazou [Mon, 15 Oct 2012 10:48:17 +0000 (10:48 +0000)]
expr.c (expand_expr_real_1): Do not unnecessarily copy the object in the MEM_P case.

* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
copy the object in the MEM_P case.

From-SVN: r192452

12 years agotree-streamer-out.c (streamer_pack_tree_bitfields): Back BINFO_BASE_ACCESSES and...
Richard Guenther [Mon, 15 Oct 2012 10:39:59 +0000 (10:39 +0000)]
tree-streamer-out.c (streamer_pack_tree_bitfields): Back BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.

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

* tree-streamer-out.c (streamer_pack_tree_bitfields): Back
BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here.
(streamer_write_chain): Write TREE_CHAIN as null-terminated list.
(write_ts_exp_tree_pointers): Adjust.
(write_ts_binfo_tree_pointers): Likewise.
(write_ts_constructor_tree_pointers): Likewise.
* tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as
null-terminated list.
(unpack_value_fields): Unpack BINFO_BASE_ACCESSES and
CONSTRUCTOR lengths and materialize the arrays.
(lto_input_ts_exp_tree_pointers): Adjust.
(lto_input_ts_binfo_tree_pointers): Likewise.
(lto_input_ts_constructor_tree_pointers): Likewise.

From-SVN: r192451

12 years agore PR target/54908 (misc regressions on emutls targets remain from dynamic initializa...
Jason Merrill [Mon, 15 Oct 2012 07:32:13 +0000 (03:32 -0400)]
re PR target/54908 (misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables)

PR target/54908
* libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
with get/setspecific.  Destroy the key on dlclose.

From-SVN: r192449

12 years agoImplement C++11 inheriting constructors.
Jason Merrill [Mon, 15 Oct 2012 07:32:03 +0000 (03:32 -0400)]
Implement C++11 inheriting constructors.

* cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS.
(DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New.
(special_function_kind): Add sfk_inheriting_constructor.
* class.c (add_method): An inheriting ctor is hidden by a
user-declared one.
(one_inheriting_sig, one_inherited_ctor): New.
(add_implicitly_declared_members): Handle inheriting ctors.
* error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS.
* init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED
for an inheriting constructor.
* method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor.
(type_set_nontrivial_flag): Likewise.
(add_one_base_init): Split out from...
(do_build_copy_constructor): ...here.  Handle inheriting constructors.
(locate_fn_flags): Handle a list of arg types.
(synthesized_method_walk): Handle inheriting constructors.
(maybe_explain_implicit_delete): Likewise.
(deduce_inheriting_ctor): New.
(implicitly_declare_fn): Handle inheriting constructors.
* name-lookup.c (push_class_level_binding_1): An inheriting constructor
does not declare the base's name.
(do_class_using_decl): Allow inheriting constructors.
* pt.c (template_parms_to_args): Split from current_template_args.
(add_inherited_template_parms): New.
(tsubst_decl): Handle inheriting constructors.
* tree.c (special_function_p): Handle inheriting constructors.

Co-Authored-By: Ville Voutilainen <ville.voutilainen@gmail.com>
From-SVN: r192448

12 years agoDaily bump.
GCC Administrator [Mon, 15 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192445

12 years agommix.c (mmix_opposite_regno): Handle the return-value register too.
Hans-Peter Nilsson [Sun, 14 Oct 2012 20:59:12 +0000 (20:59 +0000)]
mmix.c (mmix_opposite_regno): Handle the return-value register too.

* config/mmix/mmix.c (mmix_opposite_regno): Handle the
return-value register too.

From-SVN: r192441

12 years agore PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.)
Steven Bosscher [Sun, 14 Oct 2012 19:30:59 +0000 (19:30 +0000)]
re PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.)

PR rtl-optimization/38711
* df.h (df_get_live_out, df_get_live_in): Make static inline functions.
* df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h.
* ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of
DF_LR_OUT.
* ira-build.c (create_bb_allocnos): Likewise.
(create_loop_allocnos): Likewise, and use df_get_live_in instead of
DF_LR_IN.
* ira-emit.c (generate_edge_moves): Likewise.
(add_ranges_and_copies): Likewise.
* ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of
DF_LR_OUT, and df_get_live_in instead of DF_LR_IN.
* ira.c (mark_elimination): Update DF_LR and DF_LIVE.
(build_insn_chain): Use df_get_live_out instead of DF_LR_OUT.
(do_reload): Remove the DF_LIVE problem for -O1.

From-SVN: r192440

12 years agore PR rtl-optimization/54919 (gcc.dg/torture/pr54877.c FAILs with -fvariable-expansio...
Steven Bosscher [Sun, 14 Oct 2012 19:29:18 +0000 (19:29 +0000)]
re PR rtl-optimization/54919 (gcc.dg/torture/pr54877.c FAILs with -fvariable-expansion-in-unroller)

gcc/
PR rtl-optimization/54919
* loop-unroll.c (struct var_to_expand): Remove accum_pos field.
(analyze_insn_to_expand_var): Do not record accum_pos.
(expand_var_during_unrolling): Use validate_replace_rtx_group to
perform replacement of all references to SET_DEST (set) with the
new register, including references in REG_EQUAL notes.
(insert_var_expansion_initialization): Insert initializatio insns
at the bottom of the pre-header of the loop.

testsuite/
PR rtl-optimization/54919
* gcc.dg/pr54919.c: New testcase.

From-SVN: r192439

12 years agore PR c++/53581 (Segmentation fault when enabling -std=c++0x on template code)
Paolo Carlini [Sun, 14 Oct 2012 18:24:32 +0000 (18:24 +0000)]
re PR c++/53581 (Segmentation fault when enabling -std=c++0x on template code)

2012-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53581
* g++.dg/template/crash113.C: New.

From-SVN: r192438

12 years agotree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops...
Jan Hubicka [Sun, 14 Oct 2012 16:25:49 +0000 (16:25 +0000)]
tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically.

* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
predict loops with multiple exits realistically.
* cfgloopanal.c (single_likely_exit): New function.

From-SVN: r192434

12 years agotree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops...
Jan Hubicka [Sun, 14 Oct 2012 16:18:26 +0000 (18:18 +0200)]
tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically.

* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not
predict loops with multiple exits realistically.
* cfgloopanal.c (single_likely_exit): New function.

* gcc.dg/unroll_5.c: New testcase.

From-SVN: r192433

12 years agore PR c++/52643 (Stack overflow ICE in cc1plus when templates, exceptions, and contin...
Paolo Carlini [Sun, 14 Oct 2012 13:40:55 +0000 (13:40 +0000)]
re PR c++/52643 (Stack overflow ICE in cc1plus when templates, exceptions, and continue out of try used)

2012-10-14  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52643
* g++.dg/opt/pr52643.C: New.

From-SVN: r192432

12 years agoalpha.md: Remove empty predicates and/or constraints.
Uros Bizjak [Sun, 14 Oct 2012 12:50:45 +0000 (14:50 +0200)]
alpha.md: Remove empty predicates and/or constraints.

* config/alpha/alpha.md: Remove empty predicates and/or constraints.
* config/alpha/sync.md: Ditto.

From-SVN: r192431

12 years agoDaily bump.
GCC Administrator [Sun, 14 Oct 2012 00:18:17 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192430

12 years agoalpha.md (I24MODE): New mode iterator.
Uros Bizjak [Sat, 13 Oct 2012 21:39:29 +0000 (23:39 +0200)]
alpha.md (I24MODE): New mode iterator.

* config/alpha/alpha.md (I24MODE): New mode iterator.
(any_divmod): New code iterator.
(<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using
any_divmod code iterator.
(<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using
any_divmod code iterator.
(extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using
I24MODE mode iterator.
(unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi}
using I12MODE mode iterator.
(mov<mode>): Macroize expander from mov{qi,hi} using
I12MODE mode iterator.

From-SVN: r192427

12 years agore PR rtl-optimization/54871 (gfortran.dg/vector_subscript_1.f90 FAILs)
Eric Botcazou [Sat, 13 Oct 2012 20:22:07 +0000 (20:22 +0000)]
re PR rtl-optimization/54871 (gfortran.dg/vector_subscript_1.f90 FAILs)

PR rtl-optimization/54871
* loop-iv.c (simplify_using_initial_values): When scanning previous
basic blocks, prune the recorded conditions if the current insn was
not used to make a replacement.

* loop-unroll.c (decide_unroll_constant_iterations): Clean up message.
(unroll_loop_constant_iterations): Clarify head comment.
(decide_unroll_runtime_iterations): Clean up message.
(unroll_loop_runtime_iterations): Clarify head comment.
(decide_peel_simple): Clean up message.
(peel_loop_simple): Clarify head comment.
(decide_unroll_stupid): Clean up message.
(unroll_loop_stupid): Clarify head comment.

From-SVN: r192426

12 years agore PR gcov-profile/44728 (gcov chokes when "." is present in DIR argument to -o flag)
Andreas Schwab [Sat, 13 Oct 2012 18:41:08 +0000 (18:41 +0000)]
re PR gcov-profile/44728 (gcov chokes when "." is present in DIR argument to -o flag)

PR gcov-profile/44728
* gcov.c (create_file_names): When stripping extension only look
at base name.

From-SVN: r192425

12 years agoloop-iv.c (determine_max_iter): Fix handling of AND.
Jan Hubicka [Sat, 13 Oct 2012 16:50:03 +0000 (18:50 +0200)]
loop-iv.c (determine_max_iter): Fix handling of AND.

* loop-iv.c (determine_max_iter): Fix handling of AND.
(iv_number_of_iterations): Record upper bounds as unsigned
values.

From-SVN: r192424

12 years agoira.c (ira): Set current_loops to &ira_loops before recording loop exits.
Steven Bosscher [Sat, 13 Oct 2012 13:21:34 +0000 (13:21 +0000)]
ira.c (ira): Set current_loops to &ira_loops before recording loop exits.

* ira.c (ira): Set current_loops to &ira_loops before recording
loop exits.  Release recorded exits and loops early.

From-SVN: r192423

12 years agobuiltins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead...
Chung-Lin Tang [Sat, 13 Oct 2012 09:28:26 +0000 (09:28 +0000)]
builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand().

2012-10-13  Chung-Lin Tang  <cltang@codesourcery.com>

* builtins.c (expand_builtin_set_thread_pointer): Use
create_input_operand() instead of create_fixed_operand().

From-SVN: r192422

12 years agoalpha.md (FMODE): New mode iterator.
Uros Bizjak [Sat, 13 Oct 2012 08:36:21 +0000 (10:36 +0200)]
alpha.md (FMODE): New mode iterator.

* config/alpha/alpha.md (FMODE): New mode iterator.
(modesuffix): Handle SF and DF modes.
(opmode): New mode attribute.
(abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator.
(*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using
FMODE mode iterator.
(neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator.
(copysign<mode>3): Macroize insn from copysign{sf,df}3 using
FMODE mode iterator.
(*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using
FMODE mode iterator.
(*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using
FMODE mode iterator.
(add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator.
(*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using
FMODE mode iterator.
(sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator.
(*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using
FMODE mode iterator.
(mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator.
(*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using
FMODE mode iterator.
(div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator.
(*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using
FMODE mode iterator.
(sqrt<mode>2): Macroize insn from sqrt{sf,df}2
using FMODE mode iterator.
(*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal
using FMODE mode iterator.
(mov<mode>cc): Macroize expander from mov{sf,df}cc
using FMODE mode iterator.

From-SVN: r192421

12 years agoDaily bump.
GCC Administrator [Sat, 13 Oct 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192420

12 years agore PR target/54602 ([SH] Register pop insn not put in rts delay slot)
Oleg Endo [Fri, 12 Oct 2012 23:22:48 +0000 (23:22 +0000)]
re PR target/54602 ([SH] Register pop insn not put in rts delay slot)

PR target/54602
* config/sh/sh.md: Correct define_delay for return insns.
(*movsi_pop): Delete.

PR target/54602
* gcc.target/sh/pr54602-1.c: New.
* gcc.target/sh/pr54602-2.c: New.
* gcc.target/sh/pr54602-3.c: New.
* gcc.target/sh/pr54602-4.c: New.

From-SVN: r192417

12 years agore PR target/54680 ([SH] Unnecessary int-float-int conversion of fsca fixed point...
Oleg Endo [Fri, 12 Oct 2012 23:19:27 +0000 (23:19 +0000)]
re PR target/54680 ([SH] Unnecessary int-float-int conversion of fsca fixed point input)

PR target/54680
* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped
comments.
* config/sh/predicates.md (fpul_operand): Add comment.
(fpul_fsca_operand, fsca_scale_factor): New predicates.
* config/sh/sh.md (fsca): Move below sincossf3 expander.  Convert to
insn_and_split.  Use fpul_fsca_operand and fsca_scale_factor predicates.
Simplify fpul operand in splitter.

PR target/54680
* gcc.target/sh/pr54680.c: New.

From-SVN: r192416

12 years agotree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop.
Jan Hubicka [Fri, 12 Oct 2012 20:38:19 +0000 (22:38 +0200)]
tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop.

* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not
escape the loop.

From-SVN: r192414

12 years ago* web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.
Jan Hubicka [Fri, 12 Oct 2012 20:36:09 +0000 (22:36 +0200)]
* web.c (web_main): Do not set DF_RD_PRUNE_DEAD_DEFS flag.

From-SVN: r192413

12 years agopr48765.c: Skip for conflicting options, don't specify -m64.
Janis Johnson [Fri, 12 Oct 2012 19:45:25 +0000 (19:45 +0000)]
pr48765.c: Skip for conflicting options, don't specify -m64.

* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't
specify -m64.

From-SVN: r192412

12 years agodiv64-unwinding.c: Skip, don't xfail, for GNU/Linux.
Janis Johnson [Fri, 12 Oct 2012 19:36:45 +0000 (19:36 +0000)]
div64-unwinding.c: Skip, don't xfail, for GNU/Linux.

* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for
GNU/Linux.

From-SVN: r192410

12 years agotarget-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already...
Janis Johnson [Fri, 12 Oct 2012 19:33:28 +0000 (19:33 +0000)]
target-supports.exp (check_effective_target_arm_hard_vfp_ok): Return 0 if already specifying -mfloat-abi other than hard.

* lib/target-supports.exp (check_effective_target_arm_hard_vfp_ok):
Return 0 if already specifying -mfloat-abi other than hard.

From-SVN: r192409

12 years agopr53060.c: Prune irrelevant warning.
Joe Seymour [Fri, 12 Oct 2012 18:40:54 +0000 (18:40 +0000)]
pr53060.c: Prune irrelevant warning.

2012-10-12  Joe Seymour  <jseymour@codesourcery.com>

* gcc.dg/pr53060.c: Prune irrelevant warning.

From-SVN: r192407

12 years agore PR c/54381 (-Wsizeof-pointer-memaccess refers to "destination" for strncmp)
Jakub Jelinek [Fri, 12 Oct 2012 18:23:03 +0000 (20:23 +0200)]
re PR c/54381 (-Wsizeof-pointer-memaccess refers to "destination" for strncmp)

PR c/54381
* c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
* c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
locs and array of 3 trees instead of just single loc and single
sizeof_arg tree.  Handle __builtin___*_chk builtins too, and
also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
For *cmp* builtins that take two sources strings report warnings
about first and second source, not about destination and source.

* c-parser.c (struct c_tree_loc_pair): Removed.
(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
add location_t * and tree * arguments, fill in array of 3
sizeof_arg trees and corresponding locs.
(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
c_parser_expr_list callers.
(c_parser_postfix_expression_after_primary): Likewise.  Pass
array of 3 sizeof_arg trees and locs (corresponding to first
3 arguments) to sizeof_pointer_memaccess_warning.

* semantics.c (finish_call_expr): Pass array of 3 sizeof_arg
trees and locs (corresponding to first 3 arguments) to
sizeof_pointer_memaccess_warning.

* c-c++-common/Wsizeof-pointer-memaccess1.c: New test.
* c-c++-common/Wsizeof-pointer-memaccess2.c: New test.
* gcc.dg/Wsizeof-pointer-memaccess1.c: New test.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Test also stpncpy.
Adjust expected wording of warnings for *cmp* builtins.
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Likewise.
* g++.dg/torture/Wsizeof-pointer-memaccess2.C: Likewise.

From-SVN: r192406

12 years agoAdd more C++ support in gengtype.
Diego Novillo [Fri, 12 Oct 2012 15:17:17 +0000 (11:17 -0400)]
Add more C++ support in gengtype.

This patch combines the changes from
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg02016.html with other
additions to support C++ inside GTY'd structures.

The main changes wrt Aaron's original patch are:

- Support for function declarations inside classes.

- Support scoping in identifiers.  This does not mean that gengtype
  supports scopes, it just knows that 'Foo::id' is a single entity.

- Explicit non-support for typedef and enum inside class/struct.
  Since gengtype does not really know about scopes, it cannot
  understand these types, but it knows enough to recognize and reject
  them.  GTY'd struct/class that need to typedef their own types
  should use GTY((user)).

- Documentation on what is and is not supported.

There is one check I needed to remove that gave me some trouble.
When a ctor is detected, we have already parsed the name of the
ctor as a type, which is then registered in the list of structures.

We go on to recognize it as a ctor *after* the type has been
registered.  We reject the field in declarator() and it is never
added to the list of fields for the class.

However, when we reach the end of the class, we find that the
type we created while parsing the ctor has line number
information in it (the line where the ctor was) and gengtype
thinks that it is a duplicate structure definition.

I took out this check for two reasons: (a) It is actually
unnecessary because if there were really duplicate definitions of
this structure, the code would not compile, and (b) all the other
alternatives required making the parser much more convoluted and
I'm trying hard not to make gengtype parser too smart.

2012-10-12  Aaron Gray <aaronngray.lists@gmail.com>
    Diego Novillo <dnovillo@google.com>

        * gengtype-lex.l: Support for C++ single line comments.
        Support for classes.
(CXX_KEYWORD): New.  Support C++ keywords inline, public,
protected, private, template, operator, friend, &, ~.
(TYPEDEF): New.  Support typedef.
        * gengtype-parser.c: updated 'token_names[]'
        (direct_declarator): Add support for parsing functions
and ctors.

2012-10-12  Diego Novillo  <dnovillo@google.com>

* doc/gty.texi: Document C++ limitations in gengtype.
* gengtype-lex.l (CID): Rename from ID.
(ID): Include scoping '::' as part of the identifier name.
* gengtype-parse.c (token_names): Update.
(token_value_format): Update.
(consume_until_eos): Rename from consume_until_semi.
Remove unused argument IMMEDIATE.  Update all callers.
Also consider '}' as a finalizer.
(consume_until_comma_or_eos): Rename from
consume_until_comma_or_semi.
Remove unused argument IMMEDIATE.  Update all callers.
Also consider '}' as a finalizer.
(direct_declarator): Add documentation on ctor support.
Add argument IN_STRUCT.
If the token following ID is a '(', consider ID a
function and return NULL.
If the token following '(' is not a '*', and IN_STRUCT is
true, conclude that this is a ctor and return NULL.
If the token is IGNORABLE_CXX_KEYWORD, return NULL.
(inner_declarator): Add argument IN_STRUCT.
Update all callers.
(declarator): Add argument IN_STRUCT with default value
false.  Update all callers.
(type): Document argument NESTED.
Skip over C++ inheritance specifiers.
If a token TYPEDEF is found, emit an error.
If an enum is found inside a class/structure, emit an
error.
(typedefs, structures, param_structs, variables): Initialize.
(new_structure): Do not complain about duplicate
structures if S has a line location set.
* gengtype-state.c (write_state_type): Remove default
handler.  Add handler for TYPE_NONE.
(read_state_scalar_char_type):
* gengtype.c: Fix spacing.
* gengtype.h (enum gty_token): Add name.  Add token
IGNORABLE_CXX_KEYWORD.

From-SVN: r192405

12 years agoForgot the CL entry for the Hoyt and arcsine distributions.
Edward Smith-Rowland [Fri, 12 Oct 2012 15:16:29 +0000 (15:16 +0000)]
Forgot the CL entry for the Hoyt and arcsine distributions.

From-SVN: r192404

12 years agodd the Hoyt and the arcsine distributions as extensions.
Edward Smith-Rowland [Fri, 12 Oct 2012 15:15:21 +0000 (15:15 +0000)]
dd the Hoyt and the arcsine distributions as extensions.

From-SVN: r192403

12 years agore PR c++/24449 (Unable to declare friend main() from class template)
Paolo Carlini [Fri, 12 Oct 2012 14:38:11 +0000 (14:38 +0000)]
re PR c++/24449 (Unable to declare friend main() from class template)

/cp
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24449
* decl.c (grokfndecl): When checking for ::main declarations
use PROCESSING_REAL_TEMPLATE_DECL_P().

/testsuite
2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/24449
* g++.dg/parse/friend-main.C: New.

From-SVN: r192402

12 years agore PR c++/53055 (ICE in cp_build_indirect_ref, at cp/typeck.c:2836)
Marc Glisse [Fri, 12 Oct 2012 14:14:37 +0000 (16:14 +0200)]
re PR c++/53055 (ICE in cp_build_indirect_ref, at cp/typeck.c:2836)

2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

PR c++/53055

gcc/c-family/
* c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.

gcc/cp/
* call.c (build_new_op_1): Pass RO_ARROW_STAR to cp_build_indirect_ref.
* typeck.c (cp_build_indirect_ref): Handle RO_ARROW_STAR.

gcc/testsuite/
* g++.dg/pr53055.C: New testcase.

From-SVN: r192401

12 years agoarm.md (get_thread_pointersi): Moved to place with other TLS related patterns.
Chung-Lin Tang [Fri, 12 Oct 2012 12:47:53 +0000 (12:47 +0000)]
arm.md (get_thread_pointersi): Moved to place with other TLS related patterns.

2012-10-12  Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.md (get_thread_pointersi): Moved to place with
other TLS related patterns.

From-SVN: r192399

12 years agotree-streamer-out.c (pack_ts_target_option): Rename from ...
Richard Biener [Fri, 12 Oct 2012 12:14:48 +0000 (12:14 +0000)]
tree-streamer-out.c (pack_ts_target_option): Rename from ...

2012-10-12  Richard Biener  <rguenther@suse.de>

* tree-streamer-out.c (pack_ts_target_option): Rename from ...
(write_ts_target_option): ... this.
(pack_ts_optimization): Rename from ...
(write_ts_optimization): ... this.
(streamer_pack_tree_bitfields): Pack them in the bitfield section ...
(streamer_write_tree_body): ... not here.
* tree-streamer-in.c (unpack_ts_target_option): Rename from ...
(lto_input_ts_target_option): ... this.
(unpack_ts_optimization): Rename from ...
(lto_input_ts_optimization): ... this.
(unpack_value_fields): Unpack them from the bitfield section ...
(streamer_read_tree_body): ... not from here.

From-SVN: r192398

12 years agore PR lto/54898 (ICE in uniquify_nodes, at lto/lto.c:1898)
Richard Biener [Fri, 12 Oct 2012 12:14:03 +0000 (12:14 +0000)]
re PR lto/54898 (ICE in uniquify_nodes, at lto/lto.c:1898)

2012-10-12  Richard Biener  <rguenther@suse.de>

PR lto/54898
* lto.c (gimple_types_compatible_p_1): Also compare
TYPE_MAIN_VARIANT.
(iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.

From-SVN: r192397

12 years agoalpha.md (vecmodesuffix): New mode attribute.
Uros Bizjak [Fri, 12 Oct 2012 11:32:02 +0000 (13:32 +0200)]
alpha.md (vecmodesuffix): New mode attribute.

* config/alpha/alpha.md (vecmodesuffix): New mode attribute.
(modesuffix): Handle V8QI and V4HI modes.
(any_maxmin): New code iterator.
(maxmin): New code attribute.
(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{qi,hi}3
using any_maxmin code iterator and I12MODE mode iterator.
(<code><mode>3): Macroize insn from {smax,smin,umax,umin}{v8qi,v4hi}3
using any_maxmin code iterator and VEC12 mode iterator.

From-SVN: r192396

12 years agoRevert r192297.
Kirill Yukhin [Fri, 12 Oct 2012 10:57:06 +0000 (10:57 +0000)]
Revert r192297.

From-SVN: r192394

12 years agooptabs.c (vector_compare_rtx): Change prototype.
Marc Glisse [Fri, 12 Oct 2012 09:20:00 +0000 (11:20 +0200)]
optabs.c (vector_compare_rtx): Change prototype.

2012-10-12  Marc Glisse  <marc.glisse@inria.fr>

* optabs.c (vector_compare_rtx): Change prototype.
(expand_vec_cond_expr): Handle VEC_COND_EXPR whose first operand
is not a comparison.
* gimplify.c (gimplify_expr): Handle VEC_COND_EXPR.

From-SVN: r192393

12 years agore PR c++/52744 (bad handling of member (function) pointers in template parameters)
Paolo Carlini [Fri, 12 Oct 2012 08:30:00 +0000 (08:30 +0000)]
re PR c++/52744 (bad handling of member (function) pointers in template parameters)

2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52744
* g++.dg/cpp0x/pr52744.C: New.

From-SVN: r192392

12 years agore PR fortran/40453 ([F95] Enhanced (recursive) argument checking)
Janus Weil [Fri, 12 Oct 2012 08:16:17 +0000 (10:16 +0200)]
re PR fortran/40453 ([F95] Enhanced (recursive) argument checking)

2012-10-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40453
* interface.c (check_dummy_characteristics): Recursively check dummy
procedures.

2012-10-12  Janus Weil  <janus@gcc.gnu.org>

PR fortran/40453
* gfortran.dg/dummy_procedure_9.f90: New.

From-SVN: r192391

12 years agore PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_opera...
Richard Biener [Fri, 12 Oct 2012 08:00:29 +0000 (08:00 +0000)]
re PR tree-optimization/54894 (internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1286)

2012-10-12  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54894
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Handle over-aligned scalar types properly.

* gcc.dg/torture/pr54894.c: New testcase.

From-SVN: r192390

12 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Fri, 12 Oct 2012 00:45:36 +0000 (00:45 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* config/sh/sh.c (bdesc): Remove thread pointer built-ins.
* config/sh/sh.md (get_thread_pointer, set_thread_pointer): Append mode
name 'si'.

From-SVN: r192388

12 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Fri, 12 Oct 2012 00:41:23 +0000 (00:41 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/sh.md (negsi_cond, negdi_cond, stack_protect_test): Remove
get_t_reg_rtx when invoking gen_branch_true or gen_branch_false.
(*zero_extend<mode>si2_compact): Convert to insn_and_split.  Convert
zero extensions of T bit stores to reg moves in splitter.  Remove
obsolete unnamed peephole2 that caught zero extensions after negc T bit
stores.
(*branch_true_eq, *branch_false_ne): Delete.
(branch_true, branch_false): Convert insn to expander.  Move actual
insn logic to...
(*cbranch_t): ...this new insn_and_split.  Try to find preceding
redundant T bit stores and tests and combine them with the conditional
branch if possible in the splitter.
(movrt_xor, *movt_movrt): New insn_and_split.
* config/sh/predicates.md (cbranch_treg_value): New predicate.
* config/sh/sh-protos.h (sh_eval_treg_value): Forward declare...
* config/sh/sh.c (sh_eval_treg_value): ...this new function.
(expand_cbranchsi4, expand_cbranchdi4): Remove get_t_reg_rtx
when invoking gen_branch_true or gen_branch_false.

PR target/51244
* gcc.target/sh/pr51244-13.c: New.
* gcc.target/sh/pr51244-14.c: New.
* gcc.target/sh/pr51244-15.c: New.
* gcc.target/sh/pr51244-16.c: New.

From-SVN: r192387

12 years agoDaily bump.
GCC Administrator [Fri, 12 Oct 2012 00:19:24 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r192386

12 years agore PR c++/51878 (ICE or OOM with decltype + variadic templates + "indirect" function...
Paolo Carlini [Thu, 11 Oct 2012 23:37:48 +0000 (23:37 +0000)]
re PR c++/51878 (ICE or OOM with decltype + variadic templates + "indirect" function call)

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51878
* g++.dg/cpp0x/decltype45.C: New.

From-SVN: r192381

12 years agohashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of...
Paolo Carlini [Thu, 11 Oct 2012 22:18:27 +0000 (22:18 +0000)]
hashtable_policy.h: Revert libstdc++/53067 quick hacks thanks to the resolution of c++/51213.

2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
hacks thanks to the resolution of c++/51213.

From-SVN: r192380

12 years agoalpha.md (IMODE): New mode iterator.
Uros Bizjak [Thu, 11 Oct 2012 20:44:30 +0000 (22:44 +0200)]
alpha.md (IMODE): New mode iterator.

* config/alpha/alpha.md (IMODE): New mode iterator.
(I124MODE): Ditto.
(I248MODE): Ditto.
(modesuffix): Handle QI and HI modes.
(zero_extendqi<mode>2): Macroize insn from zero_extendqi{hi,si,di}2
using I248MODE mode iterator.
(zero_extendhi<mode>2): Macroize insn from zero_extendhi{si,di}2
using I48MODE mode iterator.
(andnot<mode>3): Macroize insn from andnot{si,di}3 using
I48MODE mode iterator.
(ins<modesuffix>l_const): Macroize insn from ins{b,w,l}l_const
using I248MODE mode iterator.
(ins<modesuffix>l): Macroize insn from ins{b,w,l}l
using I248MODE mode iterator.
(*mov<mode>cc_internal): Macroize insn from
*mov{qi,hi,si,di}cc_internal using IMODE mode iterator.
(*mov<mode>cc_lbc): Macroize insn from
*mov{qi,hi,si,di}cc_lbc using IMODE mode iterator.
(*mov<mode>cc_lbs): Macroize insn from
*mov{qi,hi,si,di}cc_lbs using IMODE mode iterator.
(mov<mode>cc): Macroize insn from mov{si,di}cc_lbs
using I48MODE mode iterator.

From-SVN: r192379

12 years agoira-build.c (ira_loop_tree_body_rev_postorder): New function.
Steven Bosscher [Thu, 11 Oct 2012 18:54:47 +0000 (18:54 +0000)]
ira-build.c (ira_loop_tree_body_rev_postorder): New function.

* ira-build.c (ira_loop_tree_body_rev_postorder): New function.
(ira_traverse_loop_tree): Traverse a loop's basic blocks in
reverse post-order of the reversed control-flow direction.
* ira-conflicts.c (ira_build_conflicts): Pass add_copies as
the pre-order function to ira_traverse_loop_tree to preserve
the existing semantics.

* ira-lives.c (remove_some_program_points_and_update_live_ranges):
Squeeze out live range chain elements if their program points are
connected.

From-SVN: r192378

12 years ago* tree.def (REDUC_PLUS_EXPR): Fix up comment.
Jakub Jelinek [Thu, 11 Oct 2012 18:40:06 +0000 (20:40 +0200)]
* tree.def (REDUC_PLUS_EXPR): Fix up comment.

From-SVN: r192377

12 years agofold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR.
Jakub Jelinek [Thu, 11 Oct 2012 18:37:23 +0000 (20:37 +0200)]
fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR, REDUC_MAX_EXPR and REDUC_PLUS_EXPR.

* fold-const.c (fold_unary_loc): Handle REDUC_MIN_EXPR,
REDUC_MAX_EXPR and REDUC_PLUS_EXPR.

From-SVN: r192376

12 years agore PR fortran/54784 ([OOP] wrong code in polymorphic allocation with SOURCE)
Janus Weil [Thu, 11 Oct 2012 17:52:36 +0000 (19:52 +0200)]
re PR fortran/54784 ([OOP] wrong code in polymorphic allocation with SOURCE)

2012-10-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54784
* trans-stmt.c (gfc_trans_allocate): Correctly determine the reference
to the _data component for polymorphic allocation with SOURCE.

2012-10-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54784
* gfortran.dg/class_allocate_13.f90: New.

From-SVN: r192374

12 years agoAs suggested here:
James Lemke [Thu, 11 Oct 2012 17:39:26 +0000 (17:39 +0000)]
As suggested here:

http://gcc.gnu.org/ml/gcc-patches/2012-10/msg00283.html

The following are committed as obvious / trivial:
* config/rs6000/predicates.md (zero_fp_constant): Fix comment.
* config/rs6000/rs6000.md (return_pred): Fix null return.
* config/rs6000/rs6000.c (rs6000_emit_set_const): Fix indentation.
(print_operand): Make FALLTHRU obvious.
(output_cbranch): Correct comment.

From-SVN: r192373

12 years agoconfigure.ac: Do not use dl_iterate_phdr on Solaris 10.
Ian Lance Taylor [Thu, 11 Oct 2012 16:43:47 +0000 (16:43 +0000)]
configure.ac: Do not use dl_iterate_phdr on Solaris 10.

* configure.ac: Do not use dl_iterate_phdr on Solaris 10.
* configure: Rebuild.

From-SVN: r192371

12 years agoalpha.md (DWI): New mode attribute.
Uros Bizjak [Thu, 11 Oct 2012 15:44:54 +0000 (17:44 +0200)]
alpha.md (DWI): New mode attribute.

* config/alpha/alpha.md (DWI): New mode attribute.
(*sadd<modesuffix>): Macroize insn from *saddl and *saddq using
I48MODE mode iterator.
(addv<mode>3): Macroize insn from addvsi3 and addvdi3 using
I48MODE mode iterator.
(neg<mode>2): Macroize insn from negsi2 and negdi2 using
I48MODE mode iterator.
(negv<mode>2): Macroize insn from negvsi2 and negvdi2 using
I48MODE mode iterator.
(sub<mode>3): Macroize insn from subsi3 and subdi3 using
I48MODE mode iterator.
(*ssub<modesuffix>): Macroize insn from *ssubl and *ssubq using
I48MODE mode iterator.
(subv<mode>3): Macroize insn from subvsi3 and subvdi3 using
I48MODE mode iterator.
(mul<mode>3): Macroize insn from mulsi3 and muldi3 using
I48MODE mode iterator.
(mulv<mode>3): Macroize insn from mulvsi3 and mulvdi3 using
I48MODE mode iterator.
(*iornot<mode>3): Macroize insn from *iornotsi3 and *iornotdi3 using
I48MODE mode iterator.
(*xornot<mode>3): Macroize insn from *xornotsi3 and *xornotdi3 using
I48MODE mode iterator.

From-SVN: r192370

12 years agocp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
Jason Merrill [Thu, 11 Oct 2012 15:13:36 +0000 (11:13 -0400)]
cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.

* cp-tree.h (DECL_THUNKS): NULL_TREE for non-virtual functions.
(SET_DECL_THUNKS): New.
* decl.c (duplicate_decls): Adjust.
* method.c (make_thunk): Adjust.

From-SVN: r192368

12 years agopragma-override1.C: Fix target markup.
Jason Merrill [Thu, 11 Oct 2012 15:13:28 +0000 (11:13 -0400)]
pragma-override1.C: Fix target markup.

* g++.dg/ext/visibility/pragma-override1.C: Fix target markup.
* g++.dg/ext/visibility/pragma-override2.C: Fix target markup.

From-SVN: r192367

12 years agodecl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data members, too.
Jason Merrill [Thu, 11 Oct 2012 15:13:20 +0000 (11:13 -0400)]
decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data members, too.

* decl.c (grokdeclarator): Set DECL_GNU_TLS_P for static data
members, too.

From-SVN: r192366

12 years agoconfigure.ac (gcc_cv_as_aix_ref): Fix typo.
Jason Merrill [Thu, 11 Oct 2012 15:13:11 +0000 (11:13 -0400)]
configure.ac (gcc_cv_as_aix_ref): Fix typo.

        * configure.ac (gcc_cv_as_aix_ref): Fix typo.
        * configure: Regenerate.

From-SVN: r192365

12 years agobuiltins.c (expand_builtin_thread_pointer): New.
Chung-Lin Tang [Thu, 11 Oct 2012 15:05:44 +0000 (15:05 +0000)]
builtins.c (expand_builtin_thread_pointer): New.

2012-10-11  Chung-Lin Tang  <cltang@codesourcery.com>

* builtins.c (expand_builtin_thread_pointer): New.
(expand_builtin_set_thread_pointer): New.
(expand_builtin): Add BUILT_IN_THREAD_POINTER,
BUILT_IN_SET_THREAD_POINTER expand cases.
* builtins.def (BUILT_IN_THREAD_POINTER):
New __builtin_thread_pointer builtin.
(BUILT_IN_SET_THREAD_POINTER):
New __builtin_set_thread_pointer builtin.
* optabs.def (get_thread_pointer,set_thread_pointer):
New standard names.
* doc/md.texi (Standard Names): Document get_thread_pointer and
set_thread_pointer patterns.
* config/alpha/alpha.md (get_thread_pointerdi): Rename from load_tp.
(set_thread_pointerdi): Rename from set_tp.
* config/alpha/alpha.c (alpha_legitimize_address_1): Change
gen_load_tp calls to gen_get_thread_pointerdi.
(alpha_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
ALPHA_BUILTIN_SET_THREAD_POINTER.
(code_for_builtin): Remove CODE_FOR_load_tp, CODE_FOR_set_tp.
(alpha_init_builtins): Remove __builtin_thread_pointer,
__builtin_set_thread_pointer machine-specific builtins.
(alpha_expand_builtin_thread_pointer): Add hook function for
TARGET_EXPAND_BUILTIN_THREAD_POINTER.
(alpha_expand_builtin_set_thread_pointer): Add hook function for
TARGET_EXPAND_BUILTIN_SET_THREAD_POINTER.
(alpha_fold_builtin): Remove ALPHA_BUILTIN_THREAD_POINTER,
ALPHA_BUILTIN_SET_THREAD_POINTER cases.
* config/arm/arm.md (get_thread_pointersi): New pattern.
* config/arm/arm-protos.h (arm_load_tp): Add extern declaration.
* config/arm/arm.c (arm_load_tp): Remove static.
(arm_builtins): Remove ARM_BUILTIN_THREAD_POINTER.
(arm_init_tls_builtins): Remove function.
(arm_init_builtins): Remove call to arm_init_tls_builtins().
(arm_expand_builtin): Remove ARM_BUILTIN_THREAD_POINTER case.
* config/mips/mips.md (get_thread_pointer<mode>): New pattern.
* config/mips/mips-protos.h (mips_expand_thread_pointer):
Add extern declaration.
* config/mips/mips.c (mips_expand_thread_pointer):
Renamed from mips_get_tp.
(mips_get_tp): New stub calling mips_expand_thread_pointer.
* config/s390/s390.c (s390_builtin,code_for_builtin_64,
code_for_builtin_31,s390_init_builtins,s390_expand_builtin): Remove.
* config/s390/s390.md (get_tp_64,get_tp_31,set_tp_64,set_tp_31):
Remove.
(get_thread_pointer<mode>,set_thread_pointer<mode>):
New, adapted from removed patterns.
* config/xtensa/xtensa.md (get_thread_pointersi):
Renamed from load_tp.
(set_thread_pointersi): Renamed from set_tp.
* config/xtensa/xtensa.c (xtensa_legitimize_tls_address):
Change gen_load_tp calls to gen_get_thread_pointersi.
(xtensa_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER and
XTENSA_BUILTIN_SET_THREAD_POINTER.
(xtensa_init_builtins): Remove __builtin_thread_pointer,
__builtin_set_thread_pointer machine-specific builtins.
(xtensa_fold_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
XTENSA_BUILTIN_SET_THREAD_POINTER cases.
(xtensa_expand_builtin): Remove XTENSA_BUILTIN_THREAD_POINTER,
XTENSA_BUILTIN_SET_THREAD_POINTER cases.

From-SVN: r192364

12 years agoextend.texi (Vector Extensions): C++ improvements.
Marc Glisse [Thu, 11 Oct 2012 14:59:18 +0000 (16:59 +0200)]
extend.texi (Vector Extensions): C++ improvements.

2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

* doc/extend.texi (Vector Extensions): C++ improvements.
* doc/generic.texi (LSHIFT_EXPR, RSHIFT_EXPR): Mixed vector-scalar.
(LT_EXPR, LE_EXPR, GT_EXPR, GE_EXPR, EQ_EXPR, NE_EXPR): Specify
the vector case.
(VEC_COND_EXPR): Document it.

From-SVN: r192363

12 years agore PR c++/36107 (weak constructor produces invalid asm)
Paolo Carlini [Thu, 11 Oct 2012 14:37:44 +0000 (14:37 +0000)]
re PR c++/36107 (weak constructor produces invalid asm)

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/36107
* g++.dg/ext/weak5.C: New.

From-SVN: r192361

12 years agore PR testsuite/54868 (gcc.dg/tree-ssa/forwprop-22.c FAILs)
Marc Glisse [Thu, 11 Oct 2012 13:28:27 +0000 (15:28 +0200)]
re PR testsuite/54868 (gcc.dg/tree-ssa/forwprop-22.c FAILs)

2012-10-11  Marc Glisse  <marc.glisse@inria.fr>

PR testsuite/54868
* gcc.dg/tree-ssa/forwprop-22.c: Move ...
* gcc.dg/vect/nodump-forwprop-22.c: ... here. Adapt options.

From-SVN: r192359

12 years ago45713.cc: Tweak.
Paolo Carlini [Thu, 11 Oct 2012 13:24:11 +0000 (13:24 +0000)]
45713.cc: Tweak.

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/45713.cc: Tweak.

From-SVN: r192358

12 years ago45713.cc: Tweak.
Paolo Carlini [Thu, 11 Oct 2012 13:23:33 +0000 (13:23 +0000)]
45713.cc: Tweak.

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/bitset/45713.cc: Tweak.

From-SVN: r192357

12 years agosfinae_friendly_1.cc: Update / extend.
Daniel Krugler [Thu, 11 Oct 2012 11:45:35 +0000 (11:45 +0000)]
sfinae_friendly_1.cc: Update / extend.

2012-10-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Update / extend.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.

From-SVN: r192356

12 years agosfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets...
Uros Bizjak [Thu, 11 Oct 2012 11:44:51 +0000 (13:44 +0200)]
sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE instructions for 64bit targets only.

* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions for 64bit targets only.

From-SVN: r192355

12 years agore PR testsuite/54897 (23_containers/bitset/45713.cc (test for excess errors))
Hans-Peter Nilsson [Thu, 11 Oct 2012 11:36:39 +0000 (11:36 +0000)]
re PR testsuite/54897 (23_containers/bitset/45713.cc (test for excess errors))

PR testsuite/54897
* testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.

From-SVN: r192354

12 years agoc-ada-spec.c (dump_ada_template): Bail out for template declarations declaring someth...
Eric Botcazou [Thu, 11 Oct 2012 10:29:54 +0000 (10:29 +0000)]
c-ada-spec.c (dump_ada_template): Bail out for template declarations declaring something coming from another file.

* c-ada-spec.c (dump_ada_template): Bail out for template declarations
declaring something coming from another file.

From-SVN: r192353

12 years agosfinae_friendly_1.cc: Update / extend.
Daniel Krugler [Thu, 11 Oct 2012 10:27:45 +0000 (10:27 +0000)]
sfinae_friendly_1.cc: Update / extend.

2012-10-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Update / extend.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.

From-SVN: r192352

12 years agore PR c++/43765 (infinite loop on illegal code)
Paolo Carlini [Thu, 11 Oct 2012 10:15:49 +0000 (10:15 +0000)]
re PR c++/43765 (infinite loop on illegal code)

2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/43765
* g++.dg/parse/pr43765.C: New.

From-SVN: r192351

12 years agore PR testsuite/54867 (gcc.dg/pr44194-1.c FAILs)
Eric Botcazou [Thu, 11 Oct 2012 10:11:37 +0000 (10:11 +0000)]
re PR testsuite/54867 (gcc.dg/pr44194-1.c FAILs)

PR testsuite/54867
* gcc.dg/pr44194-1.c: Tweak regexp to exclude prologue insns.

From-SVN: r192350

12 years agoFix Solaris symbol versioning (PR libstdc++/54872)
Rainer Orth [Thu, 11 Oct 2012 08:38:28 +0000 (08:38 +0000)]
Fix Solaris symbol versioning (PR libstdc++/54872)

PR libstdc++/54872
* config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
Don't export _ZNSt12system_errorC*.

From-SVN: r192349

12 years agoinit-2.mm: Tweak errors.
Uros Bizjak [Thu, 11 Oct 2012 07:04:32 +0000 (09:04 +0200)]
init-2.mm: Tweak errors.

* obj-c++.dg/tls/init-2.mm: Tweak errors.

From-SVN: r192348

12 years agore PR c++/43663 (Can't take a const-ref to a bit field)
Paolo Carlini [Thu, 11 Oct 2012 02:34:32 +0000 (02:34 +0000)]
re PR c++/43663 (Can't take a const-ref to a bit field)

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

PR c++/43663
* g++.dg/init/bitfield3.C: New.

From-SVN: r192347

12 years agoarm.c (arm_arch6m): New variable to denote armv6-m architecture.
Terry Guo [Thu, 11 Oct 2012 02:22:48 +0000 (02:22 +0000)]
arm.c (arm_arch6m): New variable to denote armv6-m architecture.

2012-10-11  Terry Guo  <terry.guo@arm.com>

        * config/arm/arm.c (arm_arch6m): New variable to denote armv6-m
        architecture.
        * config/arm/arm.h (TARGET_HAVE_DMB): The armv6-m also has DMB
        instruction.

From-SVN: r192346

12 years agore PR target/54373 (build fails for mmix-knuth-mmixware libobjc GCC_NO_EXECUTABLES)
Hans-Peter Nilsson [Thu, 11 Oct 2012 01:36:24 +0000 (01:36 +0000)]
re PR target/54373 (build fails for mmix-knuth-mmixware libobjc GCC_NO_EXECUTABLES)

PR target/54373
* configure.ac (out-of-tree linker .hidden support) Set to "no"
for mmix-knuth-mmixware.
* configure: Regenerate.

From-SVN: r192345

12 years ago* configure.ac (out-of-tree linker .hidden support) Set to "no"
Hans-Peter Nilsson [Thu, 11 Oct 2012 01:09:43 +0000 (01:09 +0000)]
* configure.ac (out-of-tree linker .hidden support) Set to "no"
for mmix-knuth-mmixware.
* configure: Regenerate.

From-SVN: r192344

12 years agoconfigure.ac (gcc_cv_as_comdat_group_group): Default to no.
Hans-Peter Nilsson [Thu, 11 Oct 2012 01:07:27 +0000 (01:07 +0000)]
configure.ac (gcc_cv_as_comdat_group_group): Default to no.

* configure.ac (gcc_cv_as_comdat_group_group): Default to no.
* configure: Regenerate.

From-SVN: r192343

12 years agoacinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single character to quote the VERSIO...
Hans-Peter Nilsson [Thu, 11 Oct 2012 00:52:26 +0000 (00:52 +0000)]
acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single character to quote the VERSION= contents.

* acinclude.m4 (_gcc_COMPUTE_GAS_VERSION): Allow a single
character to quote the VERSION= contents.  Sanity-check contents.
* configure.ac ("what linker to use" ld version extraction): Ditto.
* configure: Regenerate.

From-SVN: r192342

12 years agoDaily bump.
GCC Administrator [Thu, 11 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192340