1. 09 Jun, 2016 17 commits
  2. 08 Jun, 2016 23 commits
    • decl.c (maybe_deduce_size_from_array_init): Use DECL_SOURCE_LOCATION in error_at. · c8a71589
      /cp
      2016-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* decl.c (maybe_deduce_size_from_array_init): Use
      	DECL_SOURCE_LOCATION in error_at.
      	(layout_var_decl): Likewise.
      	(check_array_initializer): Likewise.
      	(check_initializer): Likewise.
      	(duplicate_decls, check_elaborated_type_specifier): Tidy.
      
      /testsuite
      2016-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/init/array42.C: New.
      	* g++.dg/init/array43.C: Likewise.
      	* g++.dg/init/array44.C: Likewise.
      	* g++.dg/init/array45.C: Likewise.
      	* g++.dg/cpp0x/constexpr-ice10.C: Test column number too.
      	* g++.dg/cpp0x/constexpr-incomplete1.C: Likewise.
      	* g++.dg/cpp1y/auto-fn27.C: Likewise.
      	* g++.dg/gomp/pr35751.C: Likewise.
      	* g++.dg/init/array23.C: Likewise.
      	* g++.dg/init/brace2.C: Likewise.
      	* g++.dg/init/brace6.C: Likewise.
      
      From-SVN: r237240
      Paolo Carlini committed
    • re PR c++/70507 (integer overflow builtins not constant expressions) · 44a845ca
      	PR c++/70507
      	PR c/68120
      	* builtins.def (BUILT_IN_ADD_OVERFLOW_P, BUILT_IN_SUB_OVERFLOW_P,
      	BUILT_IN_MUL_OVERFLOW_P): New builtins.
      	* builtins.c: Include gimple-fold.h.
      	(fold_builtin_arith_overflow): Handle
      	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
      	(fold_builtin_3): Likewise.
      	* doc/extend.texi (Integer Overflow Builtins): Document
      	__builtin_{add,sub,mul}_overflow_p.
      gcc/c/
      	* c-typeck.c (convert_arguments): Don't promote last argument
      	of BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
      gcc/cp/
      	* constexpr.c: Include gimple-fold.h.
      	(cxx_eval_internal_function): New function.
      	(cxx_eval_call_expression): Call it.
      	(potential_constant_expression_1): Handle integer arithmetic
      	overflow built-ins.
      	* tree.c (builtin_valid_in_constant_expr_p): Handle
      	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
      gcc/c-family/
      	* c-common.c (check_builtin_function_arguments): Handle
      	BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
      gcc/testsuite/
      	* c-c++-common/builtin-arith-overflow-1.c: Add test cases.
      	* c-c++-common/builtin-arith-overflow-2.c: New test.
      	* g++.dg/ext/builtin-arith-overflow-1.C: New test.
      	* g++.dg/cpp0x/constexpr-arith-overflow.C: New test.
      	* g++.dg/cpp1y/constexpr-arith-overflow.C: New test.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r237238
      Martin Sebor committed
    • driver-sparc.c (cpu_names): Fix the entry for the SPARC-M7 and add an entry for… · 379aea72
      driver-sparc.c (cpu_names): Fix the entry for the SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
      
      2016-06-08  Jose E. Marchesi  <jose.marchesi@oracle.com>
      
      	* config/sparc/driver-sparc.c (cpu_names): Fix the entry for the
      	SPARC-M7 and add an entry for SPARC-S7 cpus (Sonoma).
      
      From-SVN: r237237
      Jose E. Marchesi committed
    • pt.c (tsubst, [...]): Don't delay checking the return value of tsubst_aggr_type… · f07063cc
      pt.c (tsubst, [...]): Don't delay checking the return value of	tsubst_aggr_type for error_mark_node.
      
      2016-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* pt.c (tsubst, case TYPENAME_TYPE): Don't delay checking the
      	return value of	tsubst_aggr_type for error_mark_node.
      
      From-SVN: r237236
      Paolo Carlini committed
    • re PR c++/71442 (r232569 breaks -Wunused-*) · 2ef16b6e
      	PR c++/71442
      	* pt.c (tsubst_copy): Only set TREE_USED on DECLs.
      
      	* g++.dg/cpp0x/Wunused-variable-1.C: New test.
      
      From-SVN: r237232
      Jakub Jelinek committed
    • [PATCH 2/2][AArch64] Tests of AAPCS64 updates for alignment attribute · 5e3ee346
      gcc/testsuite/
      
      	* gcc.target/aarch64/aapcs64/aapcs64.exp: Also execute rec_*.c
      	* gcc.target/aarch64/aapcs64/rec_align-5.c: New.
      	* gcc.target/aarch64/aapcs64/rec_align-6.c: New.
      	* gcc.target/aarch64/aapcs64/rec_align-7.c: New.
      	* gcc.target/aarch64/aapcs64/rec_align-8.c: New.
      	* gcc.target/aarch64/aapcs64/rec_align-9.c: New.
      	* gcc.target/aarch64/aapcs64/test_align-5.c: New.
      	* gcc.target/aarch64/aapcs64/test_align-6.c: New.
      	* gcc.target/aarch64/aapcs64/test_align-7.c: New.
      	* gcc.target/aarch64/aapcs64/test_align-8.c: New.
      	* gcc.target/aarch64/aapcs64/test_align-9.c: New.
      	* gcc.target/aarch64/aapcs64/rec_vaarg-1.c: New.
      	* gcc.target/aarch64/aapcs64/rec_vaarg-2.c: New.
      
      From-SVN: r237225
      Alan Lawrence committed
    • [PATCH 1/2][AArch64] Implement AAPCS64 updates for alignment attribute · 75d6cc81
      gcc/ChangeLog:
      
      	* config/aarch64/aarch64.c (aarch64_function_arg_alignment):
      	Rewrite, looking one level down for records and arrays.
      
      From-SVN: r237224
      Alan Lawrence committed
    • Add selftest for pretty-print.c · 4ccab56d
      gcc/ChangeLog:
      	* pretty-print.c: Include "selftest.h".
      	(pp_format): Fix comment.
      	(identifier_to_locale): Likewise.
      	(selftest::test_basic_printing): New function.
      	(selftest::assert_pp_format): New function.
      	(selftest::test_pp_format): New function.
      	(selftest::pretty_print_c_tests): New function.
      	* selftest-run-tests.c (selftest::run_tests): Call
      	selftest::pretty_print_c_tests.
      	* selftest.h (pretty_print_c_tests): New declaration.
      
      From-SVN: r237221
      David Malcolm committed
    • invoke.texi (max-loop-headers-insns): Document. · 568876dc
      
      	* invoke.texi (max-loop-headers-insns): Document.
      	* params.def (PARAM_MAX_LOOP_HEADER_INSNS): New.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Update comment.
      	(ch_base::copy_headers): Use PARAM_MAX_LOOP_HEADER_INSNS.
      
      From-SVN: r237219
      Jan Hubicka committed
    • re PR tree-optimization/68558 (Fails to SLP loop) · b2ae2814
      2016-06-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/68558
      	* gcc.dg/vect/slp-44.c: New testcase.
      
      From-SVN: r237216
      Richard Biener committed
    • tree-vect-stmts.c (vectorizable_load): Remove restrictions on strided SLP loads… · e09b4c37
      tree-vect-stmts.c (vectorizable_load): Remove restrictions on strided SLP loads and fall back to scalar loads in case...
      
      2016-06-08  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-stmts.c (vectorizable_load): Remove restrictions
      	on strided SLP loads and fall back to scalar loads in case
      	we can't chunk them.
      
      	* gcc.dg/vect/slp-43.c: New testcase.
      
      From-SVN: r237215
      Richard Biener committed
    • re PR tree-optimization/71452 (Wrong optimization of stores to _Bool via char*) · 72d50660
      2016-06-08  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71452
      	* tree-ssa.c (non_rewritable_lvalue_p): Make sure that the
      	type used for the SSA rewrite has enough precision to cover
      	the dynamic type of the location.
      
      	* gcc.dg/torture/pr71452.c: New testcase.
      
      From-SVN: r237214
      Richard Biener committed
    • re PR c++/71448 (pointer relational comparison fails inside constant expression) · 988c115c
      	PR c++/71448
      	* fold-const.c (fold_comparison): Handle CONSTANT_CLASS_P (base0)
      	the same as DECL_P (base0) for indirect_base0.  Use equality_code
      	in one further place.
      
      	* g++.dg/torture/pr71448.C: New test.
      
      Co-Authored-By: Richard Biener <rguenther@suse.de>
      
      From-SVN: r237212
      Jakub Jelinek committed
    • Remove word_mode hack for split bitfields · 867a0126
      This patch is effectively reverting a change from 1994.  The reason
      I think it's a hack is that store_bit_field_1 is creating a subreg
      reference to one word of a field even though it has already proven that
      the field spills into the following word.  We then rely on the special
      SUBREG handling in store_split_bit_field to ignore the extent of op0 and
      look inside the SUBREG_REG regardless.  I don't see any reason why we can't
      pass the original op0 to store_split_bit_field instead.
      
      Tested on aarch64-linux-gnu and x86_64-linux-gnu.
      
      gcc/
      	* expmed.c (store_bit_field_1): Do not restrict a multiword op0
      	to one word if the field is known to overlap other words.
      	(extract_bit_field_1): Likewise.
      	(store_split_bit_field): Remove compensating code.
      	(extract_split_bit_field): Likewise.
      
      From-SVN: r237211
      Richard Sandiford committed
    • Add ChangeLog entry missed in last commit: · d821b794
      2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgomp/
      	* testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
      
      From-SVN: r237209
      Chung-Lin Tang committed
    • re PR debug/71432 (-fcompare-debug failure (length)) · 73d73b48
      	PR debug/71432
      	PR ada/71413
      	* tree-ssa-strlen.c (handle_builtin_memcmp): Ignore debug insns.
      
      	* g++.dg/debug/pr71432.C: New test.
      
      From-SVN: r237208
      Bernd Schmidt committed
    • section-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c. · bdd15d0c
      2016-06-08  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
      
      	* gcc.dg/vect/section-anchors-vect-70.c: Rename to aligned-section-anchors-vect-71.c.
      	* gcc.dg/vect/section-anchors-vect-71.c: Rename to aligned-section-anchors-vect-72.c.
      	* gcc.dg/vect/section-anchors-vect-72.c: Rename to aligned-section-anchors-vect-72.c.
      
      From-SVN: r237207
      Prathamesh Kulkarni committed
    • c-common.c (parse_optimize_options): Improve diagnostic messages. · a80a7051
      2016-06-08  Richard Biener  <rguenther@suse.de>
      
      	* c-common.c (parse_optimize_options): Improve diagnostic messages.
      
      From-SVN: r237206
      Richard Biener committed
    • [AArch64, 6/6] Reimplement vpadd intrinsics & extend rtl patterns to all modes · 3629030e
      	* config/aarch64/aarch64-builtins.def (faddp): New builtins for modes in
      	VDQF.
      	* config/aarch64/aarch64-simd.md (aarch64_faddp<mode>): New.
      	(arch64_addpv4sf): Delete.
      	(reduc_plus_scal_v4sf): Use "gen_aarch64_faddpv4sf" instead of
      	"gen_aarch64_addpv4sf".
      	* config/aarch64/arm_neon.h (vpadd_f32): Remove inline assembly.  Use
      	builtin.
      	(vpadds_f32): Likewise.
      	(vpaddq_f32): Likewise.
      	(vpaddq_f64): Likewise.
      
      From-SVN: r237205
      Jiong Wang committed
    • [AArch64, 5/6] Reimplement fabd intrinsics & merge rtl patterns · a672fa12
      	* config/aarch64/aarch64-builtins.def (fabd): New builtins for modes
      	VALLF.
      	* config/aarch64/aarch64-simd.md (fabd<mode>_3): Extend modes from VDQF
      	to VALLF.  Rename to "fabd<mode>3".
      	"*fabd_scalar<mode>3): Delete.
      	* config/aarch64/arm_neon.h (vabds_f32): Remove inline assembly.
      	Use builtin.
      	(vabdd_f64): Likewise.
      	(vabd_f32): Likewise.
      	(vabd_f64): Likewise.
      	(vabdq_f32): Likewise.
      	(vabdq_f64): Likewise.
      
      From-SVN: r237204
      Jiong Wang committed
    • [AArch64, 4/6] Reimplement frsqrts intrinsics · 00ea75d4
      	* config/aarch64/aarch64-builtins.def (rsqrts): New builtins for modes
      	VALLF.
      	* config/aarch64/aarch64-simd.md (aarch64_rsqrts_<mode>3): Rename to
      	"aarch64_rsqrts<mode>".
      	* config/aarch64/aarch64.c (get_rsqrts_type): Update gen* name.
      	* config/aarch64/arm_neon.h (vrsqrtss_f32): Remove inline assembly.  Use
      	builtin.
      	(vrsqrtsd_f64): Likewise.
      	(vrsqrts_f32): Likewise.
      	(vrsqrts_f64): Likewise.
      	(vrsqrtsq_f32): Likewise.
      	(vrsqrtsq_f64): Likewise.
      
      From-SVN: r237203
      Jiong Wang committed
    • [AArch64, 3/6] Reimplement frsqrte intrinsics · 2a823433
      	* config/aarch64/aarch64-builtins.def (rsqrte): New builtins for modes
      	VALLF.
      	* config/aarch64/aarch64-simd.md (aarch64_rsqrte_<mode>2): Rename to
      	"aarch64_rsqrte<mode>".
      	* config/aarch64/aarch64.c (get_rsqrte_type): Update gen* name.
      	* config/aarch64/arm_neon.h (vrsqrts_f32): Remove inline assembly.  Use
      	builtin.
      	(vrsqrted_f64): Likewise.
      	(vrsqrte_f32): Likewise.
      	(vrsqrte_f64): Likewise.
      	(vrsqrteq_f32): Likewise.
      	(vrsqrteq_f64): Likewise.
      
      From-SVN: r237202
      Jiong Wang committed
    • [AArch64, 2/6] Reimplement vector fixed-point intrinsics · 2644d4d9
      	* config/aarch64/aarch64-builtins.def (scvtf): Register vector modes.
      	(ucvtf): Likewise.
      	(fcvtzs): Likewise.
      	(fcvtzu): Likewise.
      	* config/aarch64/aarch64-simd.md
      	(<FCVT_F2FIXED:fcvt_fixed_insn><VDQF:mode>3): New.
      	(<FCVT_FIXED2F:fcvt_fixed_insn><VDQ_SDI:mode>3): Likewise.
      	* config/aarch64/arm_neon.h (vcvt_n_f32_s32): Remove inline assembly.
      	Use builtin.
      	(vcvt_n_f32_u32): Likewise.
      	(vcvt_n_s32_f32): Likewise.
      	(vcvt_n_u32_f32): Likewise.
      	(vcvtq_n_f32_s32): Likewise.
      	(vcvtq_n_f32_u32): Likewise.
      	(vcvtq_n_f64_s64): Likewise.
      	(vcvtq_n_f64_u64): Likewise.
      	(vcvtq_n_s32_f32): Likewise.
      	(vcvtq_n_s64_f64): Likewise.
      	(vcvtq_n_u32_f32): Likewise.
      	(vcvtq_n_u64_f64): Likewise.
      	* config/aarch64/iterators.md (VDQ_SDI): New mode iterator.
      	(VSDQ_SDI): Likewise.
      	(fcvt_target): Support V4DI, V4SI and V2SI.
      	(FCVT_TARGET): Likewise.
      
      From-SVN: r237201
      Jiong Wang committed