]>
git.ipfire.org Git - thirdparty/gcc.git/log
amodra [Wed, 3 Aug 2016 00:33:37 +0000 (00:33 +0000)]
[RS6000] Force source of fix_trunc<mode>si2 to reg
* config/rs6000/rs6000.md (fix_trunc<mode>si2): Force source operand
to a reg. Localize vars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239011
138bc75d -0d04-0410-961f-
82ee72b054a4
amodra [Wed, 3 Aug 2016 00:32:11 +0000 (00:32 +0000)]
[RS6000] Remove negative from option help strings
* config/rs6000/rs6000.opt: Remove negatives from help strings
and comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239010
138bc75d -0d04-0410-961f-
82ee72b054a4
amodra [Wed, 3 Aug 2016 00:30:04 +0000 (00:30 +0000)]
[RS6000] Delete duplicate code
This removes the duplicate (TARGET_POWERPC64 && size == 16) block.
* config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
Delete duplicated code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239009
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 3 Aug 2016 00:16:17 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239008
138bc75d -0d04-0410-961f-
82ee72b054a4
ian [Tue, 2 Aug 2016 21:43:48 +0000 (21:43 +0000)]
escape: Add basic debugging.
Emit basic debug information when compiling with the flag
-fgo-debug-escape#.
Reviewed-on: https://go-review.googlesource.com/22376
2016-08-02 Chris Manghane <cmang@google.com>
* lang.opt: Add -fgo-debug-escape option.
* go-c.h (go_create_gogo): Add debug_escape_level parameter.
* go-lang.c (go_langhook_init): Pass go_debug_escape_level to
go_create_gogo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239002
138bc75d -0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 2 Aug 2016 20:57:04 +0000 (20:57 +0000)]
2016-08-02 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/72778
* lra-spills.c (regno_in_use_p): New.
(lra_final_code_change): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239000
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 19:34:36 +0000 (19:34 +0000)]
Fix std::wstring allocator tests
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238996
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 19:34:30 +0000 (19:34 +0000)]
Improve comments on check_v3_target_filesystem_ts
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238995
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 19:34:25 +0000 (19:34 +0000)]
Move dg-error directives to relevant lines
* testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
dg-error to relevant line.
* testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
Likewise.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238994
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 19:34:15 +0000 (19:34 +0000)]
Add -fno-show-column to libstdc++ test flags
* scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238993
138bc75d -0d04-0410-961f-
82ee72b054a4
sayle [Tue, 2 Aug 2016 18:01:14 +0000 (18:01 +0000)]
2016-08-02 Roger Sayle <roger@nextmovesoftware.com>
* expr.c (push_value): Only call flush_quick_stack for non-constant
arguments.
(build_java_throw_out_of_bounds_exception): No longer wrap calls
to _Jv_ThowBadArrayIndex in a COMPOUND_EXPR as no longer needed.
(java_check_reference): Annotate COND_EXPR with __builtin_expect
to indicate that calling _Jv_ThrowNullPointerException is unlikely.
(build_java_arrayaccess): Construct an unlikely COND_EXPR instead
of a TRUTH_ANDIF_EXPR in a COMPOUND_EXPR. Only generate array
index MULT_EXPR when size_exp is not unity.
(build_array_length_annotation): When optimizing, generate a write
to the allocated array's length field to expose constant lengths
to GCC's optimizers.
(build_newarray): Call new build_array_length_annotation.
(build_anewarray): Likewise.
(expand_java_multianewarray): Fix whitespace.
(expand_java_return): Likewise.
(expand_invoke): Likewise.
(load_type_state): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238992
138bc75d -0d04-0410-961f-
82ee72b054a4
vmakarov [Tue, 2 Aug 2016 16:07:36 +0000 (16:07 +0000)]
2016-08-02 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/69847
* lra-int.h (struct lra-reg): Use restore_rtx instead of
restore_regno.
(lra_rtx_hash): New.
* lra.c (initialize_lra_reg_info_element): Use restore_rtx instead
of restore_regno.
(lra_rtx_hash): Rename and move lra-remat.c::rtx_hash.
* lra-remat.c (rtx_hash): Rename and Move to lra.c.
* lra-spills.c (lra_final_code_change): Don't delete insn when the
next insn is USE with the same reg as the current insn source.
* lra-constraints.c (curr_insn_transform): Use restore_rtx instead
of restore_regno.
(lra_constraints_init): Call initiate_invariants.
(lra_constraints_finish): Call finish_invariants.
(struct invariant, invariant_t, invariant_ptr_t): New.
(const_invariant_ptr_t, invariants, invariants_pool): New.
(invariant_table, invariant_hash, invariant_eq_p): New.
(insert_invariant, initiate_invariants, finish_invariants): New.
(clear_invariants, invalid_invariant_regs): New.
(inherit_reload_reg, split_reg, fix_bb_live_info): Use restore_rtx
instead of restore_regno.
(invariant_p, process_invariant_for_inheritance): New.
(inherit_in_ebb): Implement invariant inheritance.
(lra_inheritance): Initialize and finalize invalid_invariant_regs.
(remove_inheritance_pseudos): Implement undoing invariant
inheritance.
(undo_optional_reloads, lra_undo_inheritance): Use restore_rtx
instead of restore_regno.
* lra-assigns.c (regno_live_length): New.
(reload_pseudo_compare_func): Use regno_live_length.
(assign_by_spills): Use restore_rtx instead of restore_regno.
(lra_assign): Ditto. Initiate regno_live_length.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238991
138bc75d -0d04-0410-961f-
82ee72b054a4
law [Tue, 2 Aug 2016 15:58:06 +0000 (15:58 +0000)]
* fixinc.in: Use --parents option to make LIB directory.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238990
138bc75d -0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 2 Aug 2016 13:55:03 +0000 (13:55 +0000)]
[Patch AArch64 Obvious] Fix Bootstrap for my mistake in r238977
I deleted an 'f' halfway through a line when applying r238977. Not sure
how I managed it, but entirely my fault.
gcc/
* config/aarch64/arm_neon.h (vminnm_f64): Add back missing 'f' from
__builtin_aarch64_fmindf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238989
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 13:32:26 +0000 (13:32 +0000)]
Skip C tests if test flags include C++ options
* testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
options are present that aren't valid for C.
* testsuite/abi/header_cxxabi.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238988
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 13:32:21 +0000 (13:32 +0000)]
Test TR1 special functions without adding them to std
* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
check_value.cc: Do not add special functions to namespace std in TR1
test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238987
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 13:32:16 +0000 (13:32 +0000)]
Only run math special function tests for C++11 and later
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
run for C++11 and later.
* testsuite/ext/special_functions/conf_hyperg/check_value.cc:
Likewise.
* testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
* testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
* testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
Likewise.
* testsuite/special_functions/01_assoc_laguerre/check_value.cc:
Likewise.
* testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
* testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
* testsuite/special_functions/02_assoc_legendre/compile_2.cc:
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
* testsuite/special_functions/03_beta/check_value.cc: Likewise.
* testsuite/special_functions/03_beta/compile.cc: Likewise.
* testsuite/special_functions/03_beta/compile_2.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/check_value.cc:
Likewise.
* testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/check_value.cc:
Likewise.
* testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/check_value.cc:
Likewise.
* testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
Likewise.
* testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
Likewise.
* testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
Likewise.
* testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
* testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
* testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
* testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
* testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
* testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
* testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
* testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
* testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
* testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
* testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
* testsuite/special_functions/14_expint/check_value.cc: Likewise.
* testsuite/special_functions/14_expint/compile.cc: Likewise.
* testsuite/special_functions/14_expint/compile_2.cc: Likewise.
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
* testsuite/special_functions/15_hermite/check_value.cc: Likewise.
* testsuite/special_functions/15_hermite/compile.cc: Likewise.
* testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
* testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
* testsuite/special_functions/16_laguerre/compile.cc: Likewise.
* testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/17_legendre/check_value.cc: Likewise.
* testsuite/special_functions/17_legendre/compile.cc: Likewise.
* testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/check_value.cc:
Likewise.
* testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
* testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
* testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/check_value.cc:
Likewise.
* testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
* testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
* testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238986
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 13:32:02 +0000 (13:32 +0000)]
Make TR1 special function tests support C++98
* testsuite/tr1/5_numerical_facilities/special_functions/
08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
of [[gnu::unused]].
* testsuite/tr1/5_numerical_facilities/special_functions/
09_cyl_bessel_j/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
10_cyl_bessel_k/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
11_cyl_neumann/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
21_sph_bessel/check_value.cc: Likewise.
* testsuite/tr1/5_numerical_facilities/special_functions/
23_sph_neumann/check_value.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238985
138bc75d -0d04-0410-961f-
82ee72b054a4
ro [Tue, 2 Aug 2016 11:18:44 +0000 (11:18 +0000)]
Update Solaris baselines
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238984
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Tue, 2 Aug 2016 10:13:28 +0000 (10:13 +0000)]
PR tree-optimization/34114
* tree-ssa-loop-niter.c (number_of_iterations_ne): Prove no-overflow
information for more control IVs.
gcc/testsuite
PR tree-optimization/34114
* gcc.dg/tree-ssa/loop-42.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238983
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Tue, 2 Aug 2016 10:09:33 +0000 (10:09 +0000)]
PR tree-optimization/34114
* fold-const.c (multiple_of_p): Improve MULT_EXPR, PLUS_EXPR,
PLUS_EXPR case. Handle SSA_NAME case.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238982
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 10:02:25 +0000 (10:02 +0000)]
Skip scan-assembler test when -flto is used
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
test if -flto used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238981
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Tue, 2 Aug 2016 09:40:50 +0000 (09:40 +0000)]
Support using -flto with libstdc++ testsuite
* testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
additional flags for compiling libtestc++.a objects.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238978
138bc75d -0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Tue, 2 Aug 2016 09:25:19 +0000 (09:25 +0000)]
[PATCH AArch64] Add more AArch64 NEON intrinsics
Add vmaxnm_f64, vminnm_f64, vmax_f64, vmin_f64.
Committed on behalf of Tamar Christina <tamar.christina@arm.com> .
gcc/
* config/aarch64/aarch64-simd-builtins.def
(__builtin_aarch64_fmindf): Change BUILTIN_VDQF to BUILTIN_VDQF_DF.
(__builtin_aarch64_fmaxdf): Likewise.
(__builtin_aarch64_smin_nandf): Likewise.
(__builtin_aarch64_smax_nandf): Likewise.
* config/aarch64/aarch64-simd.md (<fmaxmin><mode>3): Remove.
* config/aarch64/aarch64.md (<fmaxmin><mode>3): Rename to...
(<fmaxmin><mode>3): ...this.
* config/aarch64/arm_neon.h (vmaxnm_f64): New.
(vminnm_f64): Likewise.
(vmin_f64): Likewise.
(vmax_f64): Likewise.
* config/aarch64/iterators.md (FMAXMIN): Merge with...
(FMAXMIN_UNS): ...this.
(fmaxmin): Merged with
(fmaxmin_op): ...this...
(maxmin_uns_op): ...in to this.
gcc/testsuite/
* gcc.target/aarch64/vminmaxnm.c: New.
* gcc.target/aarch64/simd/vminmaxnm_1.c (main): Added float64x1_t
tests.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238977
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 2 Aug 2016 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238976
138bc75d -0d04-0410-961f-
82ee72b054a4
meissner [Mon, 1 Aug 2016 23:27:38 +0000 (23:27 +0000)]
[gcc]
2016-08-01 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
Add support for vec_extract on vector float, vector int, vector
short, and vector char vector types.
* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
vector float, vector int, vector short, and vector char
optimizations on 64-bit ISA 2.07 systems for both constant and
variable element numbers.
(rs6000_split_vec_extract_var): Likewise.
* config/rs6000/vsx.md (vsx_xscvspdp_scalar2): Allow SFmode to be
Altivec registers on ISA 2.07 and above.
(vsx_extract_v4sf): Delete alternative that hard coded element 0,
which never was matched due to the split occuring before register
allocation (and the code would not have worked on little endian
systems if it did match). Allow extracts to go to the Altivec
registers if ISA 2.07 (power8). Change from using "" around the
C++ code to using {}'s.
(vsx_extract_v4sf_<mode>_load): New insn to optimize vector float
vec_extracts when the vector is in memory.
(vsx_extract_v4sf_var): New insn to optimize vector float
vec_extracts when the element number is variable on 64-bit ISA
2.07 systems.
(vsx_extract_<mode>, VSX_EXTRACT_I iterator): Add optimizations
for 64-bit ISA 2.07 as well as ISA 3.0.
(vsx_extract_<mode>_p9, VSX_EXTRACT_I iterator): Likewise.
(vsx_extract_<mode>_p8, VSX_EXTRACT_I iterator): Likewise.
(vsx_extract_<mode>_load, VSX_EXTRACT_I iterator): New insn to
optimize vector int, vector short, and vector char vec_extracts
when the vector is in memory.
(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): New insn to
optimize vector int, vector short, and vector char vec_extracts
when the element number is variable.
[gcc/testsuite]
2016-08-01 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-extract-5.c: New tests to test
vec_extract for vector float, vector int, vector short, and vector
char.
* gcc.target/powerpc/vec-extract-6.c: Likewise.
* gcc.target/powerpc/vec-extract-7.c: Likewise.
* gcc.target/powerpc/vec-extract-8.c: Likewise.
* gcc.target/powerpc/vec-extract-9.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238971
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 1 Aug 2016 20:20:17 +0000 (20:20 +0000)]
Warn about mangled name change even if DECL_REALLY_EXTERN.
* mangle.c (mangle_decl): Warn about mangled name change even if
DECL_REALLY_EXTERN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238966
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 1 Aug 2016 20:20:12 +0000 (20:20 +0000)]
* mangle.c (get_abi_tags): New.
(find_substitution, write_unqualified_name, write_abi_tags)
(maybe_check_abi_tags): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238965
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 1 Aug 2016 20:19:34 +0000 (20:19 +0000)]
* mangle.c (mangle_decl): Fix mangled name change warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238964
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 20:12:58 +0000 (20:12 +0000)]
Add non-const std::basic_string::data() for C++17
* include/bits/basic_string.h (data() const): Update comment.
(data()): Add non-const overload for C++17.
* testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
* testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238963
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Mon, 1 Aug 2016 17:12:32 +0000 (17:12 +0000)]
PR target/71948
* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): Use a value that
does not overlap with other symbol flags.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238961
138bc75d -0d04-0410-961f-
82ee72b054a4
wilco [Mon, 1 Aug 2016 16:37:24 +0000 (16:37 +0000)]
This patch optimizes the prolog and epilog code to reduce the number of
instructions and avoid multiple writes to SP. The key idea is that epilogs
are almost exact reverses of prologs, and thus all the decisions only need
to be taken once. The frame layout is decided in aarch64_layout_frame()
and decisions recorded in the new aarch64_frame fields initial_adjust,
callee_adjust, callee_offset and final_adjust.
A generic frame setup consists of 5 basic steps:
1. sub sp, sp, initial_adjust
2. stp reg1, reg2, [sp, -callee_adjust]! (push if callee_adjust != 0)
3. add fp, sp, callee_offset (if frame_pointer_needed)
4. stp reg3, reg4, [sp, callee_offset + N*16] (store remaining callee-saves)
5. sub sp, sp, final_adjust
The epilog reverses this, and may omit step 3 if alloca wasn't used.
gcc/
* config/aarch64/aarch64.h (aarch64_frame):
Remove padding0 and hardfp_offset. Add locals_offset,
initial_adjust, callee_adjust, callee_offset and final_adjust.
* config/aarch64/aarch64.c (aarch64_layout_frame):
Remove unused padding0 and hardfp_offset initializations.
Choose frame layout and set frame variables accordingly.
Use INVALID_REGNUM instead of FIRST_PSEUDO_REGISTER.
(aarch64_push_regs): Use INVALID_REGNUM, not FIRST_PSEUDO_REGISTER.
(aarch64_pop_regs): Likewise.
(aarch64_expand_prologue): Remove all decision code, just emit
prolog according to frame variables.
(aarch64_expand_epilogue): Remove all decision code, just emit
epilog according to frame variables.
(aarch64_initial_elimination_offset): Use offset to local/arg area.
testsuite/
* gcc.target/aarch64/test_frame_10.c: Fix test to check for a
single stack adjustment, no writeback.
* gcc.target/aarch64/test_frame_12.c: Likewise.
* gcc.target/aarch64/test_frame_13.c: Likewise.
* gcc.target/aarch64/test_frame_15.c: Likewise.
* gcc.target/aarch64/test_frame_6.c: Likewise.
* gcc.target/aarch64/test_frame_7.c: Likewise.
* gcc.target/aarch64/test_frame_8.c: Likewise.
* gcc.target/aarch64/test_frame_16.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238960
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 16:06:03 +0000 (16:06 +0000)]
Disable std::string and std::wstring extern templates for C++17
* include/bits/basic_string.tcc: Disable explicit instantiation
declarations for C++17.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238959
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Mon, 1 Aug 2016 15:01:03 +0000 (15:01 +0000)]
PR c++/72766 - ICE with VLA
* constexpr.c (cxx_eval_pointer_plus_expression): Check constancy
of nelts.
* cp-gimplify.c (cp_fully_fold): Only maybe_constant_value in
C++11 and up.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238957
138bc75d -0d04-0410-961f-
82ee72b054a4
hjl [Mon, 1 Aug 2016 14:46:01 +0000 (14:46 +0000)]
Convert V1TImode register to TImode in debug insn
TImode register referenced in debug insn can be converted to V1TImode by
scalar to vector optimization. When converting a TImode store to V1TImode,
we need to check all debug insns on its use chain to convert the V1TImode
register to SUBREG TImode if source register is undefined.
gcc/
PR target/72748
* config/i386/i386.c (timode_scalar_chain::convert_insn): Call
fix_debug_reg_uses after changing source register mode to
V1TImode if source register is undefined.
gcc/testsuite/
PR target/72748
* gcc.target/i386/pr72748.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238956
138bc75d -0d04-0410-961f-
82ee72b054a4
alahay01 [Mon, 1 Aug 2016 14:33:23 +0000 (14:33 +0000)]
2016-08-01 Alan Hayward <alan.hayward@arm.com>
gcc/
PR tree-optimization/71818
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Don't advance IVs
with non invariant evolutions
testsuite/
PR tree-optimization/71818
* gcc.dg/vect/pr71818.c: New
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238955
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 14:13:06 +0000 (14:13 +0000)]
Remove ignored "xfail" from dg-do compile directives
* testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
ignored "xfail" from { dg-do compile { xfail selector } } directive.
* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++11.cc: Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c++98.cc: Likewise.
* testsuite/26_numerics/headers/cmath/
c99_classification_macros_c.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238954
138bc75d -0d04-0410-961f-
82ee72b054a4
marxin [Mon, 1 Aug 2016 13:31:24 +0000 (13:31 +0000)]
Change dump expectation in PR71857
PR tree-optimization/71857
* gcc.dg/tree-ssa/ivopt_mult_4.c: Change expectation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238953
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:45:47 +0000 (12:45 +0000)]
Fix __gnu_cxx::hash_set test to pass in C++98 mode
* testsuite/backward/hash_set/check_construct_destroy.cc: Account
for different construct/destroy counts in C++98 mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238952
138bc75d -0d04-0410-961f-
82ee72b054a4
schwab [Mon, 1 Aug 2016 12:45:32 +0000 (12:45 +0000)]
* include/cpplib.h: Fix comment typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238951
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Mon, 1 Aug 2016 12:36:11 +0000 (12:36 +0000)]
PR target/72767
* config/avr/avr.md (length) [branch]: Correct insn length
attribute for forward branches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238948
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Mon, 1 Aug 2016 12:23:17 +0000 (12:23 +0000)]
* doc/extend.texi (AVR Built-in Functions): Document
__builtin_avr_nops.
* config/avr/builtins.def (NOPS): New.
* config/avr/avr.c (avr_expand_nops): New static function.
(avr_expand_builtin): Use it to handle AVR_BUILTIN_NOPS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238947
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:18:23 +0000 (12:18 +0000)]
Remove "-x c" from dg-options in libstdc++ C++ test
* testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238946
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:18:18 +0000 (12:18 +0000)]
Limit std::tuple tests to run for C++11 and later
* testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
later.
* testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238945
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:18:13 +0000 (12:18 +0000)]
Make libstdc++ debug mode test valid for C++98
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
C++98-compatible initialization for array.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238944
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:18:08 +0000 (12:18 +0000)]
Remove unused headers and variables from libstdc++ tests
* testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
unused header and variable from compile-only test.
* testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
* testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
* testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238943
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:17:59 +0000 (12:17 +0000)]
Remove duplicate dg-options directive in string_view test
* testsuite/experimental/string_view/operations/rfind/char/2.cc:
Remove duplicate dg-options directive.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238942
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:17:54 +0000 (12:17 +0000)]
Use -std=gnu++98 instead of -std=gnu++03 in test
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238941
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:17:49 +0000 (12:17 +0000)]
Remove linker options from compile-only tests
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
linker options from compile-only tests.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238940
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Mon, 1 Aug 2016 12:17:43 +0000 (12:17 +0000)]
Run std::ios_base enum tests for C++11 and up
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
supported for C++11 and later.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238939
138bc75d -0d04-0410-961f-
82ee72b054a4
ktkachov [Mon, 1 Aug 2016 10:20:03 +0000 (10:20 +0000)]
[AArch64] Allow multiple-of-8 immediate offsets for TImode LDP/STP
* config/aarch64/aarch64.c (aarch64_classify_address): Use DImode when
performing aarch64_offset_7bit_signed_scaled_p check for TImode LDP/STP
addresses.
* gcc.target/aarch64/ldp_stp_unaligned_1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238938
138bc75d -0d04-0410-961f-
82ee72b054a4
rearnsha [Mon, 1 Aug 2016 10:17:08 +0000 (10:17 +0000)]
2016-08-01 Virendra Pathak <virendra.pathak@broadcom.com>
* config/aarch64/aarch64.c (vulcan_tunings): Update
vulcan L1 cache_line_size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238937
138bc75d -0d04-0410-961f-
82ee72b054a4
jbeulich [Mon, 1 Aug 2016 09:39:52 +0000 (09:39 +0000)]
extend shift count warnings to vector types
gcc/c/
2016-08-01 Jan Beulich <jbeulich@suse.com>
* c-fold.c (c_fully_fold_internal): Also emit shift count
warnings for vector types.
* c-typeck.c (build_binary_op): Likewise.
gcc/testsuite/
2016-08-01 Jan Beulich <jbeulich@suse.com>
* gcc.dg/vshift-6.c, gcc.dg/vshift-7.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238936
138bc75d -0d04-0410-961f-
82ee72b054a4
uros [Mon, 1 Aug 2016 07:35:22 +0000 (07:35 +0000)]
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238934
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 1 Aug 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238933
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 19:37:14 +0000 (19:37 +0000)]
Change std::conditional test to compile-only
* testsuite/20_util/conditional/requirements/typedefs.cc: Change to
compile-only test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238930
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 19:30:16 +0000 (19:30 +0000)]
Ensure std::atomic test is compiled with optimization
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
Ensure test is compiled with optimization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238929
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 19:21:59 +0000 (19:21 +0000)]
Fix DR 438 std::list test to pass in C++98 mode
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Adjust dg-prune-output pattern for error in C++98 mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238928
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 18:54:31 +0000 (18:54 +0000)]
Enable std::regex test for C++11 or later
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
run for C++11 or later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238927
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 18:46:30 +0000 (18:46 +0000)]
Fix non-portable std::regex test and test more cases
* testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
test to not rely on GNU extension (escaped normal characters in POSIX
BRE). Enable tests for other strings which are now supported.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238926
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 18:12:28 +0000 (18:12 +0000)]
Allow std::pair test to run in C++11 mode too
* testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
c++11 instead of setting -std=gnu++14.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238925
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 17:08:52 +0000 (17:08 +0000)]
libstdc++/72745 add static assertion for invalid tuple access
PR libstdc++/72745
* include/std/array (get): Use positive message for static assertions.
* include/std/functional (_Safe_tuple_element_t): Fix indentation.
* include/std/tuple (tuple_element<I, tuple<>>): Add partial
specialization for invalid indices, with static assertion.
* testsuite/20_util/tuple/element_access/get_neg.cc: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238924
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 16:51:08 +0000 (16:51 +0000)]
Move dg-error directives to relevant lines
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
dg-error to relevant line.
* testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
assign_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/forward_list/requirements/dr438/
insert_neg.cc: Likewise.
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
Likewise.
* testsuite/26_numerics/random/linear_congruential_engine/
requirements/non_uint_neg.cc: Likewise.
* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
Likewise. Also test for std::atomic_address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238923
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Sun, 31 Jul 2016 15:15:28 +0000 (15:15 +0000)]
Oops, ChangeLog didn't commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238922
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Sun, 31 Jul 2016 14:52:53 +0000 (14:52 +0000)]
Add missing variable traits, fix testsuite failures.
* include/bits/uses_allocator.h (uses_allocator_v): New.
* include/std/functional (is_bind_expression_v, is_placeholder_v):
Likewise.
* testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/duration/literals/range.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
* testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238921
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Sun, 31 Jul 2016 14:27:32 +0000 (14:27 +0000)]
2016-07-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/divkc3-1.c: Require POWER8 hardware.
* gcc.target/powerpc/mulkc3-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238919
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 13:06:38 +0000 (13:06 +0000)]
Check __STRICT_ANSI__ for 128-bit arithmetic types
* testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
not test 128-bit types.
* testsuite/20_util/is_floating_point/value.cc: Likewise.
* testsuite/20_util/is_integral/value.cc: Likewise.
* testsuite/20_util/is_signed/value.cc: Likewise.
* testsuite/20_util/is_unsigned/value.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238918
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 13:03:46 +0000 (13:03 +0000)]
Fix file extension of libstdc++ test
* testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238917
138bc75d -0d04-0410-961f-
82ee72b054a4
redi [Sun, 31 Jul 2016 13:02:17 +0000 (13:02 +0000)]
Make check_effective_target_c++ work for libstdc++
* lib/target-supports.exp (check_effective_target_c): Fix indentation.
(check_effective_target_c++): Likewise. Also match for libstdc++.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238916
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Sun, 31 Jul 2016 01:51:37 +0000 (01:51 +0000)]
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41922
* target-memory.c (expr_to_char): Pass in locus and use it in error
messages.
(gfc_merge_initializers): Ditto.
* target-memory.h: Update prototype for gfc_merge_initializers ().
* trans-common.c (get_init_field): Use the correct locus.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/41922
* gfortran.dg/equiv_constraint_5.f90: Adjust the error message.
* gfortran.dg/equiv_constraint_7.f90: Ditto.
* gfortran.dg/pr41922.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238915
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 31 Jul 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238914
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Sat, 30 Jul 2016 23:01:06 +0000 (23:01 +0000)]
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/68566
* check.c (gfc_check_reshape): Check for constant expression.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/68566
* gfortran.dg/pr68566.f90: new test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238911
138bc75d -0d04-0410-961f-
82ee72b054a4
msebor [Sat, 30 Jul 2016 22:36:56 +0000 (22:36 +0000)]
PR c++/60760 - arithmetic on null pointers should not be allowed in constant
PR c++/71091 - constexpr reference bound to a null pointer dereference
gcc/cp/ChangeLog:
PR c++/60760
PR c++/71091
* constexpr.c (cxx_eval_binary_expression): Reject invalid expressions
involving null pointers.
(cxx_eval_component_reference): Reject null pointer dereferences.
(cxx_eval_indirect_ref): Reject indirecting through null pointers.
(cxx_eval_constant_expression): Reject invalid expressions involving
null pointers.
gcc/testsuite/ChangeLog:
PR c++/60760
PR c++/71091
* g++.dg/cpp0x/constexpr-cast.C: New test.
* g++.dg/cpp0x/constexpr-nullptr-2.C: New test.
* g++.dg/cpp1y/constexpr-sfinae.C: Correct.
* g++.dg/ubsan/pr63956.C: Correct.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238909
138bc75d -0d04-0410-961f-
82ee72b054a4
meissner [Sat, 30 Jul 2016 22:31:16 +0000 (22:31 +0000)]
[gcc]
2016-07-30 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000-protos.h (rs6000_adjust_vec_address): New
function that takes a vector memory address, a hard register, an
element number and a temporary base register, and recreates an
address that points to the appropriate element within the vector.
* config/rs6000/rs6000.c (rs6000_adjust_vec_address): Likewise.
(rs6000_split_vec_extract_var): Add support for the target of a
vec_extract with variable element number being a scalar memory
location.
(rtx_is_swappable_p): VLSO insns (UNSPEC_VSX_VSLOW) are not
swappable.
* config/rs6000/vsx.md (vsx_extract_<mode>_load): Replace
vsx_extract_<mode>_load insn with a new insn that optimizes
storing either element to a memory location, using scratch
registers to pick apart the vector and reconstruct the address.
(vsx_extract_<P:mode>_<VSX_D:mode>_load): Likewise.
(vsx_extract_<mode>_store): Rework alternatives to more correctly
support Altivec registers. Add support for ISA 3.0 Altivec d-form
store instruction.
(vsx_extract_<mode>_var): Add support for extracting a variable
element number from memory.
[gcc/testsuite]
2016-07-30 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-extract-2.c: New tests for vec_extract of
vector double or vector long where the vector is in memory.
* gcc.target/powerpc/vec-extract-3.c: Likewise.
* gcc.target/powerpc/vec-extract-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238908
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Sat, 30 Jul 2016 20:05:10 +0000 (20:05 +0000)]
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69867
* decl.c (build_struct): Ensure that pointers point to something.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69867
* gfortran.dg/pr69867.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238907
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Sat, 30 Jul 2016 19:24:49 +0000 (19:24 +0000)]
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69962
* decl.c (gfc_set_constant_character_len): if expr is not
constant issue an error instead of an ICE.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69962
* gfortran.dg/pr69962.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238906
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Sat, 30 Jul 2016 18:18:49 +0000 (18:18 +0000)]
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/70006
* io.c (gfc_resolve_dt): Use correct locus.
* resolve.c (resolve_branch): Ditto.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/70006
* gfortran.dg/pr70006.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238905
138bc75d -0d04-0410-961f-
82ee72b054a4
kargl [Sat, 30 Jul 2016 16:19:14 +0000 (16:19 +0000)]
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71730
* decl.c (char_len_param_value): Check return value of
gfc_reduce_init_expr().
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71730
* gfortran.dg/pr71730.f90: New test.
* gfortran.dg/bounds_check_strlen_2.f90: Fix invalid code.
* gfortran.dg/array_constructor_27.f03: Update dg-error message.
* gfortran.dg/array_constructor_26.f03: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238904
138bc75d -0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 30 Jul 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238902
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 29 Jul 2016 20:15:54 +0000 (20:15 +0000)]
2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/_divkc3.c: Add copyright/license boilerplate.
* config/rs6000/_mulkc3.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238894
138bc75d -0d04-0410-961f-
82ee72b054a4
ville [Fri, 29 Jul 2016 19:01:39 +0000 (19:01 +0000)]
Implement C++17 variable templates for type traits.
* include/std/chrono (treat_as_floating_point_v): New.
* include/std/ratio (ratio_equal_v, ratio_not_equal_v)
(ratio_less_v, ratio_less_equal_v, ratio_greater_v)
(ratio_greater_equal_v): Likewise.
* include/std/system_error (is_error_code_enum_v)
(is_error_condition_enum_v): Likewise.
* include/std/tuple (tuple_size_v): Likewise.
* type_traits (conjunction_v, disjunction_v, negation_v)
(is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
(is_array_v, is_pointer_v, is_lvalue_reference_v)
(is_rvalue_reference_v, is_member_object_pointer_v)
(is_member_function_pointer_v, is_enum_v, is_union_v)
(is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
(is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
(is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
(is_trivially_copyable_v, is_standard_layout_v)
(is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
(is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
(is_constructible_v, is_default_constructible_v)
(is_copy_constructible_v, is_move_constructible_v)
(is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
(is_destructible_v, is_trivially_constructible_v)
(is_trivially_default_constructible_v)
(is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
(is_trivially_assignable_v, is_trivially_copy_assignable_v)
(is_trivially_move_assignable_v, is_trivially_destructible_v)
(is_nothrow_constructible_v, is_nothrow_default_constructible_v)
(is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
(is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
(is_nothrow_move_assignable_v, is_nothrow_destructible_v)
(has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
(is_same_v, is_base_of_v, is_convertible_v): Likewise.
* testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
* testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
Likewise.
* testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
* testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
* testsuite/20_util/variable_templates_for_traits.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238892
138bc75d -0d04-0410-961f-
82ee72b054a4
wschmidt [Fri, 29 Jul 2016 18:29:01 +0000 (18:29 +0000)]
2016-07-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* g++.dg/pr70098.C: Remove XFAIL for powerpc64_no_dm.
* gcc.target/powerpc/pr71763.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238891
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 17:39:39 +0000 (17:39 +0000)]
PR c/71926
* c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
parentheses warning.
* semantics.c (maybe_convert_cond): Use the location of COND for the
parentheses warning.
* g++.dg/warn/Wparentheses-30.C: New test.
* gcc.dg/Wparentheses-14.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238886
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 17:36:46 +0000 (17:36 +0000)]
PR c/71573
* c-decl.c (implicitly_declare): Return decl early not only for
error_mark_nodes, but for anything that is not a FUNCTION_DECL.
* gcc.dg/noncompile/pr71573.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238885
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 17:34:55 +0000 (17:34 +0000)]
PR c/71853
* c-parser.c (c_parser_switch_statement): Initialize ce.original_type
to error node for invalid code.
* gcc.dg/noncompile/pr71853.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238884
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 17:32:27 +0000 (17:32 +0000)]
PR c/71742
* c-decl.c (finish_struct): Rephrase an error message.
* gcc.dg/940510-1.c: Adjust dg-error.
* gcc.dg/c99-flex-array-1.c: Likewise.
* gcc.dg/c99-flex-array-typedef-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238883
138bc75d -0d04-0410-961f-
82ee72b054a4
aldyh [Fri, 29 Jul 2016 16:40:55 +0000 (16:40 +0000)]
include/
* libiberty.h (MAX_ALLOCA_SIZE): New macro.
libiberty/
* make-relative-prefix.c (make_relative_prefix_1): Fall back to
malloc if alloca argument is greater than MAX_ALLOCA_SIZE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238880
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Fri, 29 Jul 2016 16:09:39 +0000 (16:09 +0000)]
* config/avr/avr.c (avr_out_compare): Use const0_rtx instead of 0
when testing for compares against constants of the form 0xabab.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238879
138bc75d -0d04-0410-961f-
82ee72b054a4
uros [Fri, 29 Jul 2016 16:07:09 +0000 (16:07 +0000)]
* gcc.dg/pr59833.c: Use dg-add-options ieee.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238878
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Fri, 29 Jul 2016 15:48:25 +0000 (15:48 +0000)]
PR tree-optimization/57558
* tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): New
function.
(vect_loop_versioning): Support versioning with niter assumptions.
* tree-vect-loop.c (tree-ssa-loop.h): Include header file.
(vect_get_loop_niters): New parameter. Reimplement to support
assumptions in loop niter info.
(vect_analyze_loop_form_1, vect_analyze_loop_form): Ditto.
(new_loop_vec_info): Init LOOP_VINFO_NITERS_ASSUMPTIONS.
(vect_estimate_min_profitable_iters): Use LOOP_REQUIRES_VERSIONING.
Support loop versioning for niters.
* tree-vectorizer.c (tree-ssa-loop-niter.h): Include header file.
(vect_free_loop_info_assumptions): New function.
(vectorize_loops): Free loop niter info for loops with flag
LOOP_F_ASSUMPTIONS set if vectorization failed.
* tree-vectorizer.h (struct _loop_vec_info): New field
num_iters_assumptions.
(LOOP_VINFO_NITERS_ASSUMPTIONS): New macro.
(LOOP_REQUIRES_VERSIONING_FOR_NITERS): New macro.
(LOOP_REQUIRES_VERSIONING): New macro.
(vect_free_loop_info_assumptions): New decl.
gcc/testsuite
PR tree-optimization/57558
* gcc.dg/vect/pr57558-1.c: New test.
* gcc.dg/vect/pr57558-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238877
138bc75d -0d04-0410-961f-
82ee72b054a4
amker [Fri, 29 Jul 2016 15:44:00 +0000 (15:44 +0000)]
* cfgloop.h (struct loop): New field constraints.
(LOOP_C_INFINITE, LOOP_C_FINITE): New macros.
(loop_constraint_set, loop_constraint_clr, loop_constraint_set_p): New
functions.
* cfgloop.c (alloc_loop): Initialize new field.
* cfgloopmanip.c (copy_loop_info): Copy constraints.
* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
Adjust niter analysis wrto loop constraints.
* doc/loop.texi (@node Number of iterations): Add description for loop
constraints.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238876
138bc75d -0d04-0410-961f-
82ee72b054a4
prathamesh3492 [Fri, 29 Jul 2016 15:37:23 +0000 (15:37 +0000)]
2016-07-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
testsuite/
gcc.dg/pr70920-4.c: Restrict to lp64 targets and make scan-tree-dump
to scan forwprop1 dump pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238874
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 29 Jul 2016 15:10:58 +0000 (15:10 +0000)]
* decl.c (build_enumerator): Tweak diagnostic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238873
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Fri, 29 Jul 2016 14:54:04 +0000 (14:54 +0000)]
* config/avr/avr.md: Fix " in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238871
138bc75d -0d04-0410-961f-
82ee72b054a4
paolo [Fri, 29 Jul 2016 14:49:03 +0000 (14:49 +0000)]
2016-07-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51488
* g++.dg/template/pr51488.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238870
138bc75d -0d04-0410-961f-
82ee72b054a4
jason [Fri, 29 Jul 2016 14:03:26 +0000 (14:03 +0000)]
PR c++/72457 - ICE with list-value-initialized base.
* init.c (expand_aggr_init_1): Only handle value-init of bases.
* constexpr.c (build_data_member_initialization): Handle multiple
initializers for the same field.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238867
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 12:39:25 +0000 (12:39 +0000)]
PR c/7652
* config/i386/i386.c (ix86_expand_args_builtin): Add break.
(ix86_expand_round_builtin): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238864
138bc75d -0d04-0410-961f-
82ee72b054a4
gjl [Fri, 29 Jul 2016 12:34:21 +0000 (12:34 +0000)]
gcc/
PR rtl-optimization/71976
* combine.c (get_last_value): Return 0 if the argument for which
the function is called has a wider mode than the recorded value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238863
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 12:00:43 +0000 (12:00 +0000)]
PR c/71969
* c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
on GNU extern inline functions.
* gcc.dg/alias-11.c (add_cfi, new_cfi): Change __inline__ to
static __inline__.
* gcc.dg/pr71969-1.c: New test.
* gcc.dg/pr71969-2.c: New test.
* gcc.dg/pr71969-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238862
138bc75d -0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 29 Jul 2016 11:48:36 +0000 (11:48 +0000)]
PR c/71583
* c-parser.c (c_parser_postfix_expression_after_paren_type): Also
check expr.value.
* gcc.dg/noncompile/pr71583.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@238861
138bc75d -0d04-0410-961f-
82ee72b054a4