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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 1 Oct 2014 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215747
Janne Blomqvist [Tue, 30 Sep 2014 21:23:40 +0000 (00:23 +0300)]
Fix typo in ChangeLog
From-SVN: r215743
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 30 Sep 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215702
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Mon, 29 Sep 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215675
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
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
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
GCC Administrator [Sun, 28 Sep 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215662
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
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
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
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
GCC Administrator [Sat, 27 Sep 2014 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215654
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 26 Sep 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r215626
Jan Hubicka [Thu, 25 Sep 2014 19:52:20 +0000 (21:52 +0200)]
ipa-utils.h (subbinfo_with_vtable_at_offset, [...]): Declare.
* ipa-utils.h (subbinfo_with_vtable_at_offset, type_all_derivations_known_p,
type_known_to_have_no_deriavations_p, types_must_be_same_for_odr,
types_odr_comparable): Declare.
(polymorphic_type_binfo_p): Move here from ipa-devirt.c
* ipa-polymorphic-call.c: New file.
(contains_polymorphic_type_p, possible_placement_new,
ipa_polymorphic_call_context::restrict_to_inner_class,
contains_type_p, decl_maybe_in_construction_p,
ipa_polymorphic_call_context::stream_out,
ipa_polymorphic_call_context::debug,
ipa_polymorphic_call_context::stream_in,
ipa_polymorphic_call_context::set_by_decl,
ipa_polymorphic_call_context::set_by_invariant,
walk_ssa_copies,
ipa_polymorphic_call_context::ipa_polymorphic_call_context,
type_change_info, noncall_stmt_may_be_vtbl_ptr_store,
extr_type_from_vtbl_ptr_store, record_known_type
check_stmt_for_type_change,
ipa_polymorphic_call_context::get_dynamic_type): Move here from
ipa-devirt.c
* ipa-devirt.c: No longer include data-streamer.h, lto-streamer.h
and streamer-hooks.h
(contains_polymorphic_type_p, possible_placement_new,
ipa_polymorphic_call_context::restrict_to_inner_class,
contains_type_p, decl_maybe_in_construction_p,
ipa_polymorphic_call_context::stream_out,
ipa_polymorphic_call_context::debug,
ipa_polymorphic_call_context::stream_in,
ipa_polymorphic_call_context::set_by_decl,
ipa_polymorphic_call_context::set_by_invariant,
walk_ssa_copies,
ipa_polymorphic_call_context::ipa_polymorphic_call_context,
type_change_info, noncall_stmt_may_be_vtbl_ptr_store,
extr_type_from_vtbl_ptr_store, record_known_type
check_stmt_for_type_change,
ipa_polymorphic_call_context::get_dynamic_type): Move to
ipa-polymorphic-call.c
(type_all_derivations_known_p, types_odr_comparable,
types_must_be_same_for_odr): Export.
(type_known_to_have_no_deriavations_p): New function.
* Makefile.in: Add ipa-polymorphic-call.c
From-SVN: r215615
Jan Hubicka [Thu, 25 Sep 2014 18:57:44 +0000 (20:57 +0200)]
ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder for better storage.
* ipa-devirt.c (polymorphic_call_target_d): Add SPECULATIVE; reorder
for better storage.
(polymorphic_call_target_hasher::hash): Hash SPECULATIVE.
(possible_polymorphic_call_targets): Instead of computing both
speculative and non-speculative answers, do just one at a time.
Replace NONSPECULATIVE_TARGETSP parameter with SPECULATIVE flag.
(dump_targets): Break out from ...
(dump_possible_polymorphic_call_targets): ... here; dump both speculative
and non-speculative lists.
(ipa_devirt): Update for new possible_polymorphic_call_targets API.
* ipa-utils.h (possible_polymorphic_call_targets): Update.
* testsuite/g++.dg/ipa/devirt-34.C: Update template.
From-SVN: r215614
Uros Bizjak [Thu, 25 Sep 2014 17:58:35 +0000 (19:58 +0200)]
re PR rtl-optimization/63348 (gcc.dg/pr43670.c fail on MIPS)
PR rtl-optimization/63348
* emit-rtl.c (try_split): Do not emit extra barrier.
From-SVN: r215613
James Greenhalgh [Thu, 25 Sep 2014 16:54:38 +0000 (16:54 +0000)]
[AArch64] Tighten predicates on SIMD shift intrinsics
gcc/
* config/aarch64/aarch64-protos.h (aarch64_simd_const_bounds): Delete.
* config/aarch64/aarch64-simd.md (aarch64_<sur>q<r>shl<mode>): Use
new predicates.
(aarch64_<sur>shll2_n<mode>): Likewise.
(aarch64_<sur>shr_n<mode>): Likewise.
(aarch64_<sur>sra_n<mode>: Likewise.
(aarch64_<sur>s<lr>i_n<mode>): Likewise.
(aarch64_<sur>qshl<u>_n<mode>): Likewise.
* config/aarch64/aarch64.c (aarch64_simd_const_bounds): Delete.
* config/aarch64/iterators.md (ve_mode): New.
(offsetlr): Remap to infix text for use in new predicates.
* config/aarch64/predicates.md (aarch64_simd_shift_imm_qi): New.
(aarch64_simd_shift_imm_hi): Likewise.
(aarch64_simd_shift_imm_si): Likewise.
(aarch64_simd_shift_imm_di): Likewise.
(aarch64_simd_shift_imm_offset_qi): Likewise.
(aarch64_simd_shift_imm_offset_hi): Likewise.
(aarch64_simd_shift_imm_offset_si): Likewise.
(aarch64_simd_shift_imm_offset_di): Likewise.
(aarch64_simd_shift_imm_bitsize_qi): Likewise.
(aarch64_simd_shift_imm_bitsize_hi): Likewise.
(aarch64_simd_shift_imm_bitsize_si): Likewise.
(aarch64_simd_shift_imm_bitsize_di): Likewise.
gcc/testsuite/
* gcc.target/aarch64/simd/vqshlb_1.c: New.
From-SVN: r215612
Jiong Wang [Thu, 25 Sep 2014 16:39:49 +0000 (16:39 +0000)]
Improve live-in calculation for splitted block
gcc/
* shrink-wrap.c (move_insn_for_shrink_wrap): Initialize the live-in of new
created BB as the intersection of live-in from "old_dest" and live-out from
"bb".
gcc/testsuite/
* gcc.target/i386/shrink_wrap_1.c: New test.
From-SVN: r215611
Felix Yang [Thu, 25 Sep 2014 16:34:03 +0000 (16:34 +0000)]
lra.c (lra_set_insn_recog_data): Fix typo in comment.
* lra.c (lra_set_insn_recog_data): Fix typo in comment.
* genautomata.c (merge_states): Ditto.
From-SVN: r215610
Oleg Endo [Thu, 25 Sep 2014 15:50:38 +0000 (15:50 +0000)]
re PR target/62218 (gcc produces invalid SH instruction (stc r2,sr) when building libgcc)
gcc/
PR target/62218
* config/sh/sync.md (atomic_test_and_set_soft_imask): Fix typo
in instruction sequence.
From-SVN: r215607
Jonathan Wakely [Thu, 25 Sep 2014 15:27:18 +0000 (16:27 +0100)]
DR 1339
DR 1339
* doc/xml/manual/status_cxx2011.xml: Update.
* include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
an iterator.
(__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
* include/bits/stl_vector.h (vector::_M_fill_initialize,
vector::_M_default_initialize): Use returned iterator.
* include/bits/vector.tcc (vector::_M_fill_assign,
vector::_M_fill_insert, vector::_M_default_append): Likewise.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
16505.cc: Adjust return type.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
dr1339.cc: New.
From-SVN: r215606
Nick Clifton [Thu, 25 Sep 2014 15:01:46 +0000 (15:01 +0000)]
re PR target/62218 (gcc produces invalid SH instruction (stc r2,sr) when building libgcc)
PR target/62218
* config/sh/sync.md (atomic_fetch_nand<mode>_soft_imask): Fix typo
in instruction sequence.
From-SVN: r215602
Bill Schmidt [Thu, 25 Sep 2014 14:06:09 +0000 (14:06 +0000)]
re PR target/63335 (GCC:failures for vector double on calls to bif vec_[all|any]_[nge|nle])
[gcc]
2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63335
* config/rs6000/rs6000-c.c (altivec_build_resolved_builtin):
Exclude VSX_BUILTIN_XVCMPGEDP_P from special handling.
[gcc/testsuite]
2014-09-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63335
* gcc.target/powerpc/pr63335.c: New test.
From-SVN: r215599
Marek Polacek [Thu, 25 Sep 2014 12:56:57 +0000 (12:56 +0000)]
re PR c++/61945 (tree check fail with -Woverloaded-virtual)
PR c++/61945
* class.c (warn_hidden): Check for FUNCTION_DECL.
* g++.dg/warn/pr61945.C: New test.
From-SVN: r215597
Jonathan Wakely [Thu, 25 Sep 2014 12:14:15 +0000 (13:14 +0100)]
* include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
From-SVN: r215596
Jonathan Wakely [Thu, 25 Sep 2014 10:50:31 +0000 (11:50 +0100)]
* testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
From-SVN: r215593
Jonathan Wakely [Thu, 25 Sep 2014 10:22:51 +0000 (11:22 +0100)]
bool_neg.cc: New.
* testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
* testsuite/27_io/basic_ios/conv/bool.cc: New.
* testsuite/27_io/basic_ios/conv/voidptr.cc: New.
From-SVN: r215592
Alexander Ivchenko [Thu, 25 Sep 2014 08:25:56 +0000 (08:25 +0000)]
AVX-512. Extend `perm' insn patterns.
gcc/
* config/i386/sse.md
(define_expand "<avx2_avx512f>_perm<mode>"): Rename to ...
(define_expand "<avx2_avx512>_perm<mode>"): ... this.
(define_expand "avx512f_perm<mode>_mask"): Rename to ...
(define_expand "<avx512>_perm<mode>_mask"): ... this.
Use VI8F_256_512 mode iterator.
(define_insn "<avx2_avx512f>_perm<mode>_1<mask_name>"): Rename to ...
(define_insn "<avx2_avx512>_perm<mode>_1<mask_name>"): ... this.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215590
Alexander Ivchenko [Thu, 25 Sep 2014 08:21:17 +0000 (08:21 +0000)]
AVX-512. Add mov[dlh]dup insns support.
gcc/
* config/i386/sse.md
(define_insn "avx_movshdup256<mask_name>"): Add masking.
(define_insn "sse3_movshdup<mask_name>"): Ditto.
(define_insn "avx_movsldup256<mask_name>"): Ditto.
(define_insn "sse3_movsldup<mask_name>"): Ditto.
(define_insn "vec_dupv2df<mask_name>"): Ditto.
(define_insn "*vec_concatv2df"): Add EVEX version.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215589
Alexander Ivchenko [Thu, 25 Sep 2014 08:19:39 +0000 (08:19 +0000)]
AVX-512. Update vec_set<mode>_0 pattern.
gcc/
* config/i386/sse.md
(define_insn "vec_set<mode>_0"): Add EVEX version.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215588
Alexander Ivchenko [Thu, 25 Sep 2014 08:18:14 +0000 (08:18 +0000)]
AVX-512. Add convert ps2pd and ps2dq.
gcc/
* config/i386/sse.md
(define_insn
"<fixsuffix>fix_trunc<mode><sselongvecmodelower>2<mask_name><round_saeonly_name>"):
New.
(define_insn "<fixsuffix>fix_truncv2sfv2di2<mask_name>"): Ditto.
(define_insn "ufix_trunc<mode><sseintvecmodelower>2<mask_name>"): Ditto.
(define_insn "sse2_cvtss2sd<round_saeonly_name>"): Change
"nonimmediate_operand" to "<round_saeonly_nimm_predicate>".
(define_insn "avx_cvtpd2ps256<mask_name>"): Add masking.
(define_expand "sse2_cvtpd2ps_mask): New.
(define_insn "*sse2_cvtpd2ps<mask_name>"): Add masking.
(define_insn "sse2_cvtps2pd<mask_name>"): Add masking.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215586
Alexander Ivchenko [Thu, 25 Sep 2014 08:15:30 +0000 (08:15 +0000)]
AVX-512. Add pd2dq and dq2pd converts.
gcc/
* config/i386/i386.c
(avx512f_ufix_notruncv8dfv8si_mask_round): Rename to ...
(ufix_notruncv8dfv8si2_mask_round): ... this.
* config/i386/sse.md
(define_insn "avx512f_cvtdq2pd512_2): Update TARGET check.
(define_insn "avx_cvtdq2pd256_2"): Add EVEX version.
(define_insn "sse2_cvtdq2pd<mask_name>"): Add masking.
(define_insn "avx_cvtpd2dq256<mask_name>"): Ditto.
(define_expand "sse2_cvtpd2dq"): Delete.
(define_insn "sse2_cvtpd2dq<mask_name>"): Add masking and
make 2nd operand const0 vector.
(define_insn "avx512f_ufix_notruncv8dfv8si<mask_name><round_name>"):
Delete.
(define_mode_attr pd2udqsuff): New.
(define_insn
"ufix_notrunc<mode><si2dfmodelower>2<mask_name><round_name>"): Ditto.
(define_insn "ufix_notruncv2dfv2si2<mask_name>"): Ditto.
(define_insn "*avx_cvttpd2dq256_2"): Delete.
(define_expand "sse2_cvttpd2dq"): Ditto.
(define_insn "sse2_cvttpd2dq<mask_name>"): Add masking and
make 2nd operand const0 vector.
Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com>
Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com>
Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com>
From-SVN: r215584
Jakub Jelinek [Thu, 25 Sep 2014 08:12:49 +0000 (10:12 +0200)]
re PR tree-optimization/63341 (Vectorization miscompilation with -mcpu=power7)
PR tree-optimization/63341
* tree-vectorizer.h (vect_create_data_ref_ptr,
vect_create_addr_base_for_vector_ref): Add another tree argument
defaulting to NULL_TREE.
* tree-vect-data-refs.c (vect_create_data_ref_ptr): Add byte_offset
argument, pass it down to vect_create_addr_base_for_vector_ref.
(vect_create_addr_base_for_vector_ref): Add byte_offset argument,
add that to base_offset too if non-NULL.
* tree-vect-stmts.c (vectorizable_load): Add byte_offset variable,
for dr_explicit_realign_optimized set it to vector byte size
- 1 instead of setting offset, pass byte_offset down to
vect_create_data_ref_ptr.
* gcc.dg/vect/pr63341-1.c: New test.
* gcc.dg/vect/pr63341-2.c: New test.
From-SVN: r215583
Andreas Krebbel [Thu, 25 Sep 2014 07:37:36 +0000 (07:37 +0000)]
[multiple changes]
2014-09-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
PR 63300/debug
* tree.c (check_base_type): New.
(check_qualified_type): Exploit new helper function above.
* tree.h (check_base_type): New prototype.
* dwarf2out.c (get_nearest_type_subqualifiers): New.
(modified_type_die): Fix handling for qualifiers. Qualifiers to
"peel off" are now determined using get_nearest_type_subqualifiers.
2014-09-25 Mark Wielaard <mjw@redhat.com>
PR 63300/debug
* gcc.dg/debug/dwarf2/stacked-qualified-types-1.c: New testcase.
* gcc.dg/debug/dwarf2/stacked-qualified-types-2.c: Likewise.
* gcc.dg/guality/pr63300-const-volatile.c: New testcase.
From-SVN: r215582
Jakub Jelinek [Thu, 25 Sep 2014 06:47:43 +0000 (08:47 +0200)]
re PR c++/63249 ([OpenMP] Spurious »set but not used« warnings when actually used in OpenMP target's array section's lower-bound and length)
PR c++/63249
* semantics.c (handle_omp_array_sections_1): Call mark_rvalue_use
on low_bound and length.
* g++.dg/gomp/pr63249.C: New test.
* c-c++-common/gomp/pr63249.c: New test.
2014-09-25 Thomas Schwinge <thomas@codesourcery.com>
PR c++/63249
* c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
on low_bound and length.
From-SVN: r215580
Tobias Burnus [Thu, 25 Sep 2014 06:07:15 +0000 (08:07 +0200)]
check.c (check_co_collective): Renamed from
2014-09-25 Tobias Burnus <burnus@net-b.de>
gcc/fortran
* check.c (check_co_collective): Renamed from
* check_co_minmaxsum,
handle co_reduce.
(gfc_check_co_minmax, gfc_check_co_sum): Update call.
(gfc_check_co_broadcast, gfc_check_co_reduce): New.
* gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_BROADCAST and
GFC_ISYM_CO_REDUCE.
* intrinsic.c (add_subroutines): Add co_reduce and co_broadcast.
* intrinsic.h (gfc_check_co_broadcast, gfc_check_co_reduce): Add
proto types.
* intrinsic.texi (CO_BROADCAST): Add.
* trans.h (gfor_fndecl_co_broadcast): New.
* trans-decl.c (gfor_fndecl_co_broadcast): Ditto.
(gfc_build_builtin_function_decls): Add decl for it,
* trans-intrinsic.c (conv_co_collective): Renamed from
conv_co_minmaxsum. Handle co_reduce.
(gfc_conv_intrinsic_subroutine): Handle co_reduce.
gcc/testsuite/
* gfortran.dg/coarray/collectives_3.f90: New.
* gfortran.dg/coarray_collectives_9.f90: New.
* gfortran.dg/coarray_collectives_10.f90: New.
* gfortran.dg/coarray_collectives_11.f90: New.
* gfortran.dg/coarray_collectives_12.f90: New.
libgfortran/
* caf/libcaf.h (_gfortran_caf_co_broadcast): New prototype.
* caf/single.c (_gfortran_caf_co_broadcast): New.
From-SVN: r215579