platform/upstream/gcc.git
9 years ago20091013.c: Fix defaulting to int.
Marek Polacek [Thu, 2 Oct 2014 18:17:04 +0000 (18:17 +0000)]
20091013.c: Fix defaulting to int.

* gcc.dg/tm/20091013.c: Fix defaulting to int.
* gcc.dg/tm/20091221.c: Likewise.
* gcc.dg/tm/debug-1.c: Likewise.
* gcc.dg/tm/irrevocable-1.c: Likewise.
* gcc.dg/tm/irrevocable-2.c: Likewise.
* gcc.dg/tm/irrevocable-3.c: Likewise.
* gcc.dg/tm/irrevocable-4.c: Likewise.
* gcc.dg/tm/memopt-1.c: Likewise.
* gcc.dg/tm/pr52173-1.c: Likewise.
* gcc.dg/tm/props-1.c: Likewise.
* gcc.dg/tm/props-2.c: Likewise.
* gcc.dg/tm/props-3.c: Likewise.
* gcc.dg/tm/20100125.c: Fix implicit declarations.
* gcc.dg/tm/memopt-11.c: Likewise.
* gcc.dg/tm/memopt-12.c: Likewise.
* gcc.dg/tm/memopt-16.c: Likewise.
* gcc.dg/tm/memopt-3.c: Likewise.
* gcc.dg/tm/memopt-4.c: Likewise.
* gcc.dg/tm/memopt-5.c: Likewise.
* gcc.dg/tm/memopt-6.c: Likewise.
* gcc.dg/tm/wrap-4.c: Likewise.

From-SVN: r215815

9 years agopr24049.c: Fix implicit declarations.
Marek Polacek [Thu, 2 Oct 2014 18:14:27 +0000 (18:14 +0000)]
pr24049.c: Fix implicit declarations.

* gcc.dg/vect/pr24049.c: Fix implicit declarations.
* gcc.dg/vect/pr37730.c: Likewise.
* gcc.dg/vect/pr52870.c: Likewise.
* gcc.dg/vect/pr60092-2.c: Likewise.
* gcc.dg/vect/pr60092.c: Likewise.
* gcc.dg/vect/vect-reduc-sad.c: Likewise.
* gcc.dg/vect/pr26359.c: Fix defaulting to int.
* gcc.dg/vect/pr31041.c: Likewise.
* gcc.dg/vect/pr32216.c: Likewise.
* gcc.dg/vect/pr32224.c: Likewise.
* gcc.dg/vect/pr32366.c: Likewise.
* gcc.dg/vect/pr33866.c: Likewise.
* gcc.dg/vect/pr43430-2.c: Likewise.
* gcc.dg/vect/pr43842.c: Likewise.
* gcc.dg/vect/vect-1.c: Likewise.
* gcc.dg/vect/vect-1-big-array.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/pr28952.c: Fix implicit declarations and
defaulting to int.

From-SVN: r215814

9 years agore PR c++/53025 ([C++11] noexcept operator depends on copy-elision)
Paolo Carlini [Thu, 2 Oct 2014 18:05:55 +0000 (18:05 +0000)]
re PR c++/53025 ([C++11] noexcept operator depends on copy-elision)

/cp
2014-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53025
* cp-tree.h (struct saved_scope): Add noexcept_operand.
(cp_noexcept_operand): Define.
* call.c (build_over_call): Use it.
* parser.c (cp_parser_unary_expression, [RID_NOEXCEPT]): Likewise.
* pt.c (tsubst_copy_and_build, [NOEXCEPT_EXPR]): Likewise.

/testsuite
2014-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53025
* g++.dg/cpp0x/noexcept23.C: New.
* g++.dg/cpp0x/noexcept24.C: Likewise.

From-SVN: r215813

9 years ago20020130-1.c: Use -std=gnu89.
Marek Polacek [Thu, 2 Oct 2014 17:57:01 +0000 (17:57 +0000)]
20020130-1.c: Use -std=gnu89.

* gcc.dg/noncompile/20020130-1.c: Use -std=gnu89.
* gcc.dg/noncompile/20050120-1.c: Likewise.
* gcc.dg/noncompile/old-style-parm-2.c: Likewise.
* gcc.dg/noncompile/920616-2.c: Fix defaulting to int.
* gcc.dg/noncompile/930301-1.c: Likewise.
* gcc.dg/noncompile/930622-1.c: Likewise.
* gcc.dg/noncompile/930622-2.c: Likewise.
* gcc.dg/noncompile/950825-1.c: Likewise.
* gcc.dg/noncompile/invalid_asm.c: Likewise.
* gcc.dg/noncompile/scope.c: Likewise.
* gcc.dg/noncompile/va-arg-1.c: Likewise.
* gcc.dg/noncompile/920923-1.c: Fix implicit declarations.
* gcc.dg/noncompile/971104-1.c: Likewise.

From-SVN: r215811

9 years agore PR go/61880 (Linking with external functions in C does not work in GO when using...
Ian Lance Taylor [Thu, 2 Oct 2014 17:56:50 +0000 (17:56 +0000)]
re PR go/61880 (Linking with external functions in C does not work in GO when using gccgo, while it works in gc)

PR go/61880
compiler: symbol names should have '.' replaced with '_'

Package and symbol names issued by the cgo tool and compiler
should be the same for the object files to link.

A minimal change to fix only:
   https://code.google.com/p/gofrontend/issues/detail?id=36
and
   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61880

From-SVN: r215810

9 years agocrossmodule-indircall-1.c: Fix defaulting to int.
Marek Polacek [Thu, 2 Oct 2014 17:55:51 +0000 (17:55 +0000)]
crossmodule-indircall-1.c: Fix defaulting to int.

* gcc.dg/tree-prof/crossmodule-indircall-1.c: Fix defaulting to int.
* gcc.dg/tree-prof/crossmodule-indircall-1a.c: Likewise.
* gcc.dg/tree-prof/merge_block.c: Likewise.
* gcc.dg/tree-prof/peel-1.c: Likewise.
* gcc.dg/tree-prof/stringop-1.c: Likewise.
* gcc.dg/tree-prof/stringop-2.c: Likewise.
* gcc.dg/tree-prof/unroll-1.c: Likewise.
* gcc.dg/tree-prof/update-cunroll-2.c: Likewise.
* gcc.dg/tree-prof/val-prof-1.c: Likewise.
* gcc.dg/tree-prof/val-prof-2.c: Likewise.
* gcc.dg/tree-prof/val-prof-3.c: Likewise.
* gcc.dg/tree-prof/val-prof-4.c: Likewise.
* gcc.dg/tree-prof/val-prof-5.c: Likewise.
* gcc.dg/tree-prof/val-prof-6.c: Likewise.
* gcc.dg/tree-prof/cmpsf-1.c: Likewise.
* gcc.dg/tree-prof/inliner-1.c: Use -fgnu89-inline.  Fix defaulting
to int.

From-SVN: r215809

9 years agore PR rtl-optimization/63375 (reordering of reads across fences)
Martin Jambor [Thu, 2 Oct 2014 16:49:14 +0000 (18:49 +0200)]
re PR rtl-optimization/63375 (reordering of reads across fences)

2014-10-02  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/63375
* tree-sra.c (build_access_from_expr_1): Disqualify volatile
references.

From-SVN: r215804

9 years agoctgmath: Include <complex>.
Jonathan Wakely [Thu, 2 Oct 2014 15:52:24 +0000 (16:52 +0100)]
ctgmath: Include <complex>.

* include/c_global/ctgmath: Include <complex>.
* testsuite/26_numerics/headers/ctgmath/complex.cc: New.
* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.

From-SVN: r215803

9 years agoAdd file I forgot to add before.
Segher Boessenkool [Thu, 2 Oct 2014 13:40:53 +0000 (15:40 +0200)]
Add file I forgot to add before.

From-SVN: r215802

9 years agostl_function.h: Generic associative lookup feature is not supported.
Edward Smith-Rowland [Thu, 2 Oct 2014 12:38:41 +0000 (12:38 +0000)]
stl_function.h: Generic associative lookup feature is not supported.

2014-10-02  Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/bits/stl_function.h: Generic associative lookup feature
is not supported.
* testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
actually available.
* testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust.

From-SVN: r215801

9 years agoMakefile.in (CROSS): Define, to @CROSS@.
Olivier Hainque [Thu, 2 Oct 2014 09:44:20 +0000 (09:44 +0000)]
Makefile.in (CROSS): Define, to @CROSS@.

2014-10-02  Olivier Hainque  <hainque@adacore.com>

        * Makefile.in (CROSS): Define, to @CROSS@.

From-SVN: r215799

9 years ago20000120-2.c: Use -fgnu89-inline.
Marek Polacek [Thu, 2 Oct 2014 09:37:53 +0000 (09:37 +0000)]
20000120-2.c: Use -fgnu89-inline.

* gcc.c-torture/compile/20000120-2.c: Use -fgnu89-inline.
* gcc.c-torture/compile/20011119-1.c: Likewise.
* gcc.c-torture/compile/20011119-2.c: Likewise.
* gcc.c-torture/compile/20021120-1.c: Likewise.
* gcc.c-torture/compile/20021120-2.c: Likewise.
* gcc.c-torture/compile/20050215-1.c: Likewise.
* gcc.c-torture/compile/20050215-2.c: Likewise.
* gcc.c-torture/compile/20050215-3.c: Likewise.
* gcc.c-torture/compile/pr37669.c: Likewise.
* gcc.c-torture/execute/20020107-1.c: Likewise.
* gcc.c-torture/execute/restrict-1.c: Likewise.
* gcc.c-torture/compile/20090721-1.c: Fix defaulting to int.
* gcc.c-torture/execute/930529-1.c: Likewise.
* gcc.c-torture/execute/920612-1.c: Likewise.
* gcc.c-torture/execute/920711-1.c: Likewise.
* gcc.c-torture/execute/990127-2.c: Likewise.
* gcc.c-torture/execute/pr40386.c: Likewise.
* gcc.c-torture/execute/pr57124.c: Likewise.
* gcc.c-torture/compile/pr34808.c: Add function declarations.
* gcc.c-torture/compile/pr42299.c: Likewise.
* gcc.c-torture/compile/pr48517.c: Use -std=gnu89.
* gcc.c-torture/compile/simd-6.c: Likewise.
* gcc.c-torture/execute/pr53645-2.c: Likewise.
* gcc.c-torture/execute/pr53645.c: Likewise.
* gcc.c-torture/execute/20001121-1.c: Use -fgnu89-inline.  Add function
declarations.
* gcc.c-torture/execute/980608-1.c: Likewise.
* gcc.c-torture/execute/bcp-1.c: Likewise.
* gcc.c-torture/execute/p18298.c: Likewise.
* gcc.c-torture/execute/unroll-1.c: Likewise.
* gcc.c-torture/execute/va-arg-7.c: Likewise.
* gcc.c-torture/execute/va-arg-8.c: Likewise.
* gcc.c-torture/execute/930526-1.c: Use -fgnu89-inline.  Add function
declarations.  Fix defaulting to int.
* gcc.c-torture/execute/961223-1.c: Likewise.
* gcc.c-torture/execute/loop-2c.c: Use -fgnu89-inline and
-Wno-pointer-to-int-cast.  Fix defaulting to int.

From-SVN: r215798

9 years agore PR target/62128 (Use vpalignr for AVX2 rotation)
Jakub Jelinek [Thu, 2 Oct 2014 07:29:49 +0000 (09:29 +0200)]
re PR target/62128 (Use vpalignr for AVX2 rotation)

PR target/62128
* config/i386/i386.c (expand_vec_perm_1): Try expand_vec_perm_palignr
if it expands to a single insn only.
(expand_vec_perm_palignr): Add SINGLE_INSN_ONLY_P argument.  If true,
fail unless in_order is true.  Add forward declaration.
(expand_vec_perm_vperm2f128): Fix up comment about which permutation
is useful for one_operand_p.
(ix86_expand_vec_perm_const_1): Adjust expand_vec_perm_palignr caller.

From-SVN: r215796

9 years agocgraphclones.c (build_function_type_skip_args): Do not make new type variant of old.
Jan Hubicka [Thu, 2 Oct 2014 07:07:04 +0000 (09:07 +0200)]
cgraphclones.c (build_function_type_skip_args): Do not make new type variant of old.

* cgraphclones.c (build_function_type_skip_args): Do not make new
type variant of old.

From-SVN: r215795

9 years agoipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE when speculation is added.
Jan Hubicka [Thu, 2 Oct 2014 07:03:15 +0000 (09:03 +0200)]
ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE when speculation is added.

* ipa-prop.h (ipa_get_controlled_uses): Add hack to avoid ICE
when speculation is added.
(ipa_edge_args): Add polymorphic_call_contexts.
(ipa_get_ith_polymorhic_call_context): New accesor.
(ipa_make_edge_direct_to_target): Add SPECULATIVE parameter.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Print contexts.
(ipa_compute_jump_functions_for_edge): Compute contexts.
(update_jump_functions_after_inlining): Update contexts.
(ipa_make_edge_direct_to_target): Add SPECULATIVE argument;
update dumping; add speculative edge creation.
(try_make_edge_direct_virtual_call): Add CTX_PTR parameter; handle
context updating.
(update_indirect_edges_after_inlining): Pass down context.
(ipa_edge_duplication_hook): Duplicate contexts.
(ipa_write_node_info): Stream out contexts.
(ipa_read_node_info): Stream in contexts.
* ipa-devirt.c (type_all_derivations_known_p): Avoid ICE on non-ODR
types.
(try_speculative_devirtualization): New function.
* ipa-utils.h (try_speculative_devirtualization): Declare.

From-SVN: r215794

9 years agogcc/testsuite/
Andrew Pinski [Thu, 2 Oct 2014 06:35:49 +0000 (06:35 +0000)]
gcc/testsuite/

2014-10-01  Andrew Pinski  <apinski@cavium.com>
            Max Ostapenko  <m.ostapenko@partner.samsung.com>

* lib/ubsan-dg.exp
(check_effective_target_fsanitize_address): New function.
(ubsan_init): Save off ALWAYS_CXXFLAGS.
(ubsan_finish): Restore ALWAYS_CXXFLAGS correctly.
* lib/asan-dg.exp
(check_effective_target_faddress_sanitizer): Rename to ...
(check_effective_target_fsanitize_address): ... this. Change to creating
an executable.
(asan_init): Save off ALWAYS_CXXFLAGS.
(asan_finish): Restore ALWAYS_CXXFLAGS correctly.
* lib/tsan-dg.exp
(check_effective_target_fthread_sanitizer): Rename to ...
(check_effective_target_fsanitize_thread): ... this. Change to creating
an executable.
(tsan_init): Save off ALWAYS_CXXFLAGS.
(tsan_finish): Restore ALWAYS_CXXFLAGS correctly. Set dg-do-what-default
to run as a default behaviour.
* gcc.dg/ubsan/ubsan.exp: Don't check the return value of ubsan_init.
Check check_effective_target_fsanitize_undefined before running the
tests.
* g++.dg/ubsan/ubsan.exp: Likewise.
* gcc.dg/asan/asan.exp: Don't check the return value of asan_init.
check_effective_target_fsanitize_address too early.
Check check_effective_target_fsanitize_address before running the tests.
* g++.dg/asan/asan.exp: Likewise.
* gcc.dg/tsan/tsan.exp: Don't check the return value of tsan_init.
check_effective_target_fsanitize_thread too early.
Check check_effective_target_fsanitize_thread before running the tests.
* g++.dg/tsan/tsan.exp: Likewise.

Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
From-SVN: r215793

9 years agoipa.c (walk_polymorphic_call_targets): Avoid ICE when dumping during WPA.
Jan Hubicka [Thu, 2 Oct 2014 05:49:32 +0000 (07:49 +0200)]
ipa.c (walk_polymorphic_call_targets): Avoid ICE when dumping during WPA.

* ipa.c (walk_polymorphic_call_targets): Avoid ICE when
dumping during WPA.

From-SVN: r215792

9 years agoipa-prop.c (ipa_modify_formal_parameters): Do not merge type variants.
Jan Hubicka [Thu, 2 Oct 2014 05:34:21 +0000 (05:34 +0000)]
ipa-prop.c (ipa_modify_formal_parameters): Do not merge type variants.

* ipa-prop.c (ipa_modify_formal_parameters): Do not merge
type variants.

From-SVN: r215791

9 years ago* ipa-polymorphic-call.c
Jan Hubicka [Thu, 2 Oct 2014 04:45:44 +0000 (04:45 +0000)]
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::restrict_to_inner_class):
Rename EXPECTED_TYPE to OTR_TYPE; Validate speculation late;
use speculation_consistent_p to do so; Add CONSDER_BASES
and CONSIDER_PLACEMENT_NEW parameters.
(contains_type_p): Add CONSDER_PLACEMENT_NEW and CONSIDER_BASES;
short circuit obvious cases.
(ipa_polymorphic_call_context::dump): Improve formatting.
(ipa_polymorphic_call_context::ipa_polymorphic_call_context): Use
combine_speculation_with to record speculations; Do not ICE when
object is located in pointer type decl; do not ICE for methods
of UNION_TYPE; do not record nonpolymorphic types.
(ipa_polymorphic_call_context::speculation_consistent_p): New method.
(ipa_polymorphic_call_context::combine_speculation_with): New method.
(ipa_polymorphic_call_context::combine_with): New method.
(ipa_polymorphic_call_context::make_speculative): Move here; use
combine speculation.
* cgraph.h (ipa_polymorphic_call_context): Update
restrict_to_inner_class prototype; add offset_by, make_speculative,
combine_with, useless_p, combine_speculation_with and
speculation_consistent_p methods.
(ipa_polymorphic_call_context::offset_by): New method.
(ipa_polymorphic_call_context::useless_p): New method.

From-SVN: r215790

9 years agore PR rtl-optimization/62151 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
Segher Boessenkool [Thu, 2 Oct 2014 02:18:01 +0000 (04:18 +0200)]
re PR rtl-optimization/62151 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

2014-10-01  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
PR rtl-optimization/62151
* combine.c (can_combine_p): Allow the destination register of INSN
to be clobbered in I3.
(subst): Do not substitute into clobbers of registers.

gcc/testsuite/
* gcc.dg/combine-clobber.c: New.

From-SVN: r215789

9 years agoDaily bump.
GCC Administrator [Thu, 2 Oct 2014 00:16:20 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215788

9 years agocharset.c (convert_no_conversion): Reallocate memory with 25% headroom.
Bernd Edlinger [Thu, 2 Oct 2014 00:06:28 +0000 (00:06 +0000)]
charset.c (convert_no_conversion): Reallocate memory with 25% headroom.

2014-10-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
            Jeff Law  <law@redhat.com>

        * charset.c (convert_no_conversion): Reallocate memory with 25%
        headroom.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r215785

9 years agore PR debug/63342 (ICE in loc_list_from_tree, at dwarf2out.c:14698)
Jakub Jelinek [Wed, 1 Oct 2014 20:51:34 +0000 (22:51 +0200)]
re PR debug/63342 (ICE in loc_list_from_tree, at dwarf2out.c:14698)

PR debug/63342
* dwarf2out.c (loc_list_from_tree): Handle MEM_REF with non-zero
offset, TARGET_MEM_REF and SSA_NAME.

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

From-SVN: r215782

9 years agore PR c++/63306 (ICE: Segmentation fault in analyze_functions())
Jakub Jelinek [Wed, 1 Oct 2014 20:42:23 +0000 (22:42 +0200)]
re PR c++/63306 (ICE: Segmentation fault in analyze_functions())

PR c++/63306
* g++.dg/ipa/pr63306.C: New test.

From-SVN: r215779

9 years agoi386.c (expand_vec_perm_palignr): Handle 256-bit vectors for TARGET_AVX2.
Jakub Jelinek [Wed, 1 Oct 2014 20:41:37 +0000 (22:41 +0200)]
i386.c (expand_vec_perm_palignr): Handle 256-bit vectors for TARGET_AVX2.

* config/i386/i386.c (expand_vec_perm_palignr): Handle
256-bit vectors for TARGET_AVX2.

From-SVN: r215778

9 years agoi386.c (expand_vec_perm_vperm2f128): Canonicalize dfirst permutation.
Jakub Jelinek [Wed, 1 Oct 2014 20:41:05 +0000 (22:41 +0200)]
i386.c (expand_vec_perm_vperm2f128): Canonicalize dfirst permutation.

* config/i386/i386.c (expand_vec_perm_vperm2f128): Canonicalize
dfirst permutation.

From-SVN: r215777

9 years agore PR target/63428 (vshuf-v4di.c miscompilation)
Jakub Jelinek [Wed, 1 Oct 2014 20:40:29 +0000 (22:40 +0200)]
re PR target/63428 (vshuf-v4di.c miscompilation)

PR target/63428
* config/i386/i386.c (expand_vec_perm_pshufb): Fix up rperm[0]
argument to avx2_permv2ti.

* gcc.dg/torture/vshuf-4.inc: Move test 122 from EXPTESTS
to test 24 in TESTS.

From-SVN: r215776

9 years agoprinters.py (StdDebugIteratorPrinter.to_string): Adapt to latest modifications on...
François Dumont [Wed, 1 Oct 2014 19:24:23 +0000 (19:24 +0000)]
printers.py (StdDebugIteratorPrinter.to_string): Adapt to latest modifications on debug iterators.

2014-10-01  François Dumont  <fdumont@gcc.gnu.org>

* python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
Adapt to latest modifications on debug iterators.

From-SVN: r215775

9 years agore PR c++/63362 (The c++11 triviality-traits need front-end help)
Jason Merrill [Wed, 1 Oct 2014 17:21:08 +0000 (13:21 -0400)]
re PR c++/63362 (The c++11 triviality-traits need front-end help)

PR c++/63362
* method.c (constructible_expr): Handle value-init of non-class.
* parser.c (cp_parser_trait_expr): Allow pack expansion.
* pt.c (tsubst_copy_and_build): Handle pack expansion.

From-SVN: r215772

9 years agore PR c++/63362 (The c++11 triviality-traits need front-end help)
Jason Merrill [Wed, 1 Oct 2014 17:21:01 +0000 (13:21 -0400)]
re PR c++/63362 (The c++11 triviality-traits need front-end help)

PR c++/63362
* class.c (type_has_non_user_provided_default_constructor): Rename
from type_has_user_provided_default_constructor, reverse sense.
(default_init_uninitialized_part, explain_non_literal_class): Adjust.
(check_bases_and_members): Set TYPE_HAS_COMPLEX_DFLT.
* call.c (build_new_method_call_1): Adjust.
* cp-tree.h: Adjust.
* decl.c (grok_special_member_properties): Don't set
TYPE_HAS_COMPLEX_DFLT.
* init.c (build_value_init_noctor): Don't use
type_has_user_provided_default_constructor.

From-SVN: r215771

9 years ago[PATCH][ARM] Disable store_minmaxsi pattern for arm_restrict_i
Kyrylo Tkachov [Wed, 1 Oct 2014 13:12:37 +0000 (13:12 +0000)]
[PATCH][ARM] Disable store_minmaxsi pattern for arm_restrict_i

* config/arm/arm.md (*store_minmaxsi): Disable for arm_restrict_it.

From-SVN: r215760

9 years agotestsuite: error out with tested condition instead of FOO
Bernhard Reutner-Fischer [Wed, 1 Oct 2014 13:08:37 +0000 (15:08 +0200)]
testsuite: error out with tested condition instead of FOO

Use the (abbreviated) proprocessor condition for #error instead of FOO
so one can see the test issued.

2012-12-01  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

    * lib/target-supports.exp: error out with preprocessor condition
    instead of FOO everywhere.

From-SVN: r215759

9 years agotype_traits: Add is_final<> type trait for C++14.
Edward Smith-Rowland [Wed, 1 Oct 2014 11:59:29 +0000 (11:59 +0000)]
type_traits: Add is_final<> type trait for C++14.

2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/std/type_traits: Add is_final<> type trait for C++14.
* testsuite/util/testsuite_tr1.h: Add
* testsuite/20_util/is_final/requirements/
explicit_instantiation.cc: New.
* testsuite/20_util/is_final/requirements/typedefs.cc: New.
* testsuite/20_util/is_final/value.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.

From-SVN: r215753

9 years agoImplement SD-6: SG10 Feature Test Recommendations
Edward Smith-Rowland [Wed, 1 Oct 2014 11:49:23 +0000 (11:49 +0000)]
Implement SD-6: SG10 Feature Test Recommendations

2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement SD-6: SG10 Feature Test Recommendations
* internal.h (lexer_state, spec_nodes): Add in__has_include__.
* directives.c: Support __has_include__ builtin.
* expr.c (parse_has_include): New function to parse __has_include__
builtin; (eval_token()): Use it.
* files.c (_cpp_has_header()): New funtion to look for header;
(open_file_failed()): Not an error to not find a header file for
__has_include__.
* identifiers.c (_cpp_init_hashtable()): Add entry for __has_include__.
* pch.c (cpp_read_state): Lookup __has_include__.
* traditional.c (enum ls, _cpp_scan_out_logical_line()): Walk through
__has_include__ statements.

2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement SD-6: SG10 Feature Test Recommendations
* c-cppbuiltin.c (c_cpp_builtins()): Define language feature
macros and the __has_header macro.

2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement SD-6: SG10 Feature Test Recommendations
* include/bits/basic_string.h: Add __cpp_lib feature test macro.
* include/bits/stl_algobase.h: Ditto.
* include/bits/stl_function.h: Ditto.
* include/bits/unique_ptr.h: Ditto.
* include/std/chrono: Ditto.
* include/std/complex: Ditto.
* include/std/iomanip: Ditto.
* include/std/shared_mutex: Ditto.
* include/std/tuple: Ditto.
* include/std/type_traits: Ditto.
* include/std/utility: Ditto.
* testsuite/experimental/feat-cxx14.cc: New.
* testsuite/experimental/feat-lib-fund.cc: New.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Adjust.

2014-10-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement SD-6: SG10 Feature Test Recommendations
* g++.dg/cpp1y/feat-cxx11-neg.C: New.
* g++.dg/cpp1y/feat-cxx11.C: New.
* g++.dg/cpp1y/feat-cxx14.C: New.
* g++.dg/cpp1y/feat-cxx98.C: New.
* g++.dg/cpp1y/feat-cxx98-neg.C: New.
* g++.dg/cpp1y/phoobhar.h: New.
* g++.dg/cpp1y/testinc/phoobhar.h: New.

From-SVN: r215752

9 years agoDaily bump.
GCC Administrator [Wed, 1 Oct 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215747

9 years agoFix typo in ChangeLog
Janne Blomqvist [Tue, 30 Sep 2014 21:23:40 +0000 (00:23 +0300)]
Fix typo in ChangeLog

From-SVN: r215743

9 years agoFix -Wmaybe-uninitialized warnings.
Janne Blomqvist [Tue, 30 Sep 2014 21:15:58 +0000 (00:15 +0300)]
Fix -Wmaybe-uninitialized warnings.

2014-10-01  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/pack_generic.c (pack_s_internal): Fix
-Wmaybe-uninitialized warning.
* m4/unpack.m4 (unpack0_'rtype_code`): Likewise.
(unpack1_'rtype_code`): Likewise.
* generated/unpack_*.m4: Regenerated.

From-SVN: r215742

9 years agoAdd -Werror=implicit-function-declaration to AM_CFLAGS.
Janne Blomqvist [Tue, 30 Sep 2014 20:05:33 +0000 (23:05 +0300)]
Add -Werror=implicit-function-declaration to AM_CFLAGS.

2014-09-30  Janne Blomqvist  <jb@gcc.gnu.org>

* configure.ac (AM_CFLAGS): Add
-Werror=implicit-function-declaration.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* configure: Regenerated.

From-SVN: r215741

9 years agoi386.md (fmodxf3): Enable for flag_finite_math_only only.
Uros Bizjak [Tue, 30 Sep 2014 18:25:19 +0000 (20:25 +0200)]
i386.md (fmodxf3): Enable for flag_finite_math_only only.

* config/i386/i386.md (fmodxf3): Enable for flag_finite_math_only only.
(fmod<mode>3): Ditto.
(fpremxf4_i387): Ditto.
(reminderxf3): Ditto.
(reminder<mode>3): Ditto.
(fprem1xf4_i387): Ditto.

From-SVN: r215740

9 years agoRedesign jump threading profile updates to avoid introducing insanities.
Teresa Johnson [Tue, 30 Sep 2014 18:19:59 +0000 (18:19 +0000)]
Redesign jump threading profile updates to avoid introducing insanities.

gcc:

2014-09-30  Teresa Johnson  <tejohnson@google.com>

* tree-ssa-threadupdate.c (struct ssa_local_info_t): New
duplicate_blocks bitmap.
(remove_ctrl_stmt_and_useless_edges): Ditto.
(create_block_for_threading): Ditto.
(compute_path_counts): New function.
(update_profile): Ditto.
(recompute_probabilities): Ditto.
(update_joiner_offpath_counts): Ditto.
(freqs_to_counts_path): Ditto.
(clear_counts_path): Ditto.
(ssa_fix_duplicate_block_edges): Update profile info.
(ssa_create_duplicates): Pass new parameter.
(ssa_redirect_edges): Remove old profile update.
(thread_block_1): New duplicate_blocks bitmap,
remove old profile update.
(thread_single_edge): Pass new parameter.

gcc/testsuite:

2014-09-30  Teresa Johnson  <tejohnson@google.com>

* testsuite/gcc.dg/tree-prof/20050826-2.c: New test.
* testsuite/gcc.dg/tree-prof/cmpsf-1.c: Ditto.

From-SVN: r215739

9 years agoc-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and RID_IS_TRIVIALLY_CONSTRUCT...
Jason Merrill [Tue, 30 Sep 2014 17:13:10 +0000 (13:13 -0400)]
c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and RID_IS_TRIVIALLY_CONSTRUCTIBLE.

c-family/
* c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
RID_IS_TRIVIALLY_CONSTRUCTIBLE.
* c-common.c (c_common_reswords): Add __is_trivially_copyable.
cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_TRIVIALLY_ASSIGNABLE and
CPTK_IS_TRIVIALLY_CONSTRUCTIBLE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
* parser.c (cp_parser_primary_expression): Likewise.
(cp_parser_trait_expr): Likewise.  Handle variadic trait.
* semantics.c (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.
(check_trait_type): Handle variadic trait.  Return bool.
* method.c (build_stub_object): Add rvalue reference here.
(locate_fn_flags): Not here.
(check_nontriv, assignable_expr, constructible_expr): New.
(is_trivially_xible): New.

From-SVN: r215738

9 years agoc-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
Jason Merrill [Tue, 30 Sep 2014 17:12:49 +0000 (13:12 -0400)]
c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.

c-family/
* c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
* c-common.c (c_common_reswords): Add __is_trivially_copyable.
cp/
* cp-tree.h (cp_trait_kind): Add CPTK_IS_TRIVIALLY_COPYABLE.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
* parser.c (cp_parser_primary_expression): Likewise.
(cp_parser_trait_expr): Likewise.
* semantics.c (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.

From-SVN: r215737

9 years agomethod.c (build_stub_object): Use CONVERT_EXPR.
Jason Merrill [Tue, 30 Sep 2014 17:12:29 +0000 (13:12 -0400)]
method.c (build_stub_object): Use CONVERT_EXPR.

* method.c (build_stub_object): Use CONVERT_EXPR.
* tree.c (build_dummy_object): Likewise.
(is_dummy_object): Adjust.

From-SVN: r215736

9 years agoc-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
Jason Merrill [Tue, 30 Sep 2014 17:12:06 +0000 (13:12 -0400)]
c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.

c-family/
* c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
* c-common.c (c_common_reswords): Remove __is_convertible_to.
cp/
* cp-tree.h (cp_trait_kind): Remove CPTK_IS_CONVERTIBLE_TO.
* cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
* semantics.c (trait_expr_value): Likewise.
(finish_trait_expr): Likewise.
* parser.c (cp_parser_primary_expression): Likewise.
(cp_parser_trait_expr): Likewise. Remove redundant grokdeclarator.

From-SVN: r215735

9 years agore PR c++/16564 (g++ seems to go into an infinite loop after errors)
Paolo Carlini [Tue, 30 Sep 2014 17:11:38 +0000 (17:11 +0000)]
re PR c++/16564 (g++ seems to go into an infinite loop after errors)

cp/
2014-09-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       PR c++/16564
       * error.c (print_instantiation_context): Delete.
       * typeck2.c (build_x_arrow): Record location when pushing
       template instantiation.
       * pt.c (push_tinst_level): Make it a wrapper around ...
       (push_tinst_level_loc): ... this. New function. Make excessive
       template instantiation depth a fatal error. Record location. Use
       bool as return type.
       (instantiate_pending_templates): Make excessive
       template instantiation depth a fatal error.
       (problematic_instantiation_changed): Use bool as return type.
       * cp-tree.h (print_instantiation_context): Delete.
       (push_tinst_level): Update declaration.
       (problematic_instantiation_changed): Likewise.
       (push_tinst_level_loc): New.

testsuite/
2014-09-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       PR c++/16564
       * lib/gcc.exp: Accept "fatal error:" as error prefix.
       * lib/g++.exp: Likewise.
       * lib/obj-c++.exp: Likewise.
       * lib/objc.exp: Likewise.
       * g++.dg/template/pr16564.C: New test.

2014-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/16564
* g++.dg/cpp0x/decltype26.C: Adjust.
* g++.dg/cpp0x/decltype28.C: Likewise.
* g++.dg/cpp0x/decltype29.C: Likewise.
* g++.dg/cpp0x/decltype32.C: Likewise.
* g++.dg/cpp0x/enum11.C: Likewise.
* g++.dg/template/arrow1.C: Likewise.
* g++.dg/template/pr23510.C: Likewise.
* g++.dg/template/recurse.C: Likewise.
* g++.dg/template/recurse2.C: Likewise.
* g++.dg/template/vtable2.C: Likewise.
* g++.old-deja/g++.pt/infinite1.C: Likewise.

From-SVN: r215734

9 years agore PR c++/16564 (g++ seems to go into an infinite loop after errors)
Paolo Carlini [Tue, 30 Sep 2014 17:10:35 +0000 (17:10 +0000)]
re PR c++/16564 (g++ seems to go into an infinite loop after errors)

cp/
2014-09-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       PR c++/16564
       * error.c (print_instantiation_context): Delete.
       * typeck2.c (build_x_arrow): Record location when pushing
       template instantiation.
       * pt.c (push_tinst_level): Make it a wrapper around ...
       (push_tinst_level_loc): ... this. New function. Make excessive
       template instantiation depth a fatal error. Record location. Use
       bool as return type.
       (instantiate_pending_templates): Make excessive
       template instantiation depth a fatal error.
       (problematic_instantiation_changed): Use bool as return type.
       * cp-tree.h (print_instantiation_context): Delete.
       (push_tinst_level): Update declaration.
       (problematic_instantiation_changed): Likewise.
       (push_tinst_level_loc): New.

testsuite/
2014-09-30  Manuel López-Ibáñez  <manu@gcc.gnu.org>

       PR c++/16564
       * lib/gcc.exp: Accept "fatal error:" as error prefix.
       * lib/g++.exp: Likewise.
       * lib/obj-c++.exp: Likewise.
       * lib/objc.exp: Likewise.
       * g++.dg/template/pr16564.C: New test.

2014-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/16564
* g++.dg/cpp0x/decltype26.C: Adjust.
* g++.dg/cpp0x/decltype28.C: Likewise.
* g++.dg/cpp0x/decltype29.C: Likewise.
* g++.dg/cpp0x/decltype32.C: Likewise.
* g++.dg/cpp0x/enum11.C: Likewise.
* g++.dg/template/arrow1.C: Likewise.
* g++.dg/template/pr23510.C: Likewise.
* g++.dg/template/recurse.C: Likewise.
* g++.dg/template/recurse2.C: Likewise.
* g++.dg/template/vtable2.C: Likewise.
* g++.old-deja/g++.pt/infinite1.C: Likewise.

From-SVN: r215733

9 years agore PR preprocessor/58893 (<command-line>:0:0: internal compiler error: Segmentation...
Bernd Edlinger [Tue, 30 Sep 2014 16:08:53 +0000 (16:08 +0000)]
re PR preprocessor/58893 (<command-line>:0:0: internal compiler error: Segmentation fault)

2014-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR preprocessor/58893
* errors.c (cpp_diagnostic): Fix possible out of bounds access.
* files.c (_cpp_stack_include): Initialize src_loc for IT_CMDLINE.

testsuite:
2014-09-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR preprocessor/58893
* gcc.dg/pr58893.c: New test case.
* gcc.dg/pr58893-0.h: New include.

From-SVN: r215730

9 years agore PR target/62120 ([ICE] ADDITIONAL_REGISTER_NAMES for [YZ]MMs, regno>8 should be...
Ilya Tocar [Tue, 30 Sep 2014 16:04:15 +0000 (16:04 +0000)]
re PR target/62120 ([ICE] ADDITIONAL_REGISTER_NAMES for [YZ]MMs, regno>8 should be disable in 32-bit)

Fix PR 62120.

gcc/
2014-09-30  Ilya Tocar  <ilya.tocar@intel.com>

       PR middle-end/62120
       * varasm.c (decode_reg_name_and_count): Check availability for
       registers from ADDITIONAL_REGISTER_NAMES.

testsuite/
2014-09-30  Ilya Tocar  <ilya.tocar@intel.com>

       PR middle-end/62120
       * gcc.target/i386/avx512f-additional-reg-names.c: Use register valid
       in 32-bit mode.
       * gcc.target/i386/pr62120.c: New.

From-SVN: r215729

9 years agoPR plugins/63410: Fix missing headers for plugins
David Malcolm [Tue, 30 Sep 2014 15:41:11 +0000 (15:41 +0000)]
PR plugins/63410: Fix missing headers for plugins

gcc/
PR plugins/63410
* Makefile.in (PRETTY_PRINT_H): Add wide-int-print.h.
(PLUGIN_HEADERS): Add pass-instances.def.

From-SVN: r215727

9 years agohook.in: Only import libstdcxx.v6.
Siva Chandra Reddy [Tue, 30 Sep 2014 15:33:27 +0000 (15:33 +0000)]
hook.in: Only import libstdcxx.v6.

2014-09-30  Siva Chandra Reddy  <sivachandra@google.com>

* python/hook.in: Only import libstdcxx.v6.
* python/libstdcxx/v6/__init__.py: Load printers and xmethods.

From-SVN: r215726

9 years agoFix ChangeLog entry for r215715 (Take 2).
James Greenhalgh [Tue, 30 Sep 2014 14:07:17 +0000 (14:07 +0000)]
Fix ChangeLog entry for r215715 (Take 2).

There should be two spaces between the name and email address.

From-SVN: r215724

9 years agoFix ChangeLog entry for r215715.
James Greenhalgh [Tue, 30 Sep 2014 13:59:57 +0000 (13:59 +0000)]
Fix ChangeLog entry for r215715.

ChangeLog dates should be YYYY-MM-DD.

From-SVN: r215723

9 years ago[AArch64] Wire up vqdmullh_laneq_s16 and vqdmullh_laneq_s32
James Greenhalgh [Tue, 30 Sep 2014 13:58:25 +0000 (13:58 +0000)]
[AArch64] Wire up vqdmullh_laneq_s16 and vqdmullh_laneq_s32

gcc/

* config/aarch64/aarch64-simd-builtins.def (sqdmull_laneq): Expand
iterator.
* config/aarch64/aarch64-simd.md
(aarch64_sqdmull_laneq<mode>): Expand iterator.
* config/aarch64/arm_neon.h (vqdmullh_laneq_s16): New.
(vqdmulls_lane_s32): Fix return type.
(vqdmulls_laneq_s32): New.

gcc/testsuite/

* gcc.target/aarch64/simd/vqdmullh_laneq_s16.c: New.
* gcc.target/aarch64/simd/vqdmulls_laneq_s32.c: Likewise.
* gcc.target/aarch64/simd/vqdmulls_lane_s32.c: Fix return type.
* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmulls_s32):  Fix
return type.

From-SVN: r215722

9 years agocoarray_collectives_9.f90: Fix some dg-error.
Dominique d'Humieres [Tue, 30 Sep 2014 10:55:20 +0000 (12:55 +0200)]
coarray_collectives_9.f90: Fix some dg-error.

2014-30-09  Dominique d'Humieres <dominiq@lps.ens.fr>

* gfortran.dg/coarray_collectives_9.f90: Fix some dg-error.

From-SVN: r215715

9 years agore PR inline-asm/63282 (ICE in redirect_jump_1)
Jakub Jelinek [Tue, 30 Sep 2014 10:30:45 +0000 (12:30 +0200)]
re PR inline-asm/63282 (ICE in redirect_jump_1)

PR inline-asm/63282
* ifcvt.c (dead_or_predicable): Don't call redirect_jump_1
or invert_jump_1 if jump isn't any_condjump_p.

* gcc.c-torture/compile/pr63282.c: New test.

From-SVN: r215712

9 years agoarm-cores.def (cortex-m7): New core name.
Terry Guo [Tue, 30 Sep 2014 10:02:39 +0000 (10:02 +0000)]
arm-cores.def (cortex-m7): New core name.

2014-09-30  Terry Guo  <terry.guo@arm.com>

* config/arm/arm-cores.def (cortex-m7): New core name.
* config/arm/arm-fpus.def (fpv5-sp-d16): New fpu name.
(fpv5-d16): Ditto.
* config/arm/arm-tables.opt: Regenerated.
* config/arm/arm-tune.md: Regenerated.
* config/arm/arm.h (TARGET_VFP5): New macro.
* config/arm/bpabi.h (BE8_LINK_SPEC): Include cortex-m7.
* config/arm/vfp.md (<vrint_pattern><SDF:mode>2,
smax<mode>3, smin<mode>3): Enabled for FPU FPv5.
* doc/invoke.texi: Document new cpu and fpu names.

From-SVN: r215711

9 years agostatus_cxx2011.xml: Update.
Jonathan Wakely [Tue, 30 Sep 2014 09:24:53 +0000 (10:24 +0100)]
status_cxx2011.xml: Update.

* doc/xml/manual/status_cxx2011.xml: Update.
* doc/html/manual/status.html: Regenerate.

From-SVN: r215710

9 years agoShould not sink instructions which may cause trap
Jiong Wang [Tue, 30 Sep 2014 08:44:14 +0000 (08:44 +0000)]
Should not sink instructions which may cause trap

2014-09-30  Jiong Wang  <jiong.wang@arm.com>

  gcc/
    * shrink-wrap.c (move_insn_for_shrink_wrap): Check "can_throw_internal"
    before sinking insn.

From-SVN: r215709

9 years agoira-int.h (ira_allocno): Add "wmode" field.
David Sherwood [Tue, 30 Sep 2014 08:04:32 +0000 (08:04 +0000)]
ira-int.h (ira_allocno): Add "wmode" field.

gcc/
2014-09-26  David Sherwood  <david.sherwood@arm.com>

* ira-int.h (ira_allocno): Add "wmode" field.
* ira-build.c (create_insn_allocnos): Add new "parent" function
parameter.
* ira-conflicts.c (ira_build_conflicts): Add conflicts for registers
that cannot be accessed in wmode.

From-SVN: r215707

9 years agoFix signed integer overflow in data-streamer.c
Markus Trippelsdorf [Tue, 30 Sep 2014 07:07:55 +0000 (07:07 +0000)]
Fix signed integer overflow in data-streamer.c

Running the testsuite with a -fsanitize=undefined instrumented compiler
shows:
 % gcc -O2 -flto -fno-use-linker-plugin -flto-partition=none testsuite/gcc.dg/torture/pr28045.c
gcc/data-streamer.c:113:45: runtime error: negation of -9223372036854775808 cannot be represented in type 'long int'; cast to an unsigned type to negate this value to itself

The fix is obvious.

From-SVN: r215706

9 years agoMake -Q --help print param defaults and min/max values
Andi Kleen [Tue, 30 Sep 2014 04:10:12 +0000 (04:10 +0000)]
Make -Q --help print param defaults and min/max values

Make -Q --help print the --param default, min, max values, similar
to how it does print the defaults for other flags. This is useful
to let a option auto tuner automatically query all needed information
abourt gcc params (previously it needed to access the .def file in
the source)

gcc/:

2014-09-29  Andi Kleen  <ak@linux.intel.com>

* opts.c (print_filtered_help): Print --param min/max/default
with -Q.

From-SVN: r215704

9 years agoDaily bump.
GCC Administrator [Tue, 30 Sep 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215702

9 years agolibgo/configure: Use -Qunused-arguments for asm tests if supported.
Ian Lance Taylor [Mon, 29 Sep 2014 23:37:27 +0000 (23:37 +0000)]
libgo/configure: Use -Qunused-arguments for asm tests if supported.

This supports clang, which by default issues warnings about
unused command line arguments, a habit that interacts poorly
with configure scripts.

From-SVN: r215699

9 years agosh.md: Use define_c_enum for "unspec" and "unspecv".
Kaz Kojima [Mon, 29 Sep 2014 23:13:32 +0000 (23:13 +0000)]
sh.md: Use define_c_enum for "unspec" and "unspecv".

* config/sh/sh.md: Use define_c_enum for "unspec" and "unspecv".

From-SVN: r215698

9 years agotree-vrp.c (get_single_symbol): New function.
Eric Botcazou [Mon, 29 Sep 2014 23:01:17 +0000 (23:01 +0000)]
tree-vrp.c (get_single_symbol): New function.

* tree-vrp.c (get_single_symbol): New function.
(build_symbolic_expr): Likewise.
(symbolic_range_based_on_p): New predicate.
(extract_range_from_binary_expr_1): Deal with single-symbolic ranges
for PLUS and MINUS.  Do not drop symbolic ranges at the end.
(extract_range_from_binary_expr): Try harder for PLUS and MINUS if
operand is symbolic and based on the other operand.

From-SVN: r215697

9 years agobaseline_symbols.txt: New file.
Andreas Schwab [Mon, 29 Sep 2014 22:35:22 +0000 (22:35 +0000)]
baseline_symbols.txt: New file.

* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
file.

From-SVN: r215696

9 years agoconfigure.host (abi_baseline_pair): If try_cpu is generic use host_cpu for the default.
Andreas Schwab [Mon, 29 Sep 2014 22:33:41 +0000 (22:33 +0000)]
configure.host (abi_baseline_pair): If try_cpu is generic use host_cpu for the default.

* configure.host (abi_baseline_pair): If try_cpu is generic use
host_cpu for the default.

From-SVN: r215695

9 years agore PR libstdc++/62313 (Data race in debug iterators)
François Dumont [Mon, 29 Sep 2014 21:22:17 +0000 (21:22 +0000)]
re PR libstdc++/62313 (Data race in debug iterators)

2014-09-29  François Dumont  <fdumont@gcc.gnu.org>

PR libstdc++/62313
* include/debug/safe_base.h
(_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
(_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
* include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
before _Safe_iterator_base in memory. Lock before modifying the iterator
in numerous places.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
declaration.
(_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
Likewise.
* include/debug/safe_unordered_base.h (_Safe_local_iterator<>):  Move
normal iterator before _Safe_iterator_base in memory. Lock before
modifying the iterator in numerous places.
* include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
* include/debug/safe_sequence.tcc
(_Safe_sequence<>::_M_transfer_from_if): Adapt.

From-SVN: r215693

9 years agoMAINTAINERS: Add myself as libstdc++ special modes maintainer.
François Dumont [Mon, 29 Sep 2014 19:50:16 +0000 (19:50 +0000)]
MAINTAINERS: Add myself as libstdc++ special modes maintainer.

2014-09-29  François Dumont  <fdumont@gcc.gnu.org>

* MAINTAINERS:  Add myself as libstdc++ special modes maintainer.

From-SVN: r215692

9 years agoops.c: Remove calls to vec_splat...
Bill Schmidt [Mon, 29 Sep 2014 18:41:26 +0000 (18:41 +0000)]
ops.c: Remove calls to vec_splat...

2014-09-29  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* gcc.dg/vmx/ops.c: Remove calls to vec_splat, vec_vsplth,
vec_vspltw, and vec_vspltb for which the second argument is out of
range.

From-SVN: r215691

9 years agoFix ICE.
Chen Gang [Mon, 29 Sep 2014 16:40:10 +0000 (16:40 +0000)]
Fix ICE.

Fix ICE.  Need use VOID instead of SI, or when real VOIDmode comes, it does not
match SImode, so cause issue.

2014-09-25  Chen Gang  <gang.chen.5i5j@gmail.com>

gcc:
* config/microblaze/microblaze.md (call_internal1): Use VOID
instead of SI to fix "((void (*)(void)) 0)()" issue
gcc/testsuite:
* gcc.c-torture/compile/calls-void.c: New test.

From-SVN: r215684

9 years agomsp430.c (msp430_expand_prologue): Return a CLOBBER rtx for naked functions.
Nick Clifton [Mon, 29 Sep 2014 16:00:58 +0000 (16:00 +0000)]
msp430.c (msp430_expand_prologue): Return a CLOBBER rtx for naked functions.

* config/msp430/msp430.c (msp430_expand_prologue): Return a
CLOBBER rtx for naked functions.
(msp430_expand_epilogue): Likewise.
(msp430_use_f5_series_hwmult): Cache result.
(use_32bit_hwmult): Cache result.
(msp430_no_hwmult): New function.
(msp430_output_labelref): Use it.

From-SVN: r215683

9 years agoMAINTAINERS: Add myself as MIPS maintainer.
Catherine Moore [Mon, 29 Sep 2014 13:08:53 +0000 (09:08 -0400)]
MAINTAINERS: Add myself as MIPS maintainer.

2014-09-29  Catherine Moore  <clm@codesourcery.com>

* MAINTAINERS:  Add myself as MIPS maintainer.

From-SVN: r215682

9 years agotypeck.c (enum_cast_to_int): Use CONVERT_EXPR_P to check for conversions.
Richard Biener [Mon, 29 Sep 2014 10:42:16 +0000 (10:42 +0000)]
typeck.c (enum_cast_to_int): Use CONVERT_EXPR_P to check for conversions.

2014-09-29  Richard Biener  <rguenther@suse.de>

cp/
* typeck.c (enum_cast_to_int): Use CONVERT_EXPR_P to check
for conversions.

From-SVN: r215681

9 years agore PR c++/51385 (Unnecessary instantiation converting to pointer to template class...
Paolo Carlini [Mon, 29 Sep 2014 09:06:31 +0000 (09:06 +0000)]
re PR c++/51385 (Unnecessary instantiation converting to pointer to template class instance)

2014-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51385
* g++.dg/template/pr51385.C: New.

From-SVN: r215680

9 years agore PR middle-end/63247 (fortran array alignment in omp target map)
Jakub Jelinek [Mon, 29 Sep 2014 05:20:52 +0000 (07:20 +0200)]
re PR middle-end/63247 (fortran array alignment in omp target map)

PR middle-end/63247
* omp-low.c (lower_omp_target): For OMP_CLAUSE_MAP_POINTER
of ARRAY_TYPE, if not OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION
use the alignment of avar rather than ovar.

From-SVN: r215678

9 years agoDaily bump.
GCC Administrator [Mon, 29 Sep 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215675

9 years agopa.c (pa_output_function_epilogue): Only update last_address when a nonnote insn...
John David Anglin [Sun, 28 Sep 2014 15:39:23 +0000 (15:39 +0000)]
pa.c (pa_output_function_epilogue): Only update last_address when a nonnote insn is found.

* config/pa/pa.c (pa_output_function_epilogue): Only update
last_address when a nonnote insn is found.

From-SVN: r215669

9 years agoUpdate MIPS maintainers.
Matthew Fortune [Sun, 28 Sep 2014 09:03:18 +0000 (09:03 +0000)]
Update MIPS maintainers.

/

* MAINTAINERS: Move myself to MIPS maintainers.

From-SVN: r215664

9 years agoTest to cover LRA fix in r215119.
Robert Suchanek [Sun, 28 Sep 2014 08:54:36 +0000 (08:54 +0000)]
Test to cover LRA fix in r215119.

gcc/testsuite/

* gcc.target/mips/20140928.c: New test.

From-SVN: r215663

9 years agoDaily bump.
GCC Administrator [Sun, 28 Sep 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215662

9 years agoRun new mcount tests only on Linux and not on PIC
Andi Kleen [Sat, 27 Sep 2014 18:50:59 +0000 (18:50 +0000)]
Run new mcount tests only on Linux and not on PIC

gcc/testsuite/:

2014-09-27  Andi Kleen  <ak@linux.intel.com>

* gcc.target/i386/nop-mcount.c: Only run on Linux.
* gcc.target/i386/record-mcount.c: dito.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
From-SVN: r215659

9 years agoMAINTAINERS: Put all email addresses between '<' and '>'.
Jan-Benedict Glaw [Sat, 27 Sep 2014 11:51:20 +0000 (11:51 +0000)]
MAINTAINERS: Put all email addresses between '<' and '>'.

2014-09-23  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* MAINTAINERS: Put all email addresses between '<' and '>'.

From-SVN: r215657

9 years agore PR ipa/60665 (gcc/ipa-devirt.c:1510:7: warning: variable 'can_refer' is used unini...
Jan Hubicka [Sat, 27 Sep 2014 00:21:33 +0000 (02:21 +0200)]
re PR ipa/60665 (gcc/ipa-devirt.c:1510:7: warning: variable 'can_refer' is used uninitialized whenever '?:' condition is false)

PR ipa/60665
* ipa-devirt.c (possible_polymorphic_call_targets): Silence clang warning.

From-SVN: r215656

9 years agore PR ipa/62121 (ICE: Segmentation fault in ipa-devirt.c:997)
Jan Hubicka [Sat, 27 Sep 2014 00:19:06 +0000 (02:19 +0200)]
re PR ipa/62121 (ICE: Segmentation fault in ipa-devirt.c:997)

PR ipa/62121
* ipa-polymorphic-call.c (ipa_polymorphic_call_context::restrict_to_inner_class):
fix pasto in checking array size.

* g++.dg/torture/pr62121.C: New testcase.

From-SVN: r215655

9 years agoDaily bump.
GCC Administrator [Sat, 27 Sep 2014 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215654

9 years agore PR middle-end/35545 (tracer pass is run too late)
Jan Hubicka [Sat, 27 Sep 2014 00:03:23 +0000 (02:03 +0200)]
re PR middle-end/35545 (tracer pass is run too late)

PR middle-end/35545
* passes.def (pass_tracer): Move before last dominator pass.
* g++.dg/tree-prof/pr35545.C: New testcase.

From-SVN: r215651

9 years agomangle.c (is_std_substitution): Check for abi_tag.
Jason Merrill [Fri, 26 Sep 2014 19:57:37 +0000 (15:57 -0400)]
mangle.c (is_std_substitution): Check for abi_tag.

gcc/cp/
* mangle.c (is_std_substitution): Check for abi_tag.
libiberty/
* cp-demangle.c (d_substitution): Handle abi tags on abbreviation.

From-SVN: r215647

9 years agopr63335.c: Change effective target to vsx_hw.
Bill Schmidt [Fri, 26 Sep 2014 19:28:36 +0000 (19:28 +0000)]
pr63335.c: Change effective target to vsx_hw.

2014-09-26  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/pr63335.c: Change effective target to
vsx_hw.

From-SVN: r215646

9 years agoSkip gcc.target/i386/shrink_wrap_1.c on ia32
H.J. Lu [Fri, 26 Sep 2014 15:27:01 +0000 (15:27 +0000)]
Skip gcc.target/i386/shrink_wrap_1.c on ia32

* gcc.target/i386/shrink_wrap_1.c: Skip ia32.

From-SVN: r215645

9 years agoFix -freport-bug patch.
Thomas Schwinge [Fri, 26 Sep 2014 13:43:34 +0000 (15:43 +0200)]
Fix -freport-bug patch.

gcc/
* gcc.c (try_generate_repro): Remove argument "prog".  Change all
users.
(run_attempt): Handle errors of "pex_run" invocation.

Fixes bootstrap failure/compiler warnings:

    [...]
    ../../master/gcc/gcc.c: In function 'attempt_status run_attempt(const char**, const char*, const char*, int, int)':
    ../../master/gcc/gcc.c:6319:15: error: variable 'errmsg' set but not used [-Werror=unused-but-set-variable]
       const char *errmsg;
                   ^
    ../../master/gcc/gcc.c: At global scope:
    ../../master/gcc/gcc.c:6412:33: error: unused parameter 'prog' [-Werror=unused-parameter]
     try_generate_repro (const char *prog, const char **argv)
                                     ^
    cc1plus: all warnings being treated as errors
    Makefile:1040: recipe for target 'gcc.o' failed
    make[3]: *** [gcc.o] Error 1
    make[3]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc'
    Makefile:4285: recipe for target 'all-stage2-gcc' failed
    make[2]: *** [all-stage2-gcc] Error 2
    make[2]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
    Makefile:21561: recipe for target 'stage2-bubble' failed
    make[1]: *** [stage2-bubble] Error 2
    make[1]: Leaving directory '/media/erich/home/thomas/tmp/gcc/hurd/master.build'
    Makefile:892: recipe for target 'all' failed
    make: *** [all] Error 2

From-SVN: r215644

9 years ago[AArch64] Enable Address Sanitizer.
Christophe Lyon [Fri, 26 Sep 2014 13:07:42 +0000 (13:07 +0000)]
[AArch64] Enable Address Sanitizer.

2014-09-26  Christophe Lyon  <christophe.lyon@linaro.org>

[AArch64] Enable Address Sanitizer.

gcc/
* config/aarch64/aarch64-linux.h (ASAN_CC1_SPEC): Define.
        (CC1_SPEC): Define.
        * config/aarch64/aarch64.c (aarch64_asan_shadow_offset): New function.
        (TARGET_ASAN_SHADOW_OFFSET): Define.

libsanitzer/
* configure.tgt: Enable build on aarch64*-linux.

From-SVN: r215642

9 years agocgraph.c (cgraph_node::release_body): New argument keep_arguments introduced.
Martin Liska [Fri, 26 Sep 2014 10:37:44 +0000 (12:37 +0200)]
cgraph.c (cgraph_node::release_body): New argument keep_arguments introduced.

* cgraph.c (cgraph_node::release_body): New argument keep_arguments
introduced.
* cgraph.h: Likewise.
* cgraphunit.c (cgraph_node::create_wrapper): Usage of new argument introduced.
* ipa-utils.h (polymorphic_type_binfo_p): Safe check for binfos created by Java.
* tree-ssa-alias.c (ao_ref_base_alias_set): Static function transformed to global.
* tree-ssa-alias.h: Likewise.

From-SVN: r215640

9 years agostruct-layout-1_generate.c: Add -Wno-abi to default options.
Jakub Jelinek [Fri, 26 Sep 2014 08:34:19 +0000 (10:34 +0200)]
struct-layout-1_generate.c: Add -Wno-abi to default options.

* g++.dg/compat/struct-layout-1_generate.c: Add -Wno-abi
to default options.

From-SVN: r215635

9 years agocommon.opt: New option.
Jakub Jelinek [Fri, 26 Sep 2014 08:03:09 +0000 (10:03 +0200)]
common.opt: New option.

gcc/

2014-09-26  Jakub Jelinek  <jakub@redhat.com>
    Max Ostapenko  <m.ostapenko@partner.samsung.com>

* common.opt: New option.
* doc/invoke.texi: Describe new option.
* gcc.c (execute): Don't free first string early, but at the end
of the function.  Call retry_ice if compiler exited with
ICE_EXIT_CODE.
(main): Factor out common code.
(print_configuration): New function.
(files_equal_p): Likewise.
(check_repro): Likewise.
(run_attempt): Likewise.
(do_report_bug): Likewise.
(append_text): Likewise.
(try_generate_repro): Likewise

Co-Authored-By: Max Ostapenko <m.ostapenko@partner.samsung.com>
From-SVN: r215633

9 years agopex-common.h (struct pex_funcs): Add new parameter for open_write field.
Max Ostapenko [Fri, 26 Sep 2014 07:58:04 +0000 (10:58 +0300)]
pex-common.h (struct pex_funcs): Add new parameter for open_write field.

libiberty/

2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>

* pex-common.h (struct pex_funcs): Add new parameter for open_write field.
* pex-unix.c (pex_unix_open_write): Add support for new parameter.
* pex-djgpp.c (pex_djgpp_open_write): Likewise.
* pex-win32.c (pex_win32_open_write): Likewise.
* pex-common.c (pex_run_in_environment): Likewise.

include/

2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>

* libiberty.h (PEX_STDOUT_APPEND): New flag.
(PEX_STDERR_APPEND): Likewise.

From-SVN: r215632

9 years agoAdd direct support for Linux kernel __fentry__ patching
Andi Kleen [Fri, 26 Sep 2014 04:06:40 +0000 (04:06 +0000)]
Add direct support for Linux kernel __fentry__ patching

The Linux kernel dynamically patches in __fentry__ calls in and
out at runtime. This allows using function tracing for debugging
in production kernels without (significant) performance penalty.

For this it needs a table pointing to each __fentry__ call.

The way it is currently implemented is that a special
perl script scans the object file, generates the table in a special
section. When the kernel boots up it nops the calls, and
then later patches in the calls again as needed.

The recordmcount.pl script in the kernel works, but it seems
cleaner and faster to support the code generation of the patch table
directly in gcc.

This also allows to nop the calls directly at code generation
time, which allows to skip a patching step at kernel boot.
I also expect that a patchable production tracing facility is also useful
for other applications.

For example it could be used in ftracer
(https://github.com/andikleen/ftracer)

Having a nop area at the beginning of each function can be also
also useful for other things. For example it can be used to patch
functions at runtime to point to different functions, to do
binary updates without restarting the program (like ksplice or
similar)

This patch implements two new options for the i386 target:

-mrecord-mcount
Generate a __mcount_loc section entry for each __fentry__ or mcount
call. The section is compatible with the kernel convention
and the data is put into a section loaded at runtime.

-mnop-mcount
Generate the mcount/__fentry__ call as 5 byte nop that can be
patched in later. The nop is generated as a single instruction,
as the Linux kernel run time patching relies on this.

Limitations:
- I didn't implement -mnop-mcount for -fPIC. This
would need a good single instruction 6 byte NOP and it seems a
bit pointless, as the patching would prevent text sharing.
- I didn't implement noping for targets that pass a variable
to mcount.
- The facility could be useful on architectures too. Currently
the mcount code is target specific, so I made it a i386 option.

gcc/:

2014-09-25  Andi Kleen  <ak@linux.intel.com>

* config/i386/i386.c (x86_print_call_or_nop): New function.
(x86_function_profiler): Support -mnop-mcount and
-mrecord-mcount.
* config/i386/i386.opt (-mnop-mcount, -mrecord-mcount): Add
* doc/invoke.texi: Document -mnop-mcount, -mrecord-mcount.

gcc/testsuite:

2014-09-25  Andi Kleen  <ak@linux.intel.com>

* gcc.target/i386/nop-mcount.c: New file.
* gcc.target/i386/record-mcount.c: New file.

From-SVN: r215629

9 years agoipa-prop.c (ipa_intraprocedural_devirtualization): Remove.
Jan Hubicka [Fri, 26 Sep 2014 01:49:40 +0000 (03:49 +0200)]
ipa-prop.c (ipa_intraprocedural_devirtualization): Remove.

* ipa-prop.c (ipa_intraprocedural_devirtualization): Remove.
* ipa-prop.h (ipa_intraprocedural_devirtualization): Remove.
* tree-ssa-prop.c (eliminate_dom_walker::before_dom_children):
Remove.

From-SVN: r215628

9 years agopr56933.c: Don't specify "dg-do run" explicitly.
Sandra Loosemore [Fri, 26 Sep 2014 00:51:26 +0000 (20:51 -0400)]
pr56933.c: Don't specify "dg-do run" explicitly.

2014-09-25  Sandra Loosemore  <sandra@codesourcery.com>

gcc/testsuite/
* gcc.dg/vect/pr56933.c: Don't specify "dg-do run" explicitly.
* gcc.dg/vect/pr57705.c: Likewise.
* gcc.dg/vect/pr57741-2.c: Likewise.
* gcc.dg/vect/pr57741-3.c: Likewise.
* gcc.dg/vect/pr59591-1.c: Likewise.
* gcc.dg/vect/pr59591-2.c: Likewise.
* gcc.dg/vect/pr60196-1.c: Likewise.
* gcc.dg/vect/pr60196-2.c: Likewise.
* gcc.dg/vect/pr60276.c: Likewise.
* gcc.dg/vect/pr61680.c: Likewise.
* gcc.dg/vect/pr63148.c: Likewise.
* gcc.dg/vect/pr63189.c: Likewise.
* gcc.dg/vect/vect-mask-load-1.c: Likewise.
* gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
* gcc.dg/vect/vect-nop-move.c: Likewise.
* gcc.dg/vect/vect-simd-clone-10.c: Likewise.
* gcc.dg/vect/vect-simd-clone-12.c: Likewise.

From-SVN: r215627

9 years agoDaily bump.
GCC Administrator [Fri, 26 Sep 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r215626