1. 15 Oct, 2012 17 commits
    • PR c++/50080 (again) · c9e3b209
      /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
      Paolo Carlini committed
    • * testsuite/ChangeLog: Missing from my previous commit. · e3044010
      From-SVN: r192469
      Uros Bizjak committed
    • sse.md (UNSPEC_MOVU): Remove. · 860f5e77
      	* 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
      Uros Bizjak committed
    • re PR c++/50080 ([DR 468] error: 'template' (as a disambiguator) is only allowed within templates) · 81833173
      /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
      Paolo Carlini committed
    • Cleanup comments in alias.c · 308a3fe2
      While reading alias.c, it seemed to me that some comments could use
      some cleanups.
      
      gcc/
      
      	* alias.c: Cleanup comments.
      
      From-SVN: r192463
      Dodji Seketeli committed
    • re PR middle-end/54915 (ICE: verify_gimple failed: type mismatch in vector permute expression) · 895e8371
      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
      Marc Glisse committed
    • data-streamer.h (bp_pack_string_with_length): New function. · 8135e1e6
      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
      Richard Biener committed
    • gthr.m4: New. · 1183dc2c
      	    * 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
      Pavel Chupin committed
    • genoutput.c (process_template): Process '*' in '@' alternatives. · 94c765ab
      	* genoutput.c (process_template): Process '*' in '@' alternatives.
      	* doc/md.texi (node Output Statement): Provide example for the above.
      
      From-SVN: r192457
      J"orn Rennecke committed
    • Update Copyright years. · c3dc2ac8
      From-SVN: r192456
      Joern Rennecke committed
    • re PR tree-optimization/54920 (segfault in tree-ssa-pre.c during Firefox build) · f843144b
      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
      Richard Guenther committed
    • expr.c (expand_expr_real_1): Do not unnecessarily copy the object in the MEM_P case. · 9506aecb
      	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily
      	copy the object in the MEM_P case.
      
      From-SVN: r192452
      Eric Botcazou committed
    • tree-streamer-out.c (streamer_pack_tree_bitfields): Back BINFO_BASE_ACCESSES and… · 0127aae4
      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
      Richard Guenther committed
    • re PR target/54908 (misc regressions on emutls targets remain from dynamic… · fe0f6df4
      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
      Jason Merrill committed
    • Implement C++11 inheriting constructors. · 85b5d65a
      	* 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
      Jason Merrill committed
    • Daily bump. · d0d4f8c7
      From-SVN: r192445
      GCC Administrator committed
  2. 14 Oct, 2012 9 commits
  3. 13 Oct, 2012 8 commits
    • alpha.md (I24MODE): New mode iterator. · c131069c
      	* 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
      Uros Bizjak committed
    • re PR rtl-optimization/54871 (gfortran.dg/vector_subscript_1.f90 FAILs) · 4fc2e37d
      	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
      Eric Botcazou committed
    • re PR gcov-profile/44728 (gcov chokes when "." is present in DIR argument to -o flag) · 258ef007
      PR gcov-profile/44728
      * gcov.c (create_file_names): When stripping extension only look
      at base name.
      
      From-SVN: r192425
      Andreas Schwab committed
    • loop-iv.c (determine_max_iter): Fix handling of AND. · 43ffba00
      
      	* loop-iv.c (determine_max_iter): Fix handling of AND.
      	(iv_number_of_iterations): Record upper bounds as unsigned
      	values.
      
      From-SVN: r192424
      Jan Hubicka committed
    • ira.c (ira): Set current_loops to &ira_loops before recording loop exits. · 544e7e78
      	* ira.c (ira): Set current_loops to &ira_loops before recording
      	loop exits.  Release recorded exits and loops early.
      
      From-SVN: r192423
      Steven Bosscher committed
    • builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand()… · 5440a1b0
      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
      Chung-Lin Tang committed
    • alpha.md (FMODE): New mode iterator. · fdc54592
      	* 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
      Uros Bizjak committed
    • Daily bump. · c4648c1d
      From-SVN: r192420
      GCC Administrator committed
  4. 12 Oct, 2012 6 commits