gcc/gcc/testsuite/ChangeLog

18340 lines
548 KiB
Plaintext
Raw Normal View History

2016-12-29 Andrew Pinski <apinski@cavium.com>
* gcc.dg/atomic/c11-atomic-exec-5.c: Lower ITER_COUNT to 100
for AARCH64.
2016-12-29 Uros Bizjak <ubizjak@gmail.com>
PR target/78904
* gcc.target/i386/pr78904-6.c: New test.
2016-12-29 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/mpx/memcpy-1.c: Include mpx-check.h.
(main): Renamed to ...
(mpx_test): ... this. Add argc and argv arguments.
2016-12-29 Martin Liska <mliska@suse.cz>
PR c/78933
* g++.dg/pr78933.C: New test.
2016-12-28 Uros Bizjak <ubizjak@gmail.com>
PR target/78904
* gcc.target/i386/pr78904-4.c: New test.
* gcc.target/i386/pr78904-5.c: Ditto.
2016-12-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-vinsert4b-2.c: Update test to test for 13
being out of bounds instead of 12.
2016-12-27 Uros Bizjak <ubizjak@gmail.com>
PR target/78904
* gcc.target/i386/pr78904-3.c: New test.
2016-12-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
* gcc.target/i386/mpx/memcpy-1.c: New test.
2016-12-27 Alexander Ivchenko <alexander.ivchenko@intel.com>
* gcc.target/i386/mpx/vla-trailing-1-lbv.c: New test.
* gcc.target/i386/mpx/vla-trailing-1-nov.c: Ditto.
* gcc.target/i386/mpx/vla-trailing-1-ubv.c: Ditto.
2016-12-27 Uros Bizjak <ubizjak@gmail.com>
PR target/78904
* gcc.target/i386/pr78904-2.c: New test.
re PR target/78904 (zero-extracts are not effective) PR target/78904 * config/i386/i386.md (addqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. (*addqi_ext_2): Ditto. (testqi_ext_ccno_0): Canonicalize expander w.r.t. zero_extract RTXes. (testqi_ext_1_ccno): Rename from testqi_ext_ccno_0. (*testqi_ext_0): Merge with *testqi_ext_1. (*testqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Update corresponding splitter. (*testqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes. (*andqi_ext_0): Merge with *andqi_ext_1. (andqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Rename from *andqi_ext_1. Update corresponding splitter and peephole2 patterns. (*andqi_ext_1_cc): Rename from *andqi_ext_0_cc. (*andqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes. (*<any_or:code>qi_ext_0): Merge with *andqi_ext_1. (*<any_or:code>qi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Update corresponding splitter. (*<any_or:code>qi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes. (xorqi_cc_ext_1): Canonicalize expander w.r.t. zero_extract RTXes. (xorqi_ext_1_cc): Rename from xorqi_cc_ext_1. (*xorqi_cc_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Update corresponding splitter. (*xorqi_ext_1_cc): Rename from *xorqi_cc_ext_1. (isinfxf2): Update calls to renamed expanders. (isinf<mode>2): Ditto. * config/i386/i386.c (ix86_expand_fp_compare): Ditto. (ix86_emit_fp_unordered_jump): Ditto. (ix86_emit_i387_round): Ditto. testsuite/ChangeLog: PR target/78904 * gcc.target/i386/pr78904.c: New test. From-SVN: r243929
2016-12-26 20:00:47 +01:00
2016-12-26 Uros Bizjak <ubizjak@gmail.com>
PR target/78904
* gcc.target/i386/pr78904-1.c: New test.
re PR target/78904 (zero-extracts are not effective) PR target/78904 * config/i386/i386.md (addqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. (*addqi_ext_2): Ditto. (testqi_ext_ccno_0): Canonicalize expander w.r.t. zero_extract RTXes. (testqi_ext_1_ccno): Rename from testqi_ext_ccno_0. (*testqi_ext_0): Merge with *testqi_ext_1. (*testqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Update corresponding splitter. (*testqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes. (*andqi_ext_0): Merge with *andqi_ext_1. (andqi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Rename from *andqi_ext_1. Update corresponding splitter and peephole2 patterns. (*andqi_ext_1_cc): Rename from *andqi_ext_0_cc. (*andqi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes. (*<any_or:code>qi_ext_0): Merge with *andqi_ext_1. (*<any_or:code>qi_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Update corresponding splitter. (*<any_or:code>qi_ext_2): Canonicalize insn pattern w.r.t. zero_extract RTXes. (xorqi_cc_ext_1): Canonicalize expander w.r.t. zero_extract RTXes. (xorqi_ext_1_cc): Rename from xorqi_cc_ext_1. (*xorqi_cc_ext_1): Canonicalize insn pattern w.r.t. zero_extract RTXes. Update corresponding splitter. (*xorqi_ext_1_cc): Rename from *xorqi_cc_ext_1. (isinfxf2): Update calls to renamed expanders. (isinf<mode>2): Ditto. * config/i386/i386.c (ix86_expand_fp_compare): Ditto. (ix86_emit_fp_unordered_jump): Ditto. (ix86_emit_i387_round): Ditto. testsuite/ChangeLog: PR target/78904 * gcc.target/i386/pr78904.c: New test. From-SVN: r243929
2016-12-26 20:00:47 +01:00
2016-12-23 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/class_assign_1.f08: New test.
2016-12-23 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/oddspreg-2.c (dg-options): Remove dg-skip-if for
-fno-fat-lto-objects and add the -ffat-lto-objects option, along with
an explanation for its purpose.
* gcc.target/mips/oddspreg-3.c (dg-options): Likewise.
* gcc.target/mips/oddspreg-6.c (dg-options): Likewise.
* gcc.target/mips/no-dsp-1.c: Add an explanation for the purpose of
-ffat-lto-objects.
* gcc.target/mips/pr54240.c: Likewise.
* gcc.target/mips/r10k-cache-barrier-14.c: Likewise.
* gcc.target/mips/soft-float-1.c: Likewise.
2016-12-22 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/gimplefe-20.c: New test-case.
2016-12-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/litpool-str-1.c: New test.
2016-12-22 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/setmem_long-1.c: Use "s390_useable_hw".
* gcc.target/s390/md/rXsbg_mode_sXl.c: Likewise.
* gcc.target/s390/md/andc-splitter-1.c: Likewise.
* gcc.target/s390/md/andc-splitter-2.c: Likewise.
* lib/gcc-dg.exp (gcc-dg-runtest): Export torture_current_flags.
* gcc.target/s390/s390.exp: Import torture_current_flags.
(check_effective_target_s390_useable_hw): New.
(check_effective_target_s390_z900_hw): New.
(check_effective_target_s390_z990_hw): New.
(check_effective_target_s390_z9_ec_hw): New.
(check_effective_target_s390_z10_hw): New.
(check_effective_target_s390_z196_hw): New.
(check_effective_target_s390_zEC12_hw): New.
(check_effective_target_s390_z13_hw): New.
(check_effective_target_z10_instructions): Removed.
(torture tests): Add optimization level without -march=.
Reorder torture tests for good cache usage.
2016-12-22 Martin Liska <mliska@suse.cz>
PR tree-optimization/78886
* gcc.dg/tree-ssa/pr78886.c: New test.
2016-12-22 Georg-Johann Lay <avr@gjlay.de>
PR testsuite/52641
* gcc.dg/pr35258.c (main) <temp>: Use an integer value that has
at least a size of 4.
* gcc.dg/Walloca-1.c (foo1): Use alloca with 30000 (instead of 90000).
* gcc.dg/graphite/pr46185.c: Require int32plus, size32plus.
* gcc.dg/graphite/isl-ast-op-select.c: Same.
* gcc.dg/graphite/pr42205-1.c: Require int32plus.
* gcc.dg/graphite/pr42221.c: Same.
* gcc.dg/tree-ssa/pr65136.c: Same.
* gcc.dg/tree-ssa/sra-20.c: Same.
* gcc.dg/graphite/scop-0.c: Require size32plus.
* gcc.dg/graphite/scop-22.c: Same.
* gcc.dg/graphite/scop-3.c: Same.
* gcc.dg/graphite/scop-dsyr2k.c: Same.
* gcc.dg/graphite/scop-dsyrk.c: Same.
* gcc.dg/graphite/scop-mvt.c: Same.
* gcc.dg/graphite/scop-sor.c: Same.
* gcc.dg/tree-ssa/pr68529-3.c: Same.
* gcc.dg/tree-ssa/pr66449.c [long != pointer]: Use intptr_t if.
* gcc.dg/tree-ssa/pr70919.c [int <= 2]: Use 32-bit int as needed.
* gcc.dg/tree-ssa/pr71408.c: Same.
* gcc.dg/fold-and-rshift-2.c: Same.
* gcc.dg/tree-ssa/ssa-dom-thread-8.c (f2) [long != pointer]: Use
uintptr_t instead of long for int representation of address.
* gcc.dg/tree-ssa/tailcall-7-run.c: Require trampolines.
2016-12-22 Jakub Jelinek <jakub@redhat.com>
PR middle-end/78858
* c-c++-common/ubsan/pr78858.c: New test.
* gcc.dg/nonnull-5.c: New test.
2016-12-21 Jakub Jelinek <jakub@redhat.com>
PR c++/72707
* g++.dg/warn/Wshadow-12.C: New test.
2016-12-21 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/78580
* gcc.target/i386/pr78580.c: New.
2016-12-21 Jakub Jelinek <jakub@redhat.com>
PR c++/77830
* g++.dg/cpp1y/pr77830.C: New test.
* g++.dg/cpp0x/pr65398.C: Adjust expected diagnostics.
2016-12-21 Bernd Schmidt <bschmidt@redhat.com>
PR target/71321
* gcc.target/i386/pr71321.c: New test.
2016-12-21 Jakub Jelinek <jakub@redhat.com>
PR fortran/78866
* gfortran.dg/gomp/map-1.f90: Add expected error.
* gfortran.dg/gomp/pr78866-1.f90: New test.
* gfortran.dg/gomp/pr78866-2.f90: New test.
2016-12-21 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a-pr63175.c: XFAIL
lwz on AIX.
2016-12-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/unsigned-extend-2.c: Update testcase.
2016-12-21 Martin Liska <mliska@suse.cz>
PR driver/78863
* gcc.dg/spellcheck-options-13.c: New test.
2016-12-21 Alexander Monakov <amonakov@ispras.ru>
* gcc.target/nvptx/decl-shared.c (v_common): Add 'common' attribute to
explicitly request the desired storage class.
2016-12-21 Georg-Johann Lay <avr@gjlay.de>
PR testsuite/52641
* gcc.dg/builtin-object-size-16.c (ia0, ia1, ia9): Handle case
where neither short nor int has a size of 4; use long.
* gcc.dg/builtin-object-size-17.c: Same.
* gcc.dg/builtin-stringop-chk-1.c (test2) <struct S>: Use int32_t
for components as 4 components are supposed to occupy 16 bytes.
* gcc.dg/pr78408-1.c: Require target size32plus.
* gcc.dg/pr78408-2.c: Same.
* gcc.dg/tree-ssa/pr78428.c. Require target int32plus.
* gcc.dg/tree-ssa/tailcall-7.c: Require target trampolines.
2016-12-21 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/msa-builtins.c (msa_insert_d): Tweak expected output.
2016-12-21 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/78867
* gfortran.dg/string_length_4.f90: New test.
2016-12-21 Georg-Johann Lay <avr@gjlay.de>
* gcc.target/avr/mmcu: New folder for compile-tests with -mmcu=.
* gcc.target/avr/mmcu/avr-mmcu.exp: New file.
* gcc.target/avr/pr58545.c: Move to gcc.target/avr/mmcu.
* gcc.target/avr/tiny-caller-save.c: Dito.
* gcc.target/avr/tiny-memx.c: Dito.
2016-12-21 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
* gcc.dg/max.c: New Testcase.
* gcc.dg/min.c: New Testcase.
2016-12-21 Jakub Jelinek <jakub@redhat.com>
PR c/77767
* gcc.c-torture/execute/pr77767.c: New test.
2016-12-20 Pat Haugen <pthaugen@us.ibm.com>
* gcc.dg/sms-3.c: Add -fno-sched-pressure for powerpc.
* gcc.dg/sms-6.c: Likewise.
2016-12-20 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/tls/alias-1.c: dg-add-options tls.
* gcc.dg/pr70859-2.c: Define _ISOC99_SOURCE on AIX.
2016-12-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/pr78255-2.c: Fix to work for targets
that do not optimize for tailcall.
2016-12-20 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/tls/pr78796.c: dg-add-options tls.
* gcc.target/powerpc/fold-vec-mult-int.c: power8-vector.
* gcc.target/powerpc/fold-vec-mult-longlong.c: -maix64.
2016-12-20 Richard Biener <rguenther@suse.de>
* gcc.dg/gimplefe-19.c: New testcase.
2016-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/78694
* gcc.c-torture/compile/pr78694.c: New test.
2016-12-20 Eric Botcazou <ebotcazou@adacore.com>
PR testsuite/71232
* gnat.dg/vect1.adb: Add -fno-vect-cost-model to dg-options.
* gnat.dg/vect2.adb: Likewise.
* gnat.dg/vect3.adb: Likewise.
* gnat.dg/vect4.adb: Likewise.
* gnat.dg/vect5.adb: Likewise.
* gnat.dg/vect6.adb: Likewise.
2016-12-19 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/pr59874-3.c: New test.
2016-12-19 Will Schmidt <will_schmidt@vnet.ibm.com>
* gcc.dg/vmx/mult-even-odd-be-order.c: Mark variables as volatile.
* gcc.target/powerpc/fold-vec-mult-char.c: New.
* gcc.target/powerpc/fold-vec-mult-float.c: New.
* gcc.target/powerpc/fold-vec-mult-floatdouble.c: New.
* gcc.target/powerpc/fold-vec-mult-int.c: New.
* gcc.target/powerpc/fold-vec-mult-int128-p8.c: New.
* gcc.target/powerpc/fold-vec-mult-int128-p9.c: New.
* gcc.target/powerpc/fold-vec-mult-longlong.c: New.
* gcc.target/powerpc/fold-vec-mult-short.c: New.
2016-12-19 Will Schmidt <will_schmidt@vnet.ibm.com>
* gcc.target/powerpc/fold-vec-sub-char.c: New.
* gcc.target/powerpc/fold-vec-sub-float.c: New.
* gcc.target/powerpc/fold-vec-sub-floatdouble.c: New.
* gcc.target/powerpc/fold-vec-sub-int.c: New.
* gcc.target/powerpc/fold-vec-sub-int128.c: New.
* gcc.target/powerpc/fold-vec-sub-longlong.c: New.
* gcc.target/powerpc/fold-vec-sub-short.c: New.
2016-12-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/78748
* gcc.c-torture/compile/pr78748.c: New test.
2016-12-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/78848
* gfortran.dg/dtio_22.f90: New test.
2016-12-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/78592
* gfortran.dg/dtio_21.f90: New test.
2016-12-17 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78746
* charlen_03.f90: Remove test.
* charlen_10.f90: Ditto.
2016-12-17 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/78832
* gcc.dg/asan/pr78832.c: New test.
2016-12-17 Andrew Senkevich <andrew.senkevich@intel.com>
* gcc.target/i386/avx512bw-kaddd-1.c: New test.
* gcc.target/i386/avx512bw-kaddq-1.c: Ditto.
* gcc.target/i386/avx512dq-kaddb-1.c: Ditto.
* gcc.target/i386/avx512f-kaddw-1.c: Ditto.
2016-12-17 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/78239
* gfortran.dg/fimplicit_none_1.f90: New test.
* gfortran.dg/fimplicit_none_2.f90: New test.
byte-in-either-range-0.c: New test. gcc/testsuite/ChangeLog: 2016-12-16 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/byte-in-either-range-0.c: New test. * gcc.target/powerpc/byte-in-either-range-1.c: New test. * gcc.target/powerpc/byte-in-range-0.c: New test. * gcc.target/powerpc/byte-in-range-1.c: New test. * gcc.target/powerpc/byte-in-set-0.c: New test. * gcc.target/powerpc/byte-in-set-1.c: New test. * gcc.target/powerpc/byte-in-set-2.c: New test. gcc/ChangeLog: 2016-12-16 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.md (UNSPEC_CMPRB): New unspec value. (UNSPEC_CMPRB2): New unspec value. (UNSPEC_CMPEQB): New unspec value. (cmprb): New expansion. (*cmprb_internal): New insn. (*setb_internal): New insn. (cmprb2): New expansion. (*cmprb2_internal): New insn. (cmpeqb): New expansion. (*cmpeqb_internal): New insn. * config/rs6000/rs6000-builtin.def (BU_P9_2): New macro. (BU_P9_64BIT_2): Likewise. (BU_P9_OVERLOAD_2): Likewise. (CMPRB): Add byte-in-range built-in function. (CMBRB2): Add byte-in-either-range built-in function. (CMPEQB): Add byte-in-set built-in function. (CMPRB): Add overload support for byte-in-range function. (CMPRB2): Add overload support for byte-in-either-range function. (CMPEQB): Add overload support for byte-in-set built-in function. * config/rs6000/rs6000-c.c (P9_BUILTIN_CMPRB): Macro expansion to define argument types for new builtin. (P9_BUILTIN_CMPRB2): Likewise. (P9_BUILTIN_CMPEQB): Likewise. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Rearrange the order of presentation for certain built-in functions (scalar_extract_exp, scalar_extract_sig, scalar_insert_exp) (scalar_cmp_exp_gt, scalar_cmp_exp_lt, scalar_cmp_exp_eq) (scalar_cmp_exp_unordered, scalar_test_data_class) (scalar_test_neg) to improve locality and flow. Document the new __builtin_scalar_byte_in_set, __builtin_scalar_byte_in_range, and __builtin_scalar_byte_in_either_range functions. From-SVN: r243770
2016-12-17 01:18:32 +01:00
2016-12-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/byte-in-either-range-0.c: New test.
* gcc.target/powerpc/byte-in-either-range-1.c: New test.
* gcc.target/powerpc/byte-in-range-0.c: New test.
* gcc.target/powerpc/byte-in-range-1.c: New test.
* gcc.target/powerpc/byte-in-set-0.c: New test.
* gcc.target/powerpc/byte-in-set-1.c: New test.
* gcc.target/powerpc/byte-in-set-2.c: New test.
2016-12-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/78622
* gfortran.dg/dtio_20.f03: New test.
2016-12-16 Jakub Jelinek <jakub@redhat.com>
PR fortran/78757
* gfortran.dg/char_result_16.f90: New test.
2016-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ubfiz_lsl_1.c: New test.
2016-12-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ubfx_lsr_1.c: New test.
2016-12-16 Jakub Jelinek <jakub@redhat.com>
PR c/78408
* gcc.dg/pr78408-1.c: New test.
* gcc.dg/pr78408-2.c: New test.
2016-12-16 Marek Polacek <polacek@redhat.com>
PR tree-optimization/78819
* gcc.dg/tree-ssa/vrp112.c: New test.
2016-12-16 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt61.adb: New test.
* gnat.dg/opt61_pkg.ad[sb]: New helper.
2016-12-16 Richard Biener <rguenther@suse.de>
PR c++/71694
* g++.dg/pr71694.C: New testcase.
2016-12-16 Richard Biener <rguenther@suse.de>
PR middle-end/71632
* gcc.dg/pr71632.c: New testcase.
2016-12-15 Andrew Senkevich <andrew.senkevich@intel.com>
* gcc.target/i386/avx512bw-kmovd-1.c: New test.
* gcc.target/i386/avx512bw-kmovd-2.c: Ditto.
* gcc.target/i386/avx512bw-kmovd-3.c: Ditto.
* gcc.target/i386/avx512bw-kmovd-4.c: Ditto.
* gcc.target/i386/avx512bw-kmovq-1.c: Ditto.
* gcc.target/i386/avx512bw-kmovq-2.c: Ditto.
* gcc.target/i386/avx512bw-kmovq-3.c: Ditto.
* gcc.target/i386/avx512bw-kmovq-4.c: Ditto.
* gcc.target/i386/avx512dq-kmovb-2.c: Ditto.
* gcc.target/i386/avx512dq-kmovb-3.c: Ditto.
* gcc.target/i386/avx512dq-kmovb-4.c: Ditto.
* gcc.target/i386/avx512dq-kmovb-5.c: Ditto.
* gcc.target/i386/avx512f-kmovw-2.c: Ditto.
* gcc.target/i386/avx512f-kmovw-3.c: Ditto.
* gcc.target/i386/avx512f-kmovw-4.c: Ditto.
* gcc.target/i386/avx512f-kmovw-5.c: Ditto.
2016-12-15 Jakub Jelinek <jakub@redhat.com>
P0490R0 GB 20: decomposition declaration should commit to tuple
interpretation early
* g++.dg/cpp1z/decomp10.C (f1): Adjust expected diagnostics.
2016-12-15 Nathan Sidwell <nathan@acm.org>
PR c++/77585
* g++.dg/cpp1y/pr77585.C: New.
2016-12-15 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/tree-ssa/ssa-fre-55.c: Add -Wno-psabi.
* gcc.dg/tree-ssa/pr71179.c: Same.
2016-12-15 Janus Weil <janus@gcc.gnu.org>
PR fortran/78800
* gfortran.dg/unlimited_polymorphic_27.f90: New test case.
2016-12-15 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/mips.exp (mips-dg-options): Upgrade to R2 for
-mmicromips.
2016-12-15 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/tree-ssa/forwprop-35.c: Use -Wno-psabi everywhere.
* gcc.dg/torture/pr78515.c: Likewise.
* gcc.dg/pr69634.c: Likewise.
2016-12-14 Martin Sebor <msebor@redhat.com>
PR middle-end/78519
* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: New test.
2016-12-14 Martin Sebor <msebor@redhat.com>
PR c++/78774
* g++.dg/cpp1y/pr78774.C: New test.
2016-12-14 David Malcolm <dmalcolm@redhat.com>
PR target/78213
* gcc.dg/cpp/pr71591.c: Add a fake value for the argument of
-fself-test.
* gcc.dg/pr78213.c: Disable this test.
* selftests/example.txt: New file.
2016-12-14 Martin Sebor <msebor@redhat.com>
PR middle-end/78786
* gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: New test.
2016-12-14 Jakub Jelinek <jakub@redhat.com>
PR target/78791
* gcc.c-torture/execute/pr78791.c: New test.
* gcc.target/i386/pr78791.c: New test.
2016-12-14 Marek Polacek <polacek@redhat.com>
PR c++/72775
* g++.dg/ext/flexary12.C: Adjust dg-error.
* g++.dg/ext/flexary20.C: New.
* g++.dg/ext/flexary21.C: New.
2016-12-14 Uros Bizjak <ubizjak@gmail.com>
PR target/59874
* gcc.target/i386/pr59874-1.c: New test.
* gcc.target/i386/pr59874-2.c: Ditto.
2016-12-14 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/torture/pr78515.c: Add -Wno-psabi for AIX.
* gcc.dg/tree-ssa/forwprop-35.c: Add -Wno-psabi for AIX.
* gcc.dg/pr69634.c: Add -Wno-psabi for AIX.
2016-12-14 Jakub Jelinek <jakub@redhat.com>
PR debug/77844
* g++.dg/opt/pr77844.C: New test.
PR c/78673 - sprintf missing attribute nonnull on destination argument PR c/78673 - sprintf missing attribute nonnull on destination argument PR c/17308 - nonnull attribute not as useful as it could be gcc/ChangeLog: PR c/17308 * builtin-attrs.def (ATTR_NONNULL_1_1, ATTR_NONNULL_1_2): Defined. (ATTR_NONNULL_1_3, ATTR_NONNULL_1_4, ATTR_NONNULL_1_5): Same. (ATTR_NOTHROW_NONNULL_1_1, ATTR_NOTHROW_NONNULL_1_2): Same. (ATTR_NOTHROW_NONNULL_1_3, ATTR_NOTHROW_NONNULL_1_4): Same. (ATTR_NOTHROW_NONNULL_1_5): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_1_2): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_2_0): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_2_3): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_3_0): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_3_4): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_4_0): Same. (ATTR_NONNULL_1_FORMAT_PRINTF_4_5): Same. * builtins.c (validate_arg): Add argument. Treat null pointers passed to nonnull arguments as invalid. (validate_arglist): Same. * builtins.def (fprintf, fprintf_unlocked): Add nonnull attribute. (printf, printf_unlocked, sprintf. vfprintf, vsprintf): Same. (__sprintf_chk, __vsprintf_chk, __fprintf_chk, __vfprintf_chk): Same. * calls.c (get_nonnull_ags, maybe_warn_null_arg): New functions. (initialize_argument_information): Diagnose null pointers passed to arguments declared nonnull. * calls.h (get_nonnull_args): Declared. gcc/c-family/ChangeLog: PR c/17308 * c-common.c (check_nonnull_arg): Disable when optimization is enabled. gcc/testsuite/ChangeLog: PR c/17308 * gcc.dg/builtins-nonnull.c: New test. * gcc.dg/nonnull-4.c: New test. From-SVN: r243661
2016-12-14 18:23:16 +01:00
2016-12-14 Martin Sebor <msebor@redhat.com>
PR c/17308
* gcc.dg/builtins-nonnull.c: New test.
* gcc.dg/nonnull-4.c: New test.
2016-12-14 Nathan Sidwell <nathan@acm.org>
PR c++/78701
* g++.dg/cpp0x/pr78701.C: New.
rs6000.c (rs6000_split_vec_extract_var): On ISA 3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract instructions. [gcc] 2016-12-14 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_split_vec_extract_var): On ISA 3.0/power9, add support to use the VEXTU{B,H,W}{L,R}X extract instructions. * config/rs6000/vsx.md (VSr2): Add IEEE 128-bit floating point type constraint registers. (VSr3): Likewise. (FL_CONV): New mode iterator for binary floating types that have a direct conversion from 64-bit integer to floating point. (vsx_extract_<mode>_p9): Add support for the ISA 3.0/power9 VEXTU{B,H,W}{L,R}X extract instructions. (vsx_extract_<mode>_p9 splitter): Add splitter to load up the extract byte position into the GPR if we are using the VEXTU{B,H,W}{L,R}X extract instructions. (vsx_extract_<mode>_di_p9): Support extracts to GPRs. (vsx_extract_<mode>_store_p9): Support extracting to GPRs so that we can use reg+offset address instructions. (vsx_extract_<mode>_var): Support extracts to GPRs. (vsx_extract_<VSX_EXTRACT_I:mode>_<SDI:mode>_var): New combiner insn to combine vector extracts with zero_extend. (vsx_ext_<VSX_EXTRACT_I:VS_scalar>_fl_<FL_CONV:mode>): Optimize extracting a small integer vector element and converting it to a floating point type. (vsx_ext_<VSX_EXTRACT_I:VS_scalar>_ufl_<FL_CONV:mode>): Likewise. (UNSPEC_XXEXTRACTUW): New unspec. (UNSPEC_XXINSERTW): Likewise. (vextract4b): Add support for the vec_vextract4b built-in function. (vextract4b_internal): Likewise. (vinsert4b): Add support for the vec_insert4b built-in function. Include both a version that inserts element 1 from a V4SI object and one that inserts a DI object. (vinsert4b_internal): Likewise. (vinsert4b_di): Likewise. (vinsert4b_di_internal): Likewise. * config/rs6000/predicates.md (const_0_to_11_operand): New predicate, match 0..11. * config/rs6000/rs6000-builtin.def (BU_P9V_VSX_3): Set built-in type to ternary, not binary. (BU_P9V_64BIT_VSX_3): Likewise. (P9V_BUILTIN_VEXTRACT4B): Add support for vec_vinsert4b and vec_extract4b non-overloaded built-in functions. (P9V_BUILTIN_VINSERT4B): Likewise. (P9V_BUILTIN_VINSERT4B_DI): Likewise. (P9V_BUILTIN_VEC_VEXTULX): Move to section that adds 2 operand ISA 3.0 built-in functions. (P9V_BUILTIN_VEC_VEXTURX): Likewise. (P9V_BUILTIN_VEC_VEXTRACT4B): Add support for overloaded vec_insert4b and vec_extract4 built-in functions. (P9V_BUILTIN_VEC_VINSERT4B): Likewise. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded support for vec_vinsert4b and vec_extract4b. * config/rs6000/rs6000.c (altivec_expand_builtin): Add checks for the vec_insert4b and vec_extract4b byte number being a constant in the range 0..11. * config/rs6000/altivec.h (vec_vinsert4b): Support vec_vinsert4b and vec_extract4b built-in functions. * doc/extend.doc (PowerPC VSX built-in functions): Document vec_insert4b and vec_extract4b. [gcc/testsuite] 2016-12-14 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc/testsuite/gcc.target/powerpc/vec-extract.h: If DO_TRACE is defined, add tracing of the various extracts to stderr. Add support for tests that convert the result to another type. * gcc/testsuite/gcc.target/powerpc/vec-extract-v2df.c: Likewise. * gcc/testsuite/gcc.target/powerpc/vec-extract-v4sf.c: Likewise. * gcc/testsuite/gcc.target/powerpc/vec-extract-v4si-df.c: Add new tests that do an extract and then convert the values double. * gcc/testsuite/gcc.target/powerpc/vec-extract-v4siu-df.c: Likewise. * gcc/testsuite/gcc.target/powerpc/vec-extract-v16qiu-df.c: Likewise. * gcc/testsuite/gcc.target/powerpc/vec-extract-v16qi-df.c: Likewise. * gcc/testsuite/gcc.target/powerpc/vec-extract-v8hiu-df.c: Likewise. * gcc/testsuite/gcc.target/powerpc/vec-extract-v8hi-df.c: Likewise. * gcc.target/powerpc/p9-extract-1.c: Update test to check for VEXTU{B,H,W}{L,R}X instructions being generated by default instead of VEXTRACTU{B,H} and XXEXTRACTUW. * gcc.target/powerpc/p9-extract-3.c: New test for combination of vec_extract and convert to floating point. * gcc.target/powerpc/p9-vinsert4b-1.c: New test for vec_vinsert4b and vec_extract4b. * gcc.target/powerpc/p9-vinsert4b-2.c: Likewise. From-SVN: r243653
2016-12-14 17:08:07 +01:00
2016-12-14 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc/testsuite/gcc.target/powerpc/vec-extract.h: If DO_TRACE is
defined, add tracing of the various extracts to stderr. Add
support for tests that convert the result to another type.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v2df.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v4sf.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v4si-df.c: Add new
tests that do an extract and then convert the values double.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v4siu-df.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v16qiu-df.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v16qi-df.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v8hiu-df.c: Likewise.
* gcc/testsuite/gcc.target/powerpc/vec-extract-v8hi-df.c: Likewise.
* gcc.target/powerpc/p9-extract-1.c: Update test to check for
VEXTU{B,H,W}{L,R}X instructions being generated by default instead
of VEXTRACTU{B,H} and XXEXTRACTUW.
* gcc.target/powerpc/p9-extract-3.c: New test for combination of
vec_extract and convert to floating point.
* gcc.target/powerpc/p9-vinsert4b-1.c: New test for vec_vinsert4b
and vec_extract4b.
* gcc.target/powerpc/p9-vinsert4b-2.c: Likewise.
2016-12-14 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/mips16-attributes.c: Remove dg-skip-if for
-mmicromips.
2016-12-14 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78780
* gfortran.dg/coarray/alloc_comp_5.f90: New test.
* gfortran.dg/coarray_42.f90: New test.
2016-12-14 Jakub Jelinek <jakub@redhat.com>
PR target/78796
* gcc.dg/tls/pr78796.c: New test.
2016-12-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/78731
* gcc.dg/torture/pr78731.c: New testcase.
2016-12-14 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/20040703-1.c: Update scanned pattern.
* gcc.dg/tree-ssa/dump-2.c: Likewise.
2016-12-14 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/msa-builtins-err.c (dg-options): Add
-ffat-lto-objects option.
2016-12-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Jakub Jelinek <jakub@redhat.com>
* gcc.dg/strlenopt-30.c: New test-case.
2016-12-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/78788
* gcc.dg/torture/pr78788.c: New testcase.
2016-12-13 Nathan Sidwell <nathan@acm.org>
PR c++/69481
* g++.dg/cpp0x/pr69481.C: New.
2016-12-13 Uros Bizjak <ubizjak@gmail.com>
PR target/78794
* gcc.target/i386/pr78794.c: New test.
2016-12-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/77785
* gfortran.dg/coarray_38.f90: Added expecting error message.
* gfortran.dg/coarray_41.f90: New test.
* gfortran.dg/coarray_class_2.f90: New test.
2016-12-13 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-3.c: Add new test of the test suite
file.
* gcc.target/powerpc/builtins-3-p8.c: Add new test of the test suite
file.
2016-12-13 Martin Liska <mliska@suse.cz>
PR tree-optimization/78428
* gcc.dg/tree-ssa/pr78428.c: New test.
2016-12-13 Janus Weil <janus@gcc.gnu.org>
Paul Thomas <pault@gcc.gnu.org>
PR fortran/78737
* gfortran.dg/dtio_19.f90: New test case.
2016-12-13 Michael Matz <matz@suse.de>
PR tree-optimization/78725
* gcc.dg/pr78725.c: New test.
* gcc.dg/pr78725-2.c: New test.
2016-12-13 Richard Biener <rguenther@suse.de>
PR middle-end/78742
* gcc.dg/torture/pr78742.c: New testcase.
2016-12-13 Martin Liska <mliska@suse.cz>
* gcc.dg/asan/use-after-scope-goto-1.c: Update first argument of
scanned pattern ASAN_MARK.
* gcc.dg/asan/use-after-scope-goto-2.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-1.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-2.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-3.c: Likewise.
2016-12-13 Jakub Jelinek <jakub@redhat.com>
PR ipa/77905
* g++.dg/ipa/pr77905.C: New test.
2016-12-12 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/78777
* g++.dg/torture/pr78777.C: New test.
PR middle-end/78622 - -Wformat-length/-fprintf-return-value incorrect with overflow/wrapping gcc/ChangeLog: PR middle-end/78622 PR middle-end78606 * gimple-ssa-sprintf.c (min_bytes_remaining): Use res.knownrange rather than res.bounded. (get_width_and_precision): Set precision to -1 when negative. (adjust_range_for_overflow): New function. (format_integer): Correct the handling of the space, plus, and pound flags, and the special case of zero precision. Always set res.bounded to true unless either precision or width is specified and unknown. Call adjust_range_for_overflow. Avoid use zero as the shortest value when precision is specified but unknown. (format_directive): Remove vestigial quoting. Always inform of argument value or range when it's available. (add_bytes): Correct the computation of boundrange used to decide whether a warning is of a "maybe" or "defnitely" kind. gcc/testsuite/ChangeLog: PR middle-end/78622 PR middle-end78606 * gcc.c-torture/execute/pr78622.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-2.c: Remove "benign" undefined behavior inadvertently introduced in a previous commit. Tighten up final checking. * gcc.dg/tree-ssa/builtin-sprintf-5.c: Rename macros for clarity. Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-6.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-5.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Remove xfails and add a final optimization check. * gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases. * gcc.dg/tree-ssa/pr78622.c: New test. From-SVN: r243582
2016-12-12 22:56:22 +01:00
2016-12-12 Martin Sebor <msebor@redhat.com>
PR middle-end/78622
PR middle-end78606
* gcc.c-torture/execute/pr78622.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Remove "benign" undefined
behavior inadvertently introduced in a previous commit. Tighten
up final checking.
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Rename macros for clarity.
Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-6.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-5.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: Remove xfails and
add a final optimization check.
* gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases.
* gcc.dg/tree-ssa/pr78622.c: New test.
2016-12-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/78392
* gfortran.dg/constant_shape.f90: New test case.
2016-12-12 Marek Polacek <polacek@redhat.com>
PR c++/78647
* g++.dg/parse/error58.C: New.
re PR preprocessor/78680 (ICE in get_substring_ranges_for_loc, at input.c:1398) Fix for PR preprocessor/78680 PR preprocessor/78680 identifies a crash when attempting to issue a -Wformat warning, where the format string includes a string token split across multiple physical source lines via backslash-continued lines. The issue is that libcpp is generating bogus range information for such tokens. For example, in: void fn1() { __builtin_printf("\ %ld.\n\ 2\n"); }; the range of the string token is printed as: __builtin_printf("\ ^~ whereas the range ought to be: __builtin_printf("\ ^~ %ld.\n\ ~~~~~~~ 2\n"); }; ~~~~ The root cause is that the line notes expressing the update of the buffer in lex.c aren't yet updated when the end-point of the token is computed 3095 tok_range.m_finish 3096 = linemap_position_for_column (pfile->line_table, 3097 CPP_BUF_COLUMN (buffer, buffer->cur)); so that the physical line is still regarded as that of the start of the token, and, where CPP_BUF_COLUMN uses (BUF)->line_base, line_base is still the location of the first physical line in the and hence the column information is too large (as if it were the offset in the *logical* line). (the printed range is somewhat misleading; the actual buggy range extends beyond the "\ in the line, but within diagnostic-show-locus.c layout::print_annotation_line only prints up to the xbound set by layout::print_source_line and so truncates most of the buggy range). The fix is to ensure that line notes are handled before calculating the end-point of the token range. This leads to the range for the string token being correctly computed, as: __builtin_printf("\ ^~ %ld.\n\ ~~~~~~~ 2\n"); }; ~~~~ and this leads to get_substring_ranges_for_loc failing gracefully, rather than crashing. gcc/testsuite/ChangeLog: PR preprocessor/78680 * gcc.dg/format/pr78680.c: New test case. * gcc.dg/plugin/diagnostic-test-expressions-1.c (test_multiline_token): New function. * gcc.dg/plugin/diagnostic-test-string-literals-1.c (test_backslash_continued_logical_lines): New function. libcpp/ChangeLog: PR preprocessor/78680 * lex.c (_cpp_lex_direct): Ensure line notes are processed before computing the end-point of the token. From-SVN: r243567
2016-12-12 18:37:48 +01:00
2016-12-12 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/78680
* gcc.dg/format/pr78680.c: New test case.
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_multiline_token): New function.
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(test_backslash_continued_logical_lines): New function.
2016-12-12 Nathan Sidwell <nathan@acm.org>
PR c++/78252
* g++.dg/cpp1y/lambda-mangle-1.C: New.
2016-12-12 Uros Bizjak <ubizjak@gmail.com>
PR target/78738
* gcc.target/i386/pr78738.c: New test.
2016-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp
(check_effective_target_newlib_broken_long_double_io): New check.
(check_effective_target_frexpl): Likewise.
2016-12-12 Marek Polacek <polacek@redhat.com>
PR middle-end/78716
* g++.dg/other/vararg-5.C: New.
2016-12-12 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/78669
* gcc.target/i386/pr78669.c: New test.
2016-12-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/debug/dwarf2/typedef1.C: Adjust pattern for last change.
2016-12-12 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/mips.exp (mips-dg-options): Upgrade to R2 for
-mnan=2008 and -mabs=2008.
2016-12-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/78695
* gcc.target/powerpc/swaps-stack-protector.c: New test.
2016-12-11 Uros Bizjak <ubizjak@gmail.com>
PR target/70799
* gcc.target/i386/pr70799-3.c: New test.
2016-12-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/78637
* g++.dg/parse/namespace14.C: New.
2016-12-10 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/78720
* gcc.c-torture/execute/pr78720.c: New test.
PR fortran/78758
* gfortran.dg/pr78758.f90: New test.
* gfortran.dg/pr38868.f: Remove again bogus warning.
2016-12-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/77903
* gfortran.dg/submodule_20.f08: New test.
2016-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR testsuite/78740
* gcc.target/powerpc/pr78691-ppc.c: Remove -m32.
2016-12-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/fold-vec-add-7.c: Require effective target to
support __int128.
2016-12-09 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/78721
* gcc.dg/pr78721.c: New test.
2016-12-09 Jakub Jelinek <jakub@redhat.com>
PR target/72742
* gcc.c-torture/compile/pr72742.c: New test.
2016-12-09 Martin Sebor <msebor@redhat.com>
* gcc.dg/attr-alloc_size-3.c: Avoid false positives and negatives
on arm-unknown-linux-gnueabi (and likely other ILP32) targets.
2016-12-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
PR rtl-optimization/78255
* gcc.target/aarch64/pr78255.c: New.
* gcc.target/arm/pr78255-1.c: New.
* gcc.target/arm/pr78255-2.c: New.
2016-12-09 Will Schmidt <will_schmidt@vnet.ibm.com>
* gcc.target/powerpc/dimode-1.c: Update syntax on scan-assembler
strings
* gcc.target/powerpc/dimode-2.c: Likewise.
2016-12-09 Cesar Philippidis <cesar@codesourcery.com>
PR ipa/78027
* c-c++-common/goacc/acc-icf.c: New test.
* gfortran.dg/goacc/pr78027.f90: New test.
2015-12-09 Wilco Dijkstra <wdijkstr@arm.com>
PR target/78733
* gcc.target/aarch64/pr78733.c: New test.
2016-12-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/61767
* gfortran.dg/finalize_31.f90: New test.
2016-12-09 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78505
* gfortran.dg/coarray_alloc_with_implicit_sync_1.f90: New test.
trans-array.c (gfc_array_deallocate): Remove wrapper. gcc/fortran/ChangeLog: 2016-12-09 Andre Vehreschild <vehre@gcc.gnu.org> * trans-array.c (gfc_array_deallocate): Remove wrapper. (gfc_trans_dealloc_allocated): Same. (structure_alloc_comps): Restructure deallocation of (nested) allocatable components. Insert dealloc of sub-component into the block guarded by the if != NULL for the component. (gfc_trans_deferred_array): Use the almightly deallocate_with_status. * trans-array.h: Remove prototypes. * trans-expr.c (gfc_conv_procedure_call): Use the almighty deallocate_ with_status. * trans-openmp.c (gfc_walk_alloc_comps): Likewise. (gfc_omp_clause_assign_op): Likewise. (gfc_omp_clause_dtor): Likewise. * trans-stmt.c (gfc_trans_deallocate): Likewise. * trans.c (gfc_deallocate_with_status): Allow deallocation of scalar and arrays as well as coarrays. (gfc_deallocate_scalar_with_status): Get the data member for coarrays only when freeing an array with descriptor. And set correct caf_mode when freeing components of coarrays. * trans.h: Change prototype of gfc_deallocate_with_status to allow adding statements into the block guarded by the if (pointer != 0) and supply a coarray handle. gcc/testsuite/ChangeLog: 2016-12-09 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_alloc_comp_3.f08: New test. * gfortran.dg/coarray_alloc_comp_4.f08: New test. * gfortran.dg/finalize_18.f90: Add count for additional guard against accessing null-pointer. * gfortran.dg/proc_ptr_comp_47.f90: New test. From-SVN: r243480
2016-12-09 13:32:50 +01:00
2016-12-09 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_alloc_comp_3.f08: New test.
* gfortran.dg/coarray_alloc_comp_4.f08: New test.
* gfortran.dg/finalize_18.f90: Add count for additional guard against
accessing null-pointer.
* gfortran.dg/proc_ptr_comp_47.f90: New test.
2016-12-09 Nathan Sidwell <nathan@acm.org>
PR c++/78550
* g++.dg/cpp1y/pr78550.C: New.
2016-12-09 Paul Thomas <pault@gcc.gnu.org>
PR fortran/44265
* gfortran.dg/char_result_14.f90: New test.
* gfortran.dg/char_result_15.f90: New test.
2016-12-09 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/dump-3.c: New test.
2016-12-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/78726
* gcc.c-torture/execute/pr78726.c: New test.
* gcc.dg/guality/pr78726.c: New test.
PR c/77531 - __attribute__((alloc_size(1,2))) could also warn on multiplication overflow PR c/77531 - __attribute__((alloc_size(1,2))) could also warn on multiplication overflow PR c/78284 - warn on malloc with very large arguments gcc/c-family/ChangeLog: PR c/78284 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options. gcc/ChangeLog: PR c/78284 * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New identifier tree nodes. (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list. (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same. (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same. (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same. (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same. * builtins.c (expand_builtin_alloca): Call maybe_warn_alloc_args_overflow. * builtins.def (aligned_alloc, calloc, malloc, realloc): Add attribute alloc_size. (alloca): Add attribute alloc_size and returns_nonnull. * calls.h (maybe_warn_alloc_args_overflow): Declare. * calls.c (alloc_max_size, operand_signed_p): New functions. (maybe_warn_alloc_args_overflow): Define. (initialize_argument_information): Diagnose overflow in functions declared with attaribute alloc_size. * doc/invoke.texi (Warning Options): Document -Walloc-zero and -Walloc-size-larger-than. gcc/testsuite/ChangeLog: PR c/78284 * gcc.dg/attr-alloc_size-3.c: New test. * gcc.dg/attr-alloc_size-4.c: New test. * gcc.dg/attr-alloc_size-5.c: New test. * gcc.dg/attr-alloc_size-6.c: New test. * gcc.dg/attr-alloc_size-7.c: New test. * gcc.dg/attr-alloc_size-8.c: New test. * gcc.dg/attr-alloc_size-9.c: New test. * gcc/testsuite/gcc.dg/errno-1.c: Adjust. From-SVN: r243470
2016-12-09 00:50:40 +01:00
2016-12-08 Martin Sebor <msebor@redhat.com>
PR c/78284
* gcc.dg/attr-alloc_size-3.c: New test.
* gcc.dg/attr-alloc_size-4.c: New test.
* gcc.dg/attr-alloc_size-5.c: New test.
* gcc.dg/attr-alloc_size-6.c: New test.
* gcc.dg/attr-alloc_size-7.c: New test.
* gcc.dg/attr-alloc_size-8.c: New test.
* gcc.dg/attr-alloc_size-9.c: New test.
* gcc/testsuite/gcc.dg/errno-1.c: Adjust.
2016-12-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/65173
PR fortran/69064
PR fortran/69859
PR fortran/78350
* gfortran.dg/misplaced_implicit_character.f90: Adjust errors.
* gfortran.dg/charlen_01.f90: New test.
* gfortran.dg/charlen_02.f90: Ditto.
* gfortran.dg/charlen_03.f90: Ditto.
* gfortran.dg/charlen_04.f90: Ditto.
* gfortran.dg/charlen_05.f90: Ditto.
* gfortran.dg/charlen_06.f90: Ditto.
* gfortran.dg/charlen_07.f90: Ditto.
* gfortran.dg/charlen_08.f90: Ditto.
* gfortran.dg/charlen_09.f90: Ditto.
* gfortran.dg/charlen_10.f90: Ditto.
* gfortran.dg/charlen_11.f90: Ditto.
* gfortran.dg/charlen_12.f90: Ditto.
* gfortran.dg/charlen_13.f90: Ditto.
* gfortran.dg/charlen_14.f90: Ditto.
* gfortran.dg/charlen_15.f90: Ditto.
2016-12-08 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/78671
* gcc.target/i386/pr78671.c: New.
2015-12-08 Wilco Dijkstra <wdijkstr@arm.com>
PR target/78733
* gcc.target/aarch64/pr78733.c: New test.
2016-12-08 Nathan Sidwell <nathan@acm.org>
PR c++/78551
* g++.dg/cpp1y/pr78551.C: New.
2016-12-08 Pierre-Marie de Rodat <derodat@adacore.com>
PR debug/78112
* g++.dg/pr78112.C: Remove platform-dependent checks.
* g++.dg/pr78112-2.C: New testcase.
2016-12-08 Bin Cheng <bin.cheng@arm.com>
PR middle-end/78684
* g++.dg/torture/pr78684.C: New test.
2016-12-08 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
(CHECK_CRYPTO): Remove.
(expected_poly64x1_t, expected_poly64x2_t): Remove
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
2016-12-08 Jakub Jelinek <jakub@redhat.com>
P0003R5 - removal of dynamic exception specification from C++17
* g++.dg/compat/eh/ctor1.h: Adjust for deprecation of
throw (type-id-list) in C++11 and C++14 and removal in C++17.
* g++.dg/compat/eh/ctor1_y.C: Likewise.
* g++.dg/compat/eh/new1_x.C: Likewise.
* g++.dg/compat/eh/new1_y.C: Likewise.
* g++.dg/compat/eh/spec3_x.C: Likewise.
* g++.dg/compat/eh/spec3_y.C: Likewise.
* g++.dg/compat/eh/template1.h: Likewise.
* g++.dg/compat/eh/template1_y.C: Likewise.
* g++.dg/compat/eh/unexpected1_x.C: Likewise.
* g++.dg/compat/eh/unexpected1_y.C: Likewise.
* g++.dg/cpp0x/auto9.C: Likewise.
* g++.dg/cpp0x/defaulted23.C: Likewise.
* g++.dg/cpp0x/error5.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise.
* g++.dg/cpp0x/noexcept02.C: Likewise.
* g++.dg/cpp0x/noexcept07.C: Likewise.
* g++.dg/cpp0x/noexcept08.C: Likewise.
* g++.dg/cpp0x/noexcept19.C: Likewise.
* g++.dg/cpp0x/variadic73.C: Likewise.
* g++.dg/cpp0x/variadic-throw.C: Likewise.
* g++.dg/cpp1z/noexcept-type1.C: Likewise.
* g++.dg/eh/async-unwind2.C: Likewise.
* g++.dg/eh/cond4.C: Likewise.
* g++.dg/eh/delete1.C: Likewise.
* g++.dg/eh/ehopt1.C: Likewise.
* g++.dg/eh/forced3.C: Likewise.
* g++.dg/eh/forced4.C: Likewise.
* g++.dg/eh/init-temp2.C: Likewise.
* g++.dg/eh/pr38662.C: Likewise.
* g++.dg/eh/pr41819.C: Likewise.
* g++.dg/eh/shadow1.C: Likewise.
* g++.dg/eh/spec2.C: Likewise.
* g++.dg/eh/spec3.C: Likewise.
* g++.dg/eh/spec5.C: Likewise.
* g++.dg/eh/spec6.C: Likewise.
* g++.dg/eh/spec7.C: Likewise.
* g++.dg/eh/spec8.C: Likewise.
* g++.dg/eh/spec9.C: Likewise.
* g++.dg/eh/template1.C: Likewise.
* g++.dg/eh/unexpected1.C: Likewise.
* g++.dg/ext/has_nothrow_assign.C: Likewise.
* g++.dg/ext/has_nothrow_constructor.C: Likewise.
* g++.dg/ext/has_nothrow_copy-1.C: Likewise.
* g++.dg/ext/has_nothrow_copy-2.C: Likewise.
* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
* g++.dg/gcov/gcov-7.C: Likewise.
* g++.dg/init/new13.C: Likewise.
* g++.dg/init/new25.C: Likewise.
* g++.dg/lookup/exception1.C: Likewise.
* g++.dg/opt/noreturn-1.C: Likewise.
* g++.dg/other/error3.C: Likewise.
* g++.dg/rtti/crash3.C: Likewise.
* g++.dg/template/eh2.C: Likewise.
* g++.dg/template/error36.C: Likewise.
* g++.dg/tm/pr46567.C: Likewise.
* g++.dg/tm/pr47340.C: Likewise.
* g++.dg/torture/pr46364.C: Likewise.
* g++.dg/torture/pr49394.C: Likewise.
* g++.dg/torture/pr52918-1.C: Likewise.
* g++.dg/torture/pr57190.C: Likewise.
* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
* g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
* g++.dg/tree-ssa/pr45605.C: Likewise.
* g++.dg/warn/Wreturn-type-3.C: Likewise.
* g++.old-deja/g++.eh/badalloc1.C: Likewise.
* g++.old-deja/g++.eh/cleanup2.C: Likewise.
* g++.old-deja/g++.eh/spec1.C: Likewise.
* g++.old-deja/g++.eh/spec2.C: Likewise.
* g++.old-deja/g++.eh/spec3.C: Likewise.
* g++.old-deja/g++.eh/spec4.C: Likewise.
* g++.old-deja/g++.eh/spec6.C: Likewise.
* g++.old-deja/g++.eh/throw1.C: Likewise.
* g++.old-deja/g++.eh/throw2.C: Likewise.
* g++.old-deja/g++.eh/tmpl1.C: Likewise.
* g++.old-deja/g++.eh/tmpl3.C: Likewise.
* g++.old-deja/g++.mike/eh15.C: Likewise.
* g++.old-deja/g++.mike/eh25.C: Likewise.
* g++.old-deja/g++.mike/eh33.C: Likewise.
* g++.old-deja/g++.mike/eh34.C: Likewise.
* g++.old-deja/g++.mike/eh50.C: Likewise.
* g++.old-deja/g++.mike/eh51.C: Likewise.
* g++.old-deja/g++.mike/eh55.C: Likewise.
* g++.old-deja/g++.mike/p10416.C: Likewise.
* g++.old-deja/g++.other/crash28.C: Likewise.
* g++.old-deja/g++.other/crash30.C: Likewise.
* g++.old-deja/g++.other/new7.C: Likewise.
* g++.old-deja/g++.pt/ehspec1.C: Likewise.
* g++.old-deja/g++.robertl/eb123.C: Likewise.
2016-12-08 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gcc.target/aarch64/pr78382.c: New testcase.
2016-12-08 Andrew Pinski <apinski@cavium.com>
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gcc.target/aarch64/pr71112.c: New testcase.
PR c/53562 - Add -Werror= support for -D_FORTIFY_SOURCE / __builtin___memcpy_chk PR c/53562 - Add -Werror= support for -D_FORTIFY_SOURCE / __builtin___memcpy_chk PR middle-end/77784 - duplicate warning for snprintf when n > object size PR middle-end/78149 - missing warning on strncpy buffer overflow due to an excessive bound PR middle-end/78138 - missing warnings on buffer overflow with non-constant source length gcc/c-family/ChangeLog: PR c/53562 PR middle-end/77784 PR middle-end/78149 PR middle-end/78138 * c.opt (-Wstringop-overflow): New option. gcc/ChangeLog: PR middle-end/77784 PR middle-end/78149 PR middle-end/78138 * builtins.c (expand_builtin_strcat, expand_builtin_strncat): New functions. (compute_dest_size, get_size_range, check_sizes, check_strncat_sizes) (check_memop_sizes): Same. (expand_builtin_memcpy): Call check memop_sizes. (expand_builtin_mempcpy): Same. (expand_builtin_memset): Same, (expand_builtin_bzero): Same. (expand_builtin_memory_chk): Call check_sizes. (expand_builtin_strcpy): Same. (expand_builtin_strncpy): Same. (maybe_emit_sprintf_chk_warning): Same. (expand_builtin): Handle strcat and strncat. (fini_object_sizes): Reset pointers. (compute_object_size): New function. * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid issuing warnings also issued during built-in expansion. * doc/invoke.texi (Warning Options): Document -Wstringop-overflow. gcc/testsuite/ChangeLog: PR middle-end/77784 PR middle-end/78149 PR middle-end/78138 * c-c++-common/Wsizeof-pointer-memaccess2.c: Adjust expected diagnostic. * g++.dg/ext/builtin-object-size3.C (bar): Same. * g++.dg/ext/strncpy-chk1.C: Same. * g++.dg/opt/memcpy1.C: Same. * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Same. * gcc.c-torture/compile/pr55569.c: Disable -Wstringop-overflow. * gcc.dg/Wobjsize-1.c: Adjust expected diagnostic. * gcc.dg/attr-alloc_size.c: Same. * gcc.dg/builtin-stringop-chk-1.c: Adjust expected diagnostic. * gcc.dg/builtin-stringop-chk-2.c: Same. * gcc.dg/builtin-stringop-chk-4.c: New test. * gcc.dg/builtin-strncat-chk-1.c: Adjust expected diagnostic. * gcc.dg/memcpy-2.c: Same. * gcc.dg/pr40340-1.c: Same. * gcc.dg/pr40340-2.c (main): Same. * gcc.dg/pr40340-5.c (main): Same. * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Same. * gcc.dg/torture/pr71132.c: Disable -Wstringop-overflow. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust text of expected warning. * gfortran.dg/char_length_3.f90: Prune expected warnings. * gfortran.dg/pr38868.f: Add expected warnings. From-SVN: r243419
2016-12-08 01:01:33 +01:00
2016-12-07 Martin Sebor <msebor@redhat.com>
PR middle-end/77784
PR middle-end/78149
PR middle-end/78138
* c-c++-common/Wsizeof-pointer-memaccess2.c: Adjust expected diagnostic.
* g++.dg/ext/builtin-object-size3.C (bar): Same.
* g++.dg/ext/strncpy-chk1.C: Same.
* g++.dg/opt/memcpy1.C: Same.
* g++.dg/torture/Wsizeof-pointer-memaccess1.C: Same.
* gcc.c-torture/compile/pr55569.c: Disable -Wstringop-overflow.
* gcc.dg/Wobjsize-1.c: Adjust expected diagnostic.
* gcc.dg/attr-alloc_size.c: Same.
* gcc.dg/builtin-stringop-chk-1.c: Adjust expected diagnostic.
* gcc.dg/builtin-stringop-chk-2.c: Same.
* gcc.dg/builtin-stringop-chk-4.c: New test.
* gcc.dg/builtin-strncat-chk-1.c: Adjust expected diagnostic.
* gcc.dg/memcpy-2.c: Same.
* gcc.dg/pr40340-1.c: Same.
* gcc.dg/pr40340-2.c (main): Same.
* gcc.dg/pr40340-5.c (main): Same.
* gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Same.
* gcc.dg/torture/pr71132.c: Disable -Wstringop-overflow.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust text of expected
warning.
* gfortran.dg/char_length_3.f90: Prune expected warnings.
* gfortran.dg/pr38868.f: Add expected warnings.
2016-12-07 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/72717
* gcc.target/powerpc/pr72717.c: New test.
2016-12-07 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/builtin-strstr-1.c: New test.
* g++.dg/cpp0x/constexpr-strstr.C: New test.
PR c++/78692
* g++.dg/torture/pr78692.C: New test.
2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR rtl-optimization/78617
* gcc.c-torture/execute/pr78617.c: New test.
2016-12-07 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-3.c: Move built-in tests for P8 and
P9 to their own test file. This allows precise constraints on the
effective target and compile options.
* gcc.target/powerpc/builtins-3-p8.c: New file for the vector
compare P8 built-in tests.
* gcc.target/powerpc/builtins-3-p9.c: New file for the vector
compare P9 built-in tests.
2016-12-07 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/pr77761.c: Require int128 effective target.
(avx512f_test): Delete.
(do_main): Rename to avx512f_test.
2016-12-07 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/78691
* gcc.target/i386/pr78691-i386.c: New test.
* gcc.target/powerpc/pr78691-ppc.c: New test.
2016-12-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.target/i386/pr70322-1.c: Add -mno-stackrealign to dg-options.
* gcc.target/i386/pr70322-2.c: Likewise.
* gcc.target/i386/pr70322-3.c: Likewise.
* gcc.target/i386/pr70322-4.c: Likewise.
2016-12-07 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gcc.target/aarch64/pr71727.c: New testcase.
2016-12-06 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/67955
* gcc.dg/tree-ssa/dse-points-to.c: New test.
2016-12-06 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78658
* gcc.target/powerpc/pr78658.c: New test.
2016-12-06 Vladimir Makarov <vmakarov@redhat.com>
PR target/77761
* testsuite/gcc.target/i386/pr77761.c: New.
2016-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/78659
* gfortran.dg/alloc_comp_constraint_1.f90: Update test.
* gfortran.dg/alloc_comp_constraint_7.f90: New test.
* gfortran.dg/namelist_34.f90: Update test.
* gfortran.dg/namelist_63.f90: Update test.
2016-12-06 Robert Suchanek <robert.suchanek@imgtec.com>
* gcc.target/mips/msa-builtins-err.c: New test.
2016-12-06 Jakub Jelinek <jakub@redhat.com>
PR c++/71537
* g++.dg/cpp0x/constexpr-71537.C: New test.
PR c++/71537
* g++.dg/cpp0x/constexpr-memchr.C: New test.
PR c++/71537
* g++.dg/cpp0x/constexpr-strchr.C: New test.
PR tree-optimization/78675
* gcc.c-torture/execute/pr78675.c: New test.
* gcc.target/i386/pr78675-1.c: New test.
* gcc.target/i386/pr78675-2.c: New test.
Add AVX512 k-mask intrinsics gcc/ 2016-12-05 Andrew Senkevich <andrew.senkevich@intel.com> * config/i386/avx512bwintrin.h: Add new k-mask intrinsics. * config/i386/avx512dqintrin.h: Ditto. * config/i386/avx512fintrin.h: Ditto. * config/i386/i386-builtin-types.def (UCHAR_FTYPE_UQI_UQI_PUCHAR, UCHAR_FTYPE_UHI_UHI_PUCHAR, UCHAR_FTYPE_USI_USI_PUCHAR, UCHAR_FTYPE_UDI_UDI_PUCHAR, UCHAR_FTYPE_UQI_UQI, UCHAR_FTYPE_UHI_UHI, UCHAR_FTYPE_USI_USI, UCHAR_FTYPE_UDI_UDI, UQI_FTYPE_UQI_INT, UHI_FTYPE_UHI_INT, USI_FTYPE_USI_INT, UDI_FTYPE_UDI_INT, UQI_FTYPE_UQI, USI_FTYPE_USI, UDI_FTYPE_UDI, UQI_FTYPE_UQI_UQI): New function types. * config/i386/i386-builtin.def (__builtin_ia32_knotqi, __builtin_ia32_knotsi, __builtin_ia32_knotdi, __builtin_ia32_korqi, __builtin_ia32_korsi, __builtin_ia32_kordi, __builtin_ia32_kxnorqi, __builtin_ia32_kxnorsi, __builtin_ia32_kxnordi, __builtin_ia32_kxorqi, __builtin_ia32_kxorsi, __builtin_ia32_kxordi, __builtin_ia32_kandqi, __builtin_ia32_kandsi, __builtin_ia32_kanddi, __builtin_ia32_kandnqi, __builtin_ia32_kandnsi, __builtin_ia32_kandndi): New. * config/i386/i386.c (ix86_expand_args_builtin): Handle new types. gcc/testsuite/ 2016-12-05 Andrew Senkevich <andrew.senkevich@intel.com> * gcc.target/i386/avx512bw-kandd-1.c: New. * gcc.target/i386/avx512bw-kandnd-1.c: Ditto. * gcc.target/i386/avx512bw-kandnq-1.c: Ditto. * gcc.target/i386/avx512bw-kandq-1.c: Ditto. * gcc.target/i386/avx512bw-knotd-1.c: Ditto. * gcc.target/i386/avx512bw-knotq-1.c: Ditto. * gcc.target/i386/avx512bw-kord-1.c: Ditto. * gcc.target/i386/avx512bw-korq-1.c: Ditto. * gcc.target/i386/avx512bw-kunpckdq-3.c: Ditto. * gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto. * gcc.target/i386/avx512bw-kxnord-1.c: Ditto. * gcc.target/i386/avx512bw-kxnorq-1.c: Ditto. * gcc.target/i386/avx512bw-kxord-1.c: Ditto. * gcc.target/i386/avx512bw-kxorq-1.c: Ditto. * gcc.target/i386/avx512dq-kandb-1.c: Ditto. * gcc.target/i386/avx512dq-kandnb-1.c: Ditto. * gcc.target/i386/avx512dq-knotb-1.c: Ditto. * gcc.target/i386/avx512dq-korb-1.c: Ditto. * gcc.target/i386/avx512dq-kxnorb-1.c: Ditto. * gcc.target/i386/avx512dq-kxorb-1.c: Ditto. * gcc.target/i386/avx512f-kunpckbw-3.c: Ditto. * gcc.target/i386/avx512f-kandnw-1.c: Removed unneeded check. From-SVN: r243265
2016-12-05 18:18:42 +01:00
2016-12-05 Andrew Senkevich <andrew.senkevich@intel.com>
* gcc.target/i386/avx512bw-kandd-1.c: New.
* gcc.target/i386/avx512bw-kandnd-1.c: Ditto.
* gcc.target/i386/avx512bw-kandnq-1.c: Ditto.
* gcc.target/i386/avx512bw-kandq-1.c: Ditto.
* gcc.target/i386/avx512bw-knotd-1.c: Ditto.
* gcc.target/i386/avx512bw-knotq-1.c: Ditto.
* gcc.target/i386/avx512bw-kord-1.c: Ditto.
* gcc.target/i386/avx512bw-korq-1.c: Ditto.
* gcc.target/i386/avx512bw-kunpckdq-3.c: Ditto.
* gcc.target/i386/avx512bw-kunpckwd-3.c: Ditto.
* gcc.target/i386/avx512bw-kxnord-1.c: Ditto.
* gcc.target/i386/avx512bw-kxnorq-1.c: Ditto.
* gcc.target/i386/avx512bw-kxord-1.c: Ditto.
* gcc.target/i386/avx512bw-kxorq-1.c: Ditto.
* gcc.target/i386/avx512dq-kandb-1.c: Ditto.
* gcc.target/i386/avx512dq-kandnb-1.c: Ditto.
* gcc.target/i386/avx512dq-knotb-1.c: Ditto.
* gcc.target/i386/avx512dq-korb-1.c: Ditto.
* gcc.target/i386/avx512dq-kxnorb-1.c: Ditto.
* gcc.target/i386/avx512dq-kxorb-1.c: Ditto.
* gcc.target/i386/avx512f-kunpckbw-3.c: Ditto.
* gcc.target/i386/avx512f-kandnw-1.c: Removed unneeded check.
2016-12-05 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/fold-and-lshift.c, gcc.dg/fold-and-rshift-1.c,
gcc.dg/fold-and-rshift-2.c: New testcases.
2016-12-05 Nathan Sidwell <nathan@acm.org>
* c-c++-common/fmax_errors.c: Check notes after last error are
emitted.
2016-12-04 James Greenhalgh <james.greenhalgh@arm.com>
PR rtl-optimization/78561
* gcc.target/aarch64/pr78561.c: Add missing testcase from r243183.
2016-12-04 Martin Sebor <msebor@redhat.com>
PR c/78668
* gcc.dg/builtin-alloc-size.c: New test.
2016-12-04 Uros Bizjak <ubizjak@gmail.com>
PR target/70322
* gcc.target/i386/pr70322-4.c: New test.
2016-12-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/43207
* gfortran.dg/abstract_type_9.f90: New test case.
2016-12-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/42188
* gfortran.dg/derived_result_2.f90.f90: New test case.
2016-12-03 Janus Weil <janus@gcc.gnu.org>
PR fortran/58175
* gfortran.dg/finalize_30.f90: Extend test case.
2016-12-02 Jakub Jelinek <jakub@redhat.com>
PR c++/78649
* g++.dg/cpp0x/pr78649.C: New test.
2016-12-02 Uros Bizjak <ubizjak@gmail.com>
PR target/70322
* gcc.target/i386/pr70322-2.c (dg-final): Remove xfail.
2016-12-02 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78618
* gfortran.dg/char_conversion.f90: New test.
2016-12-02 Jakub Jelinek <jakub@redhat.com>
PR target/70322
* gcc.target/i386/pr70322-1.c: New test.
* gcc.target/i386/pr70322-2.c: New test.
* gcc.target/i386/pr70322-3.c: New test.
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse-1.c: Add test for
cmse_nonsecure_caller.
ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call gcc/ChangeLog: 2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> * config/arm/arm.c (detect_cmse_nonsecure_call): New. (cmse_nonsecure_call_clear_caller_saved): New. (arm_reorg): Use cmse_nonsecure_call_clear_caller_saved. (arm_function_ok_for_sibcall): Disable sibcalls for cmse_nonsecure_call. * config/arm/arm-protos.h (detect_cmse_nonsecure_call): New. * config/arm/arm.md (call): Handle cmse_nonsecure_entry. (call_value): Likewise. (nonsecure_call_internal): New. (nonsecure_call_value_internal): New. * config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New. (*nonsecure_call_value_reg_thumb1_v5): New. * config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New. (*nonsecure_call_value_reg_thumb2): New. * config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New. libgcc/ChangeLog: 2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> * config/arm/cmse_nonsecure_call.S: New. * config/arm/t-arm: Compile cmse_nonsecure_call.S gcc/testsuite/ChangeLog: 2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> * gcc.target/arm/cmse/cmse.exp: Run tests in mainline dir. * gcc.target/arm/cmse/cmse-9.c: Added some extra tests. * gcc.target/arm/cmse/cmse-14.c: New. * gcc.target/arm/cmse/baseline/bitfield-4.c: New. * gcc.target/arm/cmse/baseline/bitfield-5.c: New. * gcc.target/arm/cmse/baseline/bitfield-6.c: New. * gcc.target/arm/cmse/baseline/bitfield-7.c: New. * gcc.target/arm/cmse/baseline/bitfield-8.c: New. * gcc.target/arm/cmse/baseline/bitfield-9.c: New. * gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: New. * gcc.target/arm/cmse/baseline/cmse-11.c: New. * gcc.target/arm/cmse/baseline/cmse-13.c: New. * gcc.target/arm/cmse/baseline/cmse-6.c: New. * gcc.target/arm/cmse/baseline/union-1.c: New. * gcc.target/arm/cmse/baseline/union-2.c: New. * gcc.target/arm/cmse/mainline/bitfield-4.c: New. * gcc.target/arm/cmse/mainline/bitfield-5.c: New. * gcc.target/arm/cmse/mainline/bitfield-6.c: New. * gcc.target/arm/cmse/mainline/bitfield-7.c: New. * gcc.target/arm/cmse/mainline/bitfield-8.c: New. * gcc.target/arm/cmse/mainline/bitfield-9.c: New. * gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: New. * gcc.target/arm/cmse/mainline/union-1.c: New. * gcc.target/arm/cmse/mainline/union-2.c: New. * gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: New. * gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: New. * gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: New. * gcc.target/arm/cmse/mainline/hard/cmse-13.c: New. * gcc.target/arm/cmse/mainline/hard/cmse-7.c: New. * gcc.target/arm/cmse/mainline/hard/cmse-8.c: New. * gcc.target/arm/cmse/mainline/soft/cmse-13.c: New. * gcc.target/arm/cmse/mainline/soft/cmse-7.c: New. * gcc.target/arm/cmse/mainline/soft/cmse-8.c: New. * gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: New. * gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: New. * gcc.target/arm/cmse/mainline/softfp/cmse-13.c: New. * gcc.target/arm/cmse/mainline/softfp/cmse-7.c: New. * gcc.target/arm/cmse/mainline/softfp/cmse-8.c: New. Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com> From-SVN: r243192
2016-12-02 16:33:26 +01:00
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse.exp: Run tests in mainline dir.
* gcc.target/arm/cmse/cmse-9.c: Added some extra tests.
* gcc.target/arm/cmse/cmse-14.c: New.
* gcc.target/arm/cmse/baseline/bitfield-4.c: New.
* gcc.target/arm/cmse/baseline/bitfield-5.c: New.
* gcc.target/arm/cmse/baseline/bitfield-6.c: New.
* gcc.target/arm/cmse/baseline/bitfield-7.c: New.
* gcc.target/arm/cmse/baseline/bitfield-8.c: New.
* gcc.target/arm/cmse/baseline/bitfield-9.c: New.
* gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: New.
* gcc.target/arm/cmse/baseline/cmse-11.c: New.
* gcc.target/arm/cmse/baseline/cmse-13.c: New.
* gcc.target/arm/cmse/baseline/cmse-6.c: New.
* gcc.target/arm/cmse/baseline/union-1.c: New.
* gcc.target/arm/cmse/baseline/union-2.c: New.
* gcc.target/arm/cmse/mainline/bitfield-4.c: New.
* gcc.target/arm/cmse/mainline/bitfield-5.c: New.
* gcc.target/arm/cmse/mainline/bitfield-6.c: New.
* gcc.target/arm/cmse/mainline/bitfield-7.c: New.
* gcc.target/arm/cmse/mainline/bitfield-8.c: New.
* gcc.target/arm/cmse/mainline/bitfield-9.c: New.
* gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: New.
* gcc.target/arm/cmse/mainline/union-1.c: New.
* gcc.target/arm/cmse/mainline/union-2.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-13.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-7.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-8.c: New.
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse-3.c: Add tests.
* gcc.target/arm/cmse/cmse-4.c: Add tests.
* gcc.target/arm/cmse/cmse-15.c: New.
ARMv8-M Security Extension's cmse_nonsecure_entry: clear registers gcc/ChangeLog: 2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> * config/arm/arm.c (output_return_instruction): Clear registers. (thumb2_expand_return): Likewise. (thumb1_expand_epilogue): Likewise. (thumb_exit): Likewise. (arm_expand_epilogue): Likewise. (cmse_nonsecure_entry_clear_before_return): New. (comp_not_to_clear_mask_str_un): New. (compute_not_to_clear_mask): New. * config/arm/thumb1.md (*epilogue_insns): Change length attribute. * config/arm/thumb2.md (*thumb2_return): Disable for cmse_nonsecure_entry functions. (*thumb2_cmse_entry_return): Duplicate thumb2_return pattern for cmse_nonsecure_entry functions. gcc/testsuite/ChangeLog: 2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> * gcc.target/arm/cmse/cmse.exp: Test different multilibs separate. * gcc.target/arm/cmse/struct-1.c: New. * gcc.target/arm/cmse/bitfield-1.c: New. * gcc.target/arm/cmse/bitfield-2.c: New. * gcc.target/arm/cmse/bitfield-3.c: New. * gcc.target/arm/cmse/baseline/cmse-2.c: New. * gcc.target/arm/cmse/baseline/softfp.c: New. * gcc.target/arm/cmse/mainline/soft/cmse-5.c: New. * gcc.target/arm/cmse/mainline/hard/cmse-5.c: New. * gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: New. * gcc.target/arm/cmse/mainline/softfp/cmse-5.c: New. * gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: New. Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com> From-SVN: r243190
2016-12-02 16:29:03 +01:00
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse.exp: Test different multilibs separate.
* gcc.target/arm/cmse/struct-1.c: New.
* gcc.target/arm/cmse/bitfield-1.c: New.
* gcc.target/arm/cmse/bitfield-2.c: New.
* gcc.target/arm/cmse/bitfield-3.c: New.
* gcc.target/arm/cmse/baseline/cmse-2.c: New.
* gcc.target/arm/cmse/baseline/softfp.c: New.
* gcc.target/arm/cmse/mainline/soft/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/hard/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/softfp/cmse-5.c: New.
* gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: New.
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse-4.c: New.
* gcc.target/arm/cmse/cmse-9.c: New.
* gcc.target/arm/cmse/cmse-10.c: New.
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse-3.c: New.
2016-12-02 Andre Vieira <andre.simoesdiasvieira@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/cmse/cmse.exp: New.
* gcc.target/arm/cmse/cmse-1.c: New.
* gcc.target/arm/cmse/cmse-12.c: New.
* lib/target-supports.exp
(check_effective_target_arm_cmse_ok): New.
2016-12-02 Cesar Philippidis <cesar@codesourcery.com>
James Norris <jnorris@codesourcery.com>
* c-c++-common/goacc/data-2.c: Adjust test.
* c-c++-common/goacc/executeables-1.c: New test.
* g++.dg/goacc/data-1.C: Adjust test.
2016-12-02 James Greenhalgh <james.greenhalgh@arm.com>
PR rtl-optimization/78561
* gcc.target/aarch64/pr78561.c: New.
2016-12-02 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/fold-bopcond-1.c: New test.
* gcc.dg/fold-bopcond-2.c: New test.
2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/setmem_long-1.c: Fix test.
2016-12-02 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/78547
* gcc.dg/pr78547.c: New test.
PR rtl-optimization/78575
* gcc.dg/pr78575.c: New test.
2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/litpool-r3-1.c: Fix label number test.
2016-12-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/77822
* gcc.target/s390/s390.exp: Support .C tests.
* gcc.target/s390/pr77822-2.c: New test.
* gcc.target/s390/pr77822-1.C: New test.
2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/vector/vec-nopeel-1.c: New test.
2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/zvector/vec-cmp-2.c: New test.
S/390: Fix vector all/any cc modes. This fixes a problem with the vector compares producing CC mode results. The instructions produce condition code modes which can be either interpreted to check an ALL elements or an ANY element result. As the modes where used before they could not be inverted by the middle-end by inverting the comparison code (e.g. eq to ne). The result usually was just wrong. In fact inverting a comparison code on an CCVALL mode would require to also change the mode to CCVANY but this cannot be done easily in the middle-end. With this patch the meaning of an ALL cc mode only refers to the not-inverted comparison code (e.g. eq, gt, ge). With that change inverting the comparison code matches a not operation on the condition code mask again. Bootstrapped and regression tested on s390 and s390x. Bye, -Andreas- gcc/testsuite/ChangeLog: 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/vector/vec-scalar-cmp-1.c: Fix and harden the pattern checks. * gcc.target/s390/zvector/vec-cmp-1.c: New test. gcc/ChangeLog: 2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390-modes.def (CCVEQANY, CCVH, CCVHANY, CCVHU) (CCVHUANY): Remove modes. (CCVIH, CCVIHU, CCVIALL, CCVIANY, CCVFALL, CCVFANY): Add modes and documentation. * config/s390/s390.c (s390_match_ccmode_set): Rename cc modes. (s390_expand_vec_compare_scalar): Pick one of the cc consumer modes. (s390_branch_condition_mask): Adjust to use the new cc consumer modes. The new modes allow for proper reversal in the middle-end. (s390_expand_vec_compare_cc): Determine the proper cc producer and consumer modes for a comparison. * config/s390/s390.md: Rename CCVH to CCVIH and CCVHU to CCVIHU throughout the file. * config/s390/vx-builtins.md: Likewise. From-SVN: r243154
2016-12-02 09:21:43 +01:00
2016-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/vector/vec-scalar-cmp-1.c: Fix and harden the
pattern checks.
* gcc.target/s390/zvector/vec-cmp-1.c: New test.
2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
* c-c++-common/asan/no-redundant-odr-indicators-1.c: New test.
2016-12-01 Elizebeth Punnoose <elizebeth.punnoose@hpe.com>
PR fortran/77505
* gfortran.dg/char_length_20.f90: New test.
* gfortran.dg/char_length_21.f90: Ditto.
2016-12-01 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78279
* gfortran.dg/pr78279.f90: New test.
2016-12-01 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/tls/pr77285-1.C: dg-add-options tls
2016-12-01 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/pr78582.c (main): Call setjmp, not sigsetjmp.
2016-12-01 Richard Biener <rguenther@suse.de>
* gcc.dg/torture/alias-2.c: New testcase.
2016-12-01 Georg-Johann Lay <avr@gjlay.de>
* gcc.target/avr/tiny-memx.c: Only perform if target avr_tiny.
* gcc.target/avr/tiny-caller-save.c: Dito.
2016-12-01 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_lib_alloc_4.f90: Fix for 32-bits.
2016-12-01 Jakub Jelinek <jakub@redhat.com>
PR debug/78587
* gcc.dg/debug/pr78587.c: New test.
2016-12-01 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/78607
* gcc.c-torture/compile/pr78607.c: New testcase.
2016-11-30 Martin Sebor <msebor@redhat.com>
PR tree-optimization/78586
* gcc.dg/tree-ssa/builtin-sprintf-2.c: New test cases.
2016-11-30 Vladimir Makarov <vmakarov@redhat.com>
PR tree-optimization/77856
* gcc.target/i386/pr77856.c: New.
2016-11-30 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/debug/dwarf2/ptrdmem-1.C: Don't XFAIL
scan-assembler-not on AIX.
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_lib_alloc_4.f90: Really add.
2016-11-30 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/eh/new1.C: XFAIL on AIX.
* g++.dg/eh/delete1.C: Same.
* g++.dg/init/new40.C: Same.
* g++.old-deja/g++.eh/new2.C: Same.
2016-11-30 David Malcolm <dmalcolm@redhat.com>
PR c/78498
* gcc.dg/format/pr78494.c: Rename to...
* gcc.dg/format/pr78498.c: ...this.
2016-11-30 David Malcolm <dmalcolm@redhat.com>
PR c/78498
* gcc.dg/format/pr78494.c: New test case.
2016-11-30 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/debug/dwarf2/ref-1.C: Don't XFAIL scan-assembler-not on AIX.
* g++.dg/debug/dwarf2/imported-decl-2.C: Same.
* g++.dg/debug/dwarf2/refqual-1.C: Same.
* g++.dg/debug/dwarf2/refqual-2.C: Same.
2016-11-30 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/78610
* gcc.c-torture/compile/pr78610.c: New testcase.
2016-11-30 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/78574
* gcc.c-torture/compile/pr78574.c: New test.
libcaf.h: Add new action types for (de-)registration of allocatable components in derived... libgfortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * caf/libcaf.h: Add new action types for (de-)registration of allocatable components in derived type coarrays. Add _caf_is_present prototype. * caf/single.c (_gfortran_caf_register): Add support for registration only and allocation of already registered allocatable components in derived type coarrays. (_gfortran_caf_deregister): Add mode to deallocate but not deregister an allocatable component in a derived type coarray. (_gfortran_caf_is_present): New function. Query whether an allocatable component in a derived type coarray on a remote image is allocated. gcc/testsuite/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray/alloc_comp_1.f90: Fix tree-dump scans to adhere to the changed interfaces. * gfortran.dg/coarray_alloc_comp_1.f08: Likewise. * gfortran.dg/coarray_allocate_7.f08: Likewise. * gfortran.dg/coarray_lib_alloc_1.f90: Likewise. * gfortran.dg/coarray_lib_alloc_2.f90: Likewise. * gfortran.dg/coarray_lib_alloc_3.f90: Likewise. * gfortran.dg/coarray_lib_comm_1.f90: Likewise. * gfortran.dg/coarray_lib_alloc_4.f90: New test. gcc/fortran/ChangeLog: 2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org> * check.c (gfc_check_allocated): By pass the caf_get call and check on the array. * gfortran.h: Add optional flag to gfc_caf_attr. * gfortran.texi: Document new enum values and _caf_is_present function. * primary.c (caf_variable_attr): Add optional flag to indicate that the expression is reffing a component. (gfc_caf_attr): Likewise. * trans-array.c (gfc_array_deallocate): Handle deallocation mode for coarray deregistration. (gfc_trans_dealloc_allocated): Likewise. (duplicate_allocatable): Use constants instead of creating custom constant tree node of zero or one. Use gfc_add_modify convenience function. (duplicate_allocatable_coarray): This function is similar to duplicate_allocatable but tailored to handle coarrays. (caf_enabled): Check whether in-derived-type coarray processing is enabled. (caf_in_coarray): Check that in-derived-type coarray processing is enabled and currently in a derived-typed coarray. (gfc_caf_is_dealloc_only): Return true, when deallocate only is desired for components in derived typed coarrays. (structure_alloc_comps): A mode for handling coarrays, that is no longer encode in the purpose. This makes the use cases of the routine more flexible without repeating. Allocatable components in derived type coarrays are now registered only when nullifying an object and allocated before copying data into them. (gfc_nullify_alloc_comp): Use the caf_mode of structure_alloc_comps now. (gfc_deallocate_alloc_comp): Likewise. (gfc_deallocate_alloc_comp_no_caf): Likewise. (gfc_reassign_alloc_comp_caf): Likewise. (gfc_copy_alloc_comp): Likewise. (gfc_copy_only_alloc_comp): Likewise. (gfc_alloc_allocatable_for_assignment): Make use to the cheaper way of reallocating a coarray without deregistering and reregistering it. (gfc_trans_deferred_array): Initialize the coarray token correctly for deferred variables and tear them down on exit. * trans-array.h: Change some prototypes to add the coarray (de-) registration modes. Add prototype for checking if deallocate only is selected for components in derived typed coarrays. * trans-decl.c (gfc_build_builtin_function_decls): Generate the declarations for the changed/new caf-lib routines. (gfc_trans_deferred_vars): Ensure deferred variables are (de-) registered correctly on procedure entry/exit. (generate_coarray_sym_init): Use constants. * trans-expr.c (gfc_conv_procedure_call): Propagate coarray allocation modes accordingly. (gfc_trans_alloc_subarray_assign): Likewise. (gfc_trans_subcomponent_assign): Likewise. (gfc_trans_structure_assign): Generate code to register the components of a derived type coarray prior to initialization. (gfc_conv_structure): Set flag that the structure is in a coarray. (gfc_trans_scalar_assign): Add flag to indicate being in a coarray and set the structure_alloc_comps modes correctly. (gfc_trans_assignment_1): Figure being in a coarray expression. * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Adapt to new structure_alloc_comps interface. (conv_caf_send): Use the old API as long as possible. (trans_caf_is_present): Generate code to check whether an allocatable component in a derived typed coarray is allocated on a remote image. (caf_this_image_ref): Return true, when only reffing this image. (gfc_conv_allocated): Convert allocated queries on allocatable components to the library API. (conv_intrinsic_move_alloc): Adapt to new interface of structure_alloc_comps. * trans-openmp.c (gfc_walk_alloc_comps): Likewise. (gfc_omp_clause_assign_op): Likewise. (gfc_omp_clause_dtor): Likewise. * trans-stmt.c (gfc_trans_deallocate): Figure which mode to use when deallocating allocatable components in derived type coarras. * trans.c (gfc_allocate_using_lib): Renamed to gfc_allcate_using_caf_lib. (gfc_allocate_allocatable): Set the registration mode/type of caf- register calls adapting to all the possible allocatable objects. (gfc_deallocate_with_status): Add deregistration mode for allocatable components in derived type coarrays. (gfc_deallocate_scalar_with_status): Likewise. * trans.h (enum gfc_coarray_type): Renamed to gfc_coarray_regtype to avoid collision with gfc_coarray_deregtype. From-SVN: r243021
2016-11-30 14:27:49 +01:00
2016-11-30 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray/alloc_comp_1.f90: Fix tree-dump scans to adhere
to the changed interfaces.
* gfortran.dg/coarray_alloc_comp_1.f08: Likewise.
* gfortran.dg/coarray_allocate_7.f08: Likewise.
* gfortran.dg/coarray_lib_alloc_1.f90: Likewise.
* gfortran.dg/coarray_lib_alloc_2.f90: Likewise.
* gfortran.dg/coarray_lib_alloc_3.f90: Likewise.
* gfortran.dg/coarray_lib_comm_1.f90: Likewise.
* gfortran.dg/coarray_lib_alloc_4.f90: New test.
2016-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/78593
* gfortran.dg/derived_result.f90: New test case.
2016-11-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp (add_options_for_arm_arch_v6m): Add
-mfloat-abi=soft option.
(add_options_for_arm_arch_v8m_base): Likewise. Reindent containing
foreach loop.
2016-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/78362
* gcc.c-torture/compile/pr78362.c: New test.
2016-11-30 Andrew Burgess <andrew.burgess@embecosm.com>
* lib/target-supports.exp (check_effective_target_freorder): Check
additional case.
2016-11-30 Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/arc700-stld-hazard.c: New file.
2016-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/78592
* gfortran.dg/dtio_18.f90: New test case.
2016-11-30 Martin Liska <mliska@suse.cz>
PR sanitizer/78541
* gcc.dg/asan/pr78541-2.c: New test.
* gcc.dg/asan/pr78541.c: New test.
2016-11-30 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/78586
* gcc.c-torture/execute/pr78586.c: New test.
2016-11-30 Janus Weil <janus@gcc.gnu.org>
PR fortran/78573
* gfortran.dg/class_61.f90: New test case.
2016-11-29 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/78569
* gcc.dg/format/pr78569.c: New test case.
2016-11-29 Martin Sebor <msebor@redhat.com>
avoid false positives on ILP32 targets.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
2016-11-29 Martin Sebor <msebor@redhat.com>
PR tree-optimization/78512
* gcc.dg/tree-ssa/builtin-sprintf-6.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Remove test cases.
2016-11-29 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/avx512f-kmovw-1.c (avx512f_test):
Force value through k register.
2016-11-29 David Malcolm <dmalcolm@redhat.com>
PR c++/72774
PR c++/72786
PR c++/77922
PR c++/78313
* g++.dg/spellcheck-c++-11-keyword.C: New test case.
* g++.dg/spellcheck-macro-ordering.C: New test case.
* g++.dg/spellcheck-pr78313.C: New test case.
2016-11-29 Tamar Christina <tamar.christina@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
(AARCH64_ONLY, CHECK_CRYPTO): New macros.
(Poly64x1_t, Poly64x2_t): Added types.
* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c
(vmov_n_p64, vmovq_n_p64): Added.
(vld2_lane_p64, vld2q_lane_p64): Likewise.
(vld3_lane_p64, vld3q_lane_p64): Likewise.
(vld4_lane_p64, vld4q_lane_p64): Likewise.
(vst2_lane_p64, vst2q_lane_p64): Likewise.
(vst3_lane_p64, vst3q_lane_p64): Likewise.
(vst4_lane_p64, vst4q_lane_p64): Likewise.
(vget_lane_p64, vgetq_lane_p64): Likewise.
(vget_high_p64): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c:
Added AArch64 flags.
(vreint_vector, vreint_vector_res): Moved to header.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c:
Added Aarch64 flags.
(vreint_vector, vreint_vector_res): Moved to header.
2016-11-29 Janus Weil <janus@gcc.gnu.org>
PR fortran/58175
* gfortran.dg/finalize_30.f90: New test case.
2016-11-29 Martin Liska <mliska@suse.cz>
PR gcov-profile/78582
* gcc.dg/pr78582.c: New test.
2016-11-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* testsuite/gcc.dg/pr31096-1.c: Use __{U,}INT32_TYPE__ for
targets with sizeof(int) < 4.
2016-11-29 Richard Biener <rguenther@suse.de>
PR middle-end/78546
* gcc.dg/tree-ssa/forwprop-36.c: New testcase.
rs6000: Testcases for rl*i* These testcases test that we generate the expected code for all of the rl*i* instructions, that is, rotate-and-mask and rotate-and-mask-insert for immediate rotation counts. All the testcases do rotate, shift left, as well as shift right; if that results in an instruction that does not exist the testcases generate a multiplication instead, so that we can detect if this is handled properly. Many 32-bit instructions zero-extend their result properly in 64-bit mode, but the rs6000 port does not yet know. These testcases test the status quo, so they will need updating when ever we handle this. gcc/testsuite/ * gcc.target/powerpc/rldic-0.c: New testcase. * gcc.target/powerpc/rldic-1.c: New testcase. * gcc.target/powerpc/rldic-2.c: New testcase. * gcc.target/powerpc/rldicl-0.c: New testcase. * gcc.target/powerpc/rldicl-1.c: New testcase. * gcc.target/powerpc/rldicl-2.c: New testcase. * gcc.target/powerpc/rldicr-0.c: New testcase. * gcc.target/powerpc/rldicr-1.c: New testcase. * gcc.target/powerpc/rldicr-2.c: New testcase. * gcc.target/powerpc/rldicx.h: New file. * gcc.target/powerpc/rldimi-0.c: New testcase. * gcc.target/powerpc/rldimi-1.c: New testcase. * gcc.target/powerpc/rldimi-2.c: New testcase. * gcc.target/powerpc/rldimi.h: New file. * gcc.target/powerpc/rlwimi-0.c: New testcase. * gcc.target/powerpc/rlwimi-1.c: New testcase. * gcc.target/powerpc/rlwimi-2.c: New testcase. * gcc.target/powerpc/rlwimi.h: New file. * gcc.target/powerpc/rlwinm-0.c: New testcase. * gcc.target/powerpc/rlwinm-1.c: New testcase. * gcc.target/powerpc/rlwinm-2.c: New testcase. * gcc.target/powerpc/rlwinm.h: New file. From-SVN: r242951
2016-11-29 06:51:51 +01:00
2016-11-29 Segher Boessenkool <segher@kernel.crashing.org>
* gcc.target/powerpc/rldic-0.c: New testcase.
* gcc.target/powerpc/rldic-1.c: New testcase.
* gcc.target/powerpc/rldic-2.c: New testcase.
* gcc.target/powerpc/rldicl-0.c: New testcase.
* gcc.target/powerpc/rldicl-1.c: New testcase.
* gcc.target/powerpc/rldicl-2.c: New testcase.
* gcc.target/powerpc/rldicr-0.c: New testcase.
* gcc.target/powerpc/rldicr-1.c: New testcase.
* gcc.target/powerpc/rldicr-2.c: New testcase.
* gcc.target/powerpc/rldicx.h: New file.
* gcc.target/powerpc/rldimi-0.c: New testcase.
* gcc.target/powerpc/rldimi-1.c: New testcase.
* gcc.target/powerpc/rldimi-2.c: New testcase.
* gcc.target/powerpc/rldimi.h: New file.
* gcc.target/powerpc/rlwimi-0.c: New testcase.
* gcc.target/powerpc/rlwimi-1.c: New testcase.
* gcc.target/powerpc/rlwimi-2.c: New testcase.
* gcc.target/powerpc/rlwimi.h: New file.
* gcc.target/powerpc/rlwinm-0.c: New testcase.
* gcc.target/powerpc/rlwinm-1.c: New testcase.
* gcc.target/powerpc/rlwinm-2.c: New testcase.
* gcc.target/powerpc/rlwinm.h: New file.
2016-11-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/78540
* gcc.dg/pr78540.c: New test.
2016-11-28 Martin Sebor <msebor@redhat.com>
PR middle-end/78520
* gcc.dg/tree-ssa/builtin-sprintf-5.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-6.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Add test cases.
2016-11-28 Jakub Jelinek <jakub@redhat.com>
PR c++/72808
* g++.dg/debug/pr72808.C: New test.
PR rtl-optimization/78546
* gcc.dg/torture/pr78546-1.c: New test.
* gcc.dg/torture/pr78546-2.c: New test.
PR fortran/78298
* gfortran.dg/gomp/pr78298.f90: New test.
i386.md (UNSPEC_KMASKOP): New. * config/i386/i386.md (UNSPEC_KMASKOP): New. (UNSPEC_KMOV): Remove. (kmovw): Expand to plain HImode move. (k<any_logic:code><mode>): Rename from *k<logic><mode>. Use register_operand predicates. Tag pattern with UNSPEC_KMASKOP. Remove corresponding clobber-removing splitter. (*anddi_1): Remove mask register alternatives. (*andsi_1): Ditto. (*andhi_1): Ditto. (*andqi_1): Ditto. (*<any_or:code><mode>_1): Ditto. (*<any_or:code>qi_1): Ditto. (kandn<mode>): Use SWI1248_AVX512BW mode iterator. Remove general register alternatives. Tag pattern with UNSPEC_KMASKOP. Remove corresponding splitter to operation with general registers. (*andn<SWI38:mode>): Rename from *bmi_andn_<mode>. (*andn<SWI12:mode>): New pattern. (*kxnor<mode>): Remove general register alternatives. Tag pattern with UNSPEC_KMASKOP. Remove corresponding splitter to operation with general registers. (knot<mode>): New insn pattern. (*one_cmpl<mode>2_1): Remove mask register alternatives. (one_cmplqi2_1): Ditto. (*k<any_lshift:code><mode>): Rename from *k<mshift><mode>3. Tag pattern with UNSPEC_KMASKOP. Add mode attribute. * config/i386/predicates.md (mask_reg_operand): Remove predicate. * config/i386/sse.md (vec_unpacks_hi_hi): Update pattern to generate kmaskop shift. (vec_unpacks_hi_<mode>): Ditto. * config/i386/i386-builtin.def (__builtin_ia32_kandhi): Use CODE_FOR_kandhi. (__builtin_ia32_knothi): Use CODE_FOR_knothi. (__builtin_ia32_korhi): Use CODE_FOR_kiorhi. (__builtin_ia32_kxorhi): Use CODE_FOR_kxorhi. testsuite/ChangeLog: * gcc.target/i386/bmi-andn-1a.c (dg-final): Update scan string. * gcc.target/i386/bmi-andn-2a.c (dg-final): Ditto. From-SVN: r242925
2016-11-28 17:53:17 +01:00
2016-11-28 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/bmi-andn-1a.c (dg-final): Update scan string.
* gcc.target/i386/bmi-andn-2a.c (dg-final): Ditto.
2016-11-28 Jakub Jelinek <jakub@redhat.com>
PR c++/77591
* g++.dg/cpp1y/pr77591.C: New test.
2016-11-28 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/torture/pr78515.c: Ignore ABI extension warning.
2016-11-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/78542
* gcc.dg/torture/pr78542.c: New testcase.
2016-11-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/78343
* gcc.dg/tree-ssa/20030808-1.c: Fix dump to generate.
* gcc.dg/tree-ssa/20040305-1.c: Likewise.
2016-11-28 Jakub Jelinek <jakub@redhat.com>
PR lto/78211
* g++.dg/ipa/pr78211.C: New test.
2016-11-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/78474
* gfortran.dg/submodule_22.f08: New test.
PR fortran/78331
* gfortran.dg/submodule_21.f08: New test.
2016-11-27 John David Anglin <danglin@gcc.gnu.org>
* g++.dg/torture/pr65655.C: Use dg-timeout-factor 2.
[Darwin] fix PR67710 by updating 'as' specs to handle newer assembler versions. A/ Newer versions of ld64 check the min_version command, and newer versions of the system assembler inserts this in response to "-mmacosx-version-min=" on the assembler line. Unless one makes sensible versions, some object is bound to conflict. B/ Additionally, there's a difference in behaviour between "as" and "ld" when presented with xx.yy.zz (ld truncates to xx.yy, as doesn't); net result is that one needs to pass a truncated version to "as". So (if the assembler supports minversion commands) (a) provide a truncated minversion (as asm_macosx_version_min, which is a driver-only var). (b) pass this to "as" (c) Update tests to determine 'HAVE_AS_MMACOSX_VERSION_MIN_OPTION' (Rainer's patch) (d) For some reason the testcases are "run" (it's not obvious they need to be, they are checking compile-time issues) - anyway, to preserve the status quo, I've left them as exec. However, the minimum version that can be code-gened for is target-dependent (there are no released x86 versions before 10.4, for example). To avoid conflicts where the "as" is assuming some minimum, I've set the testversion to 10.5 (which is supported by all the archs we have) (e) We need to ensure that libgcc and crts are generated with a sufficiently old minversion not to conflict. gcc/ 2016-11-27 Iain Sandoe <iain@codesourcery.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR target/67710 * config.in: Regenerate * config/darwin-driver.c (darwin_driver_init): Emit a version string for the assembler. * config/darwin.h(ASM_MMACOSX_VERSION_MIN_SPEC): New, new tests. * config/darwin.opt(asm_macosx_version_min): New. * config/i386/darwin.h: Handle ASM_MMACOSX_VERSION_MIN_SPEC. * configure: Regenerate * configure.ac: Check for mmacosx-version-min handling. gcc/testsuite/ 2016-11-27 Iain Sandoe <iain@codesourcery.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Dominique d'Humieres <dominiq@lps.ens.fr> PR target/67710 * gcc.dg/darwin-minversion-1.c: Update min version check. * gcc.dg/darwin-minversion-2.c: Likewise. * gcc.dg/darwin-minversion-3.c: Likewise. libgcc/ 2016-11-27 Iain Sandoe <iain@codesourcery.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR target/67710 * config/t-darwin: Default builds to 10.5 codegen. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r242898
2016-11-27 16:07:22 +01:00
2016-11-27 Iain Sandoe <iain@codesourcery.com>
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/67710
* gcc.dg/darwin-minversion-1.c: Update min version check.
* gcc.dg/darwin-minversion-2.c: Likewise.
* gcc.dg/darwin-minversion-3.c: Likewise.
2016-11-27 Iain Sandoe <iain@codesourcery.com>
PR target/57438
* gcc.dg/pr57438-1.c: New Test.
* gcc.dg/pr57438-2.c: New Test.
2016-11-27 Dominique d'Humieres <dominiq@lps.ens.fr>
Iain Sandoe <iain@codesourcery.com>
PR target/71767
* g++.dg/abi/key2.C: Adjust for changed Darwin sections and
linker-visible symbols.
* g++.dg/torture/darwin-cfstring-3.C: Likewise.
* gcc.dg/const-uniq-1.c: Likewise.
* gcc.dg/torture/darwin-cfstring-3.c: Likewise.
* gcc.target/i386/pr70799-1.c: Likewise.
2016-11-25 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/78438
PR rtl-optimization/78477
* gcc.c-torture/execute/pr78438.c: New test.
* gcc.c-torture/execute/pr78477.c: New test.
PR rtl-optimization/78526
* gcc.dg/pr78526.c: New test.
2016-11-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/77541
* gcc.target/i386/pr77541.c: Change target to int128.
2016-11-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/60853
* gfortran.dg/typebound_assignment_8.f90: New test case.
2016-11-25 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/78527
* gcc.c-torture/compile/pr78527.c: New test.
2016-11-25 Martin Liska <mliska@suse.cz>
PR gcov-profile/78086
* g++.dg/gcov/pr16855.C: Clean up the test case.
* g++.dg/gcov/pr16855-priority.C: New test.
2016-11-25 Richard Biener <rguenther@suse.de>
PR ipa/78515
* gcc.dg/torture/pr78515.c: New testcase.
2016-11-25 Paul Thomas <pault@gcc.gnu.org>
PR fortran/78293
* gfortran.dg/allocatable_function_10.f90: New test.
* gfortran.dg/class_array_15.f03: Increase builtin_free count
from 11 to 12.
2016-11-25 Bin Cheng <bin.cheng@arm.com>
PR middle-end/78507
PR middle-end/78510
PR middle-end/78517
* g++.dg/torture/pr78507.C: New test.
* gcc.dg/torture/pr78510.c: New test.
* gcc.dg/torture/pr78517.c: New test.
2016-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/78343
* gcc.dg/tree-ssa/sccp-2.c: New testcase.
* gcc.dg/autopar/uns-outer-6.c: Adjust.
* gcc.dg/tree-ssa/20030808-1.c: Likewise.
* gcc.dg/tree-ssa/20040305-1.c: Likewise.
* gcc.dg/vect/pr38529.c: Likewise.
2016-11-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR tree-optimization/77673
* gcc.dg/pr77673.c: New test.
2016-11-25 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/70965
* g++.dg/pr70965.C: New test.
2016-11-25 Jakub Jelinek <jakub@redhat.com>
Andreas Schwab <schwab@linux-m68k.org>
PR gcov-profile/78467
* gcc.dg/tree-prof/comp-goto-1.c (insn_t): Change offset to
signed int.
2016-11-25 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/tree-ssa/tailcall-7-run.c: New test.
* gcc.dg/tree-ssa/tailcall-8-run.c: Likewise.
2016-11-25 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/tree-ssa/tailcall-8.c: New test.
2016-11-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/pr64277.c: Use __INT32_TYPE__ for targets
with sizeof(int) < 4.
2016-11-24 Martin Sebor <msebor@redhat.com>
PR tree-optimization/78476
* gcc.dg/tree-ssa/builtin-sprintf-5.c: New test.
2016-11-24 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/77541
* gcc.target/i386/pr77541.c: New.
2016-11-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78500
* gfortran.dg/class_result_4.f90: New test.
2016-11-24 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.target/aarch64/_Float16_1.c: New.
* gcc.target/aarch64/_Float16_2.c: Likewise.
* gcc.target/aarch64/_Float16_3.c: Likewise.
2016-11-24 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.target/aarch64/floatdihf2_1.c: New.
2016-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/48863
PR inline-asm/70184
* gcc.target/arm/pr48863.c: New test.
2016-11-24 Martin Liska <mliska@suse.cz>
* gcc.dg/builtin-unreachable-6.c: Update test to not to scan
parts for frequencies/probabilities.
* gcc.dg/pr34027-1.c: Likewise.
* gcc.dg/strict-overflow-2.c: Likewise.
* gcc.dg/tree-ssa/20040703-1.c: Likewise.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Likewise.
* gcc.dg/tree-ssa/pr32044.c: Likewise.
* gcc.dg/tree-ssa/vector-3.c: Likewise.
* gcc.dg/tree-ssa/vrp101.c: Likewise.
* gcc.dg/tree-ssa/dump-2.c: New test.
2016-11-24 Bernd Schmidt <bschmidt@redhat.com>
* gcc.target/i386/align-limit.c: New test.
2016-11-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/71595
* gcc.dg/torture/pr71595.c: New testcase.
2016-11-24 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/78120
* gcc.target/i386/pr78120.c: New test.
2016-11-24 Eric Botcazou <ebotcazou@adacore.com>
* gcc.c-torture/compile/20161124-1.c: New test.
2016-11-24 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/78493
* g++.dg/cpp1z/decomp18.C: New test.
2016-11-23 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gcc.target/aarch64/ldp_stp_1.c: Add -mcpu=generic.
* gcc.target/aarch64/store-pair-1.c: Likewise.
2016-11-23 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gcc.target/aarch64/fmaxmin.c: Add -fno-vect-cost-model.
* gcc.target/aarch64/fmul_fcvt_2.c: Likewise.
* gcc.target/aarch64/vect-abs-compile.c: Likewise.
* gcc.target/aarch64/vect-clz.c: Likewise.
* gcc.target/aarch64/vect-fcm-eq-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-ge-d.c: Likewise.
* gcc.target/aarch64/vect-fcm-gt-d.c: Likewise.
* gcc.target/aarch64/vect-fmovd-zero.c: Likewise.
* gcc.target/aarch64/vect-fmovd.c: Likewise.
* gcc.target/aarch64/vect-fmovf-zero.c: Likewise.
* gcc.target/aarch64/vect-fmovf.c: Likewise.
* gcc.target/aarch64/vect_ctz_1.c: Likewise.
2016-11-23 Peter Bergner <bergner@vnet.ibm.com>
PR target/78458
* gcc.target/powerpc/pr78458.c: New.
2016-11-23 Joseph Myers <joseph@codesourcery.com>
* gcc.c-torture/compile/20161123-1.c: New test.
2016-11-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78297
* gfortran.dg/pr78297.f90: New test.
2016-11-23 David Edelsohn <dje.gcc@gmail.com>
* gcc.target/powerpc/builtins-3.c: Add -maltivec and -mvsx options.
2016-11-23 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/69278
* g++.dg/ubsan/return-7.C: New test.
* c-c++-common/ubsan/unreachable-4.c: New test.
PR tree-optimization/78482
* gcc.dg/torture/pr78482.c (c, d): Use signed char instead of char.
(bar): New function.
(main): Call bar instead of printf.
PR middle-end/69183
* gfortran.dg/gomp/pr69183.f90: New test.
2016-11-23 Kito Cheng <kito.cheng@gmail.com>
PR target/78230
* gcc.dg/torture/pr66178.c (test): Use uintptr_t instead of int.
(test2) Ditto.
2016-11-23 Jakub Jelinek <jakub@redhat.com>
PR c++/77907
* g++.dg/cpp0x/pr77907.C: New test.
2016-11-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/78153
* gcc.dg/tree-ssa/pr78153-1.c: New test.
* gcc.dg/tree-ssa/pr78153-2.c: Likewise.
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
PR target/63250
* lib/target-supports.exp (add_options_for_float16): Add
-mfp16-format=ieee when testign arm*-*-*.
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.target/arm/fp16-rounding-alt-1.c (ROUNDED): Change expected
result.
* gcc.target/arm/fp16-rounding-ieee-1.c (ROUNDED): Change expected
result.
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
* lib/target-supports.exp (check_effective_target_float16): Add
options for _Float16.
(check_effective_target_float32): Add options for _Float32.
(check_effective_target_float64): Add options for _Float64.
(check_effective_target_float128): Add options for _Float128.
(check_effective_target_float32x): Add options for _Float32x.
(check_effective_target_float64x): Add options for _Float64x.
(check_effective_target_float128x): Add options for _Float128x.
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/fpermitted-flt-eval-methods_3.c: New.
* gcc.dg/fpermitted-flt-eval-methods_4.c: Likewise.
2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/fpermitted-flt-eval-methods_1.c: New.
* gcc.dg/fpermitted-flt-eval-methods_2.c: New.
2016-11-23 Martin Sebor <msebor@redhat.com>
PR middle-end/78461
* gcc.dg/tree-ssa/builtin-sprintf-4.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Adjust warning text.
2016-11-23 Jakub Jelinek <jakub@redhat.com>
PR c++/71450
* g++.dg/cpp0x/pr71450-1.C: New test.
* g++.dg/cpp0x/pr71450-2.C: New test.
PR c++/77739
* g++.dg/cpp1y/pr77739.C: New test.
backport: hsa-builtins.def: New file. Merge from HSA branch to trunk 2016-11-23 Martin Jambor <mjambor@suse.cz> Martin Liska <mliska@suse.cz> gcc/ * hsa-builtins.def: New file. * Makefile.in (BUILTINS_DEF): Add hsa-builtins.def dependency. * builtins.def: Include hsa-builtins.def. (DEF_HSA_BUILTIN): New macro. * dumpfile.h (OPTGROUP_OPENMP): Define. * dumpfile.c (optgroup_options): Added OPTGROUP_OPENMP. * gimple.h (gf_mask): Added elements GF_OMP_FOR_GRID_INTRA_GROUP and GF_OMP_FOR_GRID_GROUP_ITER. (gimple_omp_for_grid_phony): Added checking assert. (gimple_omp_for_set_grid_phony): Likewise. (gimple_omp_for_grid_intra_group): New function. (gimple_omp_for_set_grid_intra_group): Likewise. (gimple_omp_for_grid_group_iter): Likewise. (gimple_omp_for_set_grid_group_iter): Likewise. * omp-low.c (check_omp_nesting_restrictions): Allow GRID loop where previosuly only distribute loop was permitted. (lower_lastprivate_clauses): Allow non tcc_comparison predicates. (grid_get_kernel_launch_attributes): Support multiple HSA grid dimensions. (grid_expand_omp_for_loop): Likewise and also support standalone distribute constructs. New parameter INTRA_GROUP, updated both users. (grid_expand_target_grid_body): Support standalone distribute constructs. (pass_data_expand_omp): Changed optinfo_flags to OPTGROUP_OPENMP. (pass_data_expand_omp_ssa): Likewise. (pass_data_omp_device_lower): Likewsie. (pass_data_lower_omp): Likewise. (pass_data_diagnose_omp_blocks): Likewise. (pass_data_oacc_device_lower): Likewise. (pass_data_omp_target_link): Likewise. (grid_lastprivate_predicate): New function. (lower_omp_for_lastprivate): Call grid_lastprivate_predicate for gridified loops. (lower_omp_for): Support standalone distribute constructs. (grid_prop): New type. (grid_safe_assignment_p): Check for assignments to group_sizes, new parameter GRID. (grid_seq_only_contains_local_assignments): New parameter GRID, pass it to callee. (grid_find_single_omp_among_assignments_1): Likewise, improve missed optimization info messages. (grid_find_single_omp_among_assignments): Likewise. (grid_find_ungridifiable_statement): Do not bail out for SIMDs. (grid_parallel_clauses_gridifiable): New function. (grid_inner_loop_gridifiable_p): Likewise. (grid_dist_follows_simple_pattern): Likewise. (grid_gfor_follows_tiling_pattern): Likewise. (grid_call_permissible_in_distribute_p): Likewise. (grid_handle_call_in_distribute): Likewise. (grid_dist_follows_tiling_pattern): Likewise. (grid_target_follows_gridifiable_pattern): Support standalone distribute constructs. (grid_var_segment): New enum. (grid_mark_variable_segment): New function. (grid_copy_leading_local_assignments): Call grid_mark_variable_segment if a new argument says so. (grid_process_grid_body): New function. (grid_eliminate_combined_simd_part): Likewise. (grid_mark_tiling_loops): Likewise. (grid_mark_tiling_parallels_and_loops): Likewise. (grid_process_kernel_body_copy): Support standalone distribute constructs. (grid_attempt_target_gridification): New grid variable holding overall gridification state. Support standalone distribute constructs and collapse clauses. * doc/optinfo.texi (Optimization groups): Document OPTGROUP_OPENMP. * hsa.h (hsa_bb): Add method method append_phi. (hsa_insn_br): Renamed to hsa_insn_cbr, renamed all occurences in all files too. (hsa_insn_br): New class, now the ancestor of hsa_incn_cbr. (is_a_helper <hsa_insn_br *>::test): New function. (is_a_helper <hsa_insn_cbr *>::test): Adjust to only cover conditional branch instructions. (hsa_insn_signal): Make a direct descendant of hsa_insn_basic. Add memorder constructor parameter and m_memory_order and m_signalop member variables. (hsa_insn_queue): Changed constructor parameters to common form. Added m_segment and m_memory_order member variables. (hsa_summary_t): Add private member function process_gpu_implementation_attributes. (hsa_function_summary): Rename m_binded_function to m_bound_function. (hsa_insn_basic_p): Remove typedef. (hsa_op_with_type): Change hsa_insn_basic_p into plain pointers. (hsa_op_reg_p): Remove typedef. (hsa_function_representation): Change hsa_op_reg_p into plain pointers. (hsa_insn_phi): Removed new and delete operators. (hsa_insn_br): Likewise. (hsa_insn_cbr): Likewise. (hsa_insn_sbr): Likewise. (hsa_insn_cmp): Likewise. (hsa_insn_mem): Likewise. (hsa_insn_atomic): Likewise. (hsa_insn_signal): Likewise. (hsa_insn_seg): Likewise. (hsa_insn_call): Likewise. (hsa_insn_arg_block): Likewise. (hsa_insn_comment): Likewise. (hsa_insn_srctype): Likewise. (hsa_insn_packed): Likewise. (hsa_insn_cvt): Likewise. (hsa_insn_alloca): Likewise. * hsa.c (hsa_destroy_insn): Also handle instances of hsa_insn_br. (process_gpu_implementation_attributes): New function. (link_functions): Move some functionality into it. Adjust after renaming m_binded_functions to m_bound_functions. (hsa_insn_basic::op_output_p): Add BRIG_OPCODE_DEBUGTRAP to the list of instructions with no output registers. (get_in_type): Return this if it is a register of matching size. (hsa_get_declaration_name): Moved to... * hsa-gen.c (hsa_get_declaration_name): ...here. Allocate temporary string on an obstack instead from ggc. (query_hsa_grid): Renamed to query_hsa_grid_dim, reimplemented, cut down to two overloads. (hsa_allocp_operand_address): Removed. (hsa_allocp_operand_immed): Likewise. (hsa_allocp_operand_reg): Likewise. (hsa_allocp_operand_code_list): Likewise. (hsa_allocp_operand_operand_list): Likewise. (hsa_allocp_inst_basic): Likewise. (hsa_allocp_inst_phi): Likewise. (hsa_allocp_inst_mem): Likewise. (hsa_allocp_inst_atomic): Likewise. (hsa_allocp_inst_signal): Likewise. (hsa_allocp_inst_seg): Likewise. (hsa_allocp_inst_cmp): Likewise. (hsa_allocp_inst_br): Likewise. (hsa_allocp_inst_sbr): Likewise. (hsa_allocp_inst_call): Likewise. (hsa_allocp_inst_arg_block): Likewise. (hsa_allocp_inst_comment): Likewise. (hsa_allocp_inst_queue): Likewise. (hsa_allocp_inst_srctype): Likewise. (hsa_allocp_inst_packed): Likewise. (hsa_allocp_inst_cvt): Likewise. (hsa_allocp_inst_alloca): Likewise. (hsa_allocp_bb): Likewise. (hsa_obstack): New. (hsa_init_data_for_cfun): Initialize obstack. (hsa_deinit_data_for_cfun): Release memory of the obstack. (hsa_op_immed::operator new): Use obstack instead of object_allocator. (hsa_op_reg::operator new): Likewise. (hsa_op_address::operator new): Likewise. (hsa_op_code_list::operator new): Likewise. (hsa_op_operand_list::operator new): Likewise. (hsa_insn_basic::operator new): Likewise. (hsa_insn_phi::operator new): Likewise. (hsa_insn_br::operator new): Likewise. (hsa_insn_sbr::operator new): Likewise. (hsa_insn_cmp::operator new): Likewise. (hsa_insn_mem::operator new): Likewise. (hsa_insn_atomic::operator new): Likewise. (hsa_insn_signal::operator new): Likewise. (hsa_insn_seg::operator new): Likewise. (hsa_insn_call::operator new): Likewise. (hsa_insn_arg_block::operator new): Likewise. (hsa_insn_comment::operator new): Likewise. (hsa_insn_srctype::operator new): Likewise. (hsa_insn_packed::operator new): Likewise. (hsa_insn_cvt::operator new): Likewise. (hsa_insn_alloca::operator new): Likewise. (hsa_init_new_bb): Likewise. (hsa_bb::append_phi): New function. (gen_hsa_phi_from_gimple_phi): Use it. (get_symbol_for_decl): Fix dinstinguishing between global and local functions. Put local variables into a segment according to their attribute or static flag, if there is one. (hsa_insn_br::hsa_insn_br): New. (hsa_insn_br::operator new): Likewise. (hsa_insn_cbr::hsa_insn_cbr): Set width via ancestor constructor. (query_hsa_grid_nodim): New function. (multiply_grid_dim_characteristics): Likewise. (gen_get_num_threads): Likewise. (gen_get_num_teams): Reimplemented. (gen_get_team_num): Likewise. (gen_hsa_insns_for_known_library_call): Updated calls to the above helper functions. (get_memory_order_name): Removed. (get_memory_order): Likewise. (hsa_memorder_from_tree): New function. (gen_hsa_ternary_atomic_for_builtin): Renamed to gen_hsa_atomic_for_builtin, can also create signals. (gen_hsa_insns_for_call): Handle many new builtins. Adjust to use hsa_memory_order_from_tree and gen_hsa_atomic_for_builtin. (hsa_insn_atomic): Fix function comment. (hsa_insn_signal::hsa_insn_signal): Fix comment. Update call to ancestor constructor and initialization of new member variables. (hsa_insn_queue::hsa_insn_queue): Added initialization of new member variables. (hsa_get_host_function): Handle functions with no bound CPU implementation. Fix binded to bound. (get_brig_function_name): Likewise. (HSA_SORRY_ATV): Remove semicolon after macro. (HSA_SORRY_AT): Likewise. (omp_simple_builtin::generate): Add missing semicolons. (hsa_insn_phi::operator new): Removed. (hsa_insn_br::operator new): Likewise. (hsa_insn_cbr::operator new): Likewise. (hsa_insn_sbr::operator new): Likewise. (hsa_insn_cmp::operator new): Likewise. (hsa_insn_mem::operator new): Likewise. (hsa_insn_atomic::operator new): Likewise. (hsa_insn_signal::operator new): Likewise. (hsa_insn_seg::operator new): Likewise. (hsa_insn_call::operator new): Likewise. (hsa_insn_arg_block::operator new): Likewise. (hsa_insn_comment::operator new): Likewise. (hsa_insn_srctype::operator new): Likewise. (hsa_insn_packed::operator new): Likewise. (hsa_insn_cvt::operator new): Likewise. (hsa_insn_alloca::operator new): Likewise. (get_symbol_for_decl): Accept CONST_DECLs, put them to readonly segment. (gen_hsa_addr): Also process CONST_DECLs. (gen_hsa_addr_insns): Process CONST_DECLs by creating private copies. (gen_hsa_unary_operation): Make sure the function does not use bittype source type for firstbit and lastbit operations. (gen_hsa_popcount_to_dest): Make sure the function uses a bittype source type. * hsa-brig.c (emit_insn_operands): Cope with zero operands in an instruction. (emit_branch_insn): Renamed to emit_cond_branch_insn. Emit the width stored in the class. (emit_generic_branch_insn): New function. (emit_insn): Call emit_generic_branch_insn. (emit_signal_insn): Remove obsolete comment. Update member variable name, pick a type according to profile. (emit_alloca_insn): Remove obsolete comment. (emit_atomic_insn): Likewise. (emit_queue_insn): Get segment and memory order from the IR object. (hsa_brig_section): Make allocate_new_chunk, chunks and cur_chunk provate, add a default NULL parameter to add method. (hsa_brig_section::add): Added a new parameter, store pointer to output data there if it is non-NULL. (emit_function_directives): Use this new parameter instead of calculating the pointer itself, fix function comment. (hsa_brig_emit_function): Add forgotten endian conversion. (hsa_output_kernels): Remove unnecessary building of kernel_dependencies_vector_type. (emit_immediate_operand): Declare. (emit_directive_variable): Also emit initializers of CONST_DECLs. (gen_hsa_insn_for_internal_fn_call): Also handle IFN_RSQRT. (verify_function_arguments): Properly detect variadic arguments. * hsa-dump.c (hsa_width_specifier_name): New function. (dump_hsa_insn_1): Dump generic branch instructions, update signal member variable name. Special dumping for queue objects. * ipa-hsa.c (process_hsa_functions): Adjust after renaming m_binded_functions to m_bound_functions. Copy externally visible flag to the node. (ipa_hsa_write_summary): Likewise. (ipa_hsa_read_section): Likewise. gcc/fortran/ * f95-lang.c (DEF_HSA_BUILTIN): New macro. gcc/testsuite/ * c-c++-common/gomp/gridify-1.c: Update scan string. * gfortran.dg/gomp/gridify-1.f90: Likewise. * c-c++-common/gomp/gridify-2.c: New test. * c-c++-common/gomp/gridify-3.c: Likewise. libgomp/ * testsuite/libgomp.hsa.c/bits-insns.c: New test. * testsuite/libgomp.hsa.c/tiling-1.c: Likewise. * testsuite/libgomp.hsa.c/tiling-2.c: Likewise. Co-Authored-By: Martin Liska <mliska@suse.cz> From-SVN: r242761
2016-11-23 15:51:02 +01:00
2016-11-23 Martin Jambor <mjambor@suse.cz>
* c-c++-common/gomp/gridify-1.c: Update scan string.
* gfortran.dg/gomp/gridify-1.f90: Likewise.
* c-c++-common/gomp/gridify-2.c: New test.
* c-c++-common/gomp/gridify-3.c: Likewise.
2016-11-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/78396
* gcc.dg/vect/bb-slp-cond-1.c: Adjust.
2016-11-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/78482
* gcc.dg/torture/pr78482.c: New testcase.
2016-11-23 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/fold-cond_expr-1.c: New test.
* gcc.dg/fold-condcmpconv-1.c: New test.
* gcc.dg/fold-condcmpconv-2.c: New test.
2016-11-23 Richard Biener <rguenther@suse.de>
PR middle-end/71762
* gcc.dg/torture/pr71762-1.c: New testcase.
* gcc.dg/torture/pr71762-2.c: Likewise.
* gcc.dg/torture/pr71762-3.c: Likewise.
* gcc.dg/tree-ssa/forwprop-28.c: XFAIL.
2016-11-23 Richard Biener <rguenther@suse.de>
PR lto/78472
* g++.dg/lto/pr78472_0.c: New testcase.
* g++.dg/lto/pr78472_1.C: Likewise.
2016-11-23 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.rog>
PR tree-optimization/78154
* gcc.dg/tree-ssa/pr78154.c: New test.
2016-11-23 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* gcc.dg/pr31096.c: New testcase.
* gcc.dg/pr31096-1.c: New testcase.
2016-11-23 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/cpp/defined.c: Mark newly introduced warnings and
adjust for warning->pedwarn change.
* gcc.dg/cpp/defined-syshdr.c,
gcc.dg/cpp/defined-Wexpansion-to-defined.c,
gcc.dg/cpp/defined-Wextra-Wno-expansion-to-defined.c,
gcc.dg/cpp/defined-Wextra.c,
gcc.dg/cpp/defined-Wno-expansion-to-defined.c: New testcases.
2016-11-23 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/uninit-19.c: Add -finline-small-functions for avr.
2016-11-23 Jakub Jelinek <jakub@redhat.com>
PR target/78451
* gcc.target/i386/pr78451.c: New test.
* gcc.target/i386/pr69255-1.c: Use #pragma GCC push_options
and #pragma GCC pop_options around the first #pragma GCC target.
* gcc.target/i386/pr69255-2.c: Likewise.
* gcc.target/i386/pr69255-3.c: Likewise.
2016-11-22 Michael Collison <michael.collison@arm.com> * config/aarch64/aarch64-protos.h (aarch64_and_split_imm1, aarch64_and_split_imm2) (aarch64_and_bitmask_imm): New prototypes * config/aarch64/aarch64.c (aarch64_and_split_imm1): New overloaded function to create bit mask covering the lowest to highest bits set. (aarch64_and_split_imm2): New overloaded functions to create bit mask of zeros between first and last bit set. (aarch64_and_bitmask_imm): New function to determine if a integer is a valid two instruction "and" operation. * config/aarch64/aarch64.md:(and<mode>3): New define_insn and _split allowing wider range of constants with "and" operations. * (ior<mode>3, xor<mode>3): Use new LOGICAL2 iterator to prevent "and" operator from matching restricted constant range used for ior and xor operators. * config/aarch64/constraints.md (UsO constraint): New SImode constraint for constants in "and" operantions. (UsP constraint): New DImode constraint for constants in "and" operations. * config/aarch64/iterators.md (lconst2): New mode iterator. (LOGICAL2): New code iterator. * config/aarch64/predicates.md (aarch64_logical_and_immediate): New predicate (aarch64_logical_and_operand): New predicate allowing extended constants for "and" operations. * testsuite/gcc.target/aarch64/and_const.c: New test to verify additional constants are recognized and fewer instructions generated. * testsuite/gcc.target/aarch64/and_const2.c: New test to verify additional constants are recognized and fewer instructions generated. From-SVN: r242739
2016-11-23 08:47:25 +01:00
2016-11-23 Michael Collison <michael.collison@arm.com>
* testsuite/gcc.target/aarch64/and_const.c: New test to verify
additional constants are recognized and fewer instructions generated.
* testsuite/gcc.target/aarch64/and_const2.c: New test to verify
additional constants are recognized and fewer instructions generated.
2016-11-22 Ian Lance Taylor <iant@golang.org>
* gcc.misc-tests/godump-1.c: Update expected output for recent
changes.
2016-11-22 Marek Polacek <polacek@redhat.com>
PR tree-optimization/78455
* gcc.dg/uninit-23.c: New.
2016-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78479
* gfortran.dg/char_component_initializer_3.f90: Add PR number in a
comment.
2016-11-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78479
* gfortran.dg/char_component_initializer_3.f90: New test.
2016-11-22 Jakub Jelinek <jakub@redhat.com>
PR target/78451
* gcc.target/i386/sse-22.c: Add avx5124fmaps,avx5124vnniw to
GCC target pragma before including immintrin.h.
2016-11-22 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-3.c: New file to test the new
built-ins for vector compare equal and vector compare not equal.
2016-11-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/78443
* gfortran.dg/typebound_proc_35.f90: New test case.
2016-11-22 Georg-Johann Lay <avr@gjlay.de>
* gcc.c-torture/execute/pr30778.c (memset): Use size_t for 3rd
parameter in declaration.
2016-11-22 Georg-Johann Lay <avr@gjlay.de>
* gcc.dg/loop-split.c: Require int32plus.
* gcc.dg/stack-layout-dynamic-1.c: Require ptr32plus.
2016-11-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/arm/pr53447-5.c: Fix test expectations for neon-fpu.
2016-11-22 Georg-Johann Lay <avr@gjlay.de>
* c-c++-common/builtin-shuffle-1.c (V): Use 4 * int in vector.
2016-11-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/78439
* gcc.c-torture/compile/pr78439.c: New test.
2016-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR target/77904
* gcc.target/arm/pr77904.c: New test.
2016-11-22 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/interrupt_handler-bug-1.c (dg-options): Add
isa_rev>=2.
2016-11-22 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/78436
* gcc.c-torture/execute/pr78436.c: New test.
PR middle-end/78416
* gcc.dg/torture/pr78416.c: New test.
PR tree-optimization/78445
* gcc.dg/pr78445.c: New test.
2016-11-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR libgfortran/78449
* gfortran.dg/ieee/ieee_8.f90 (aarch64*gnu, arm*gnu*): Mark xfail.
2016-11-21 Jeff Law <law@redhat.com>
PR target/68538
* gcc.c-torture/compile/pr68538.c: New test.
2016-11-21 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/ppc-round2.c: Allow XSCVDPSXWS and XSCVDPUXWS
to be generated instead of FCTIWUZ or FCTIWZ.
2016-11-21 Jakub Jelinek <jakub@redhat.com>
PR middle-end/67335
* g++.dg/vect/simd-clone-7.cc: New test.
PR c++/71973
* g++.dg/torture/pr53321.C (size_t): Use __SIZE_TYPE__ instead of
long unsigned int.
* g++.dg/torture/pr63512.C (::strlen): Use __SIZE_TYPE__ instead of
unsigned long.
2016-11-20 Jeff Law <law@redhat.com>
PR target/25128
* gcc.target/m68k/pr25128.c: New test.
2016-11-21 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/tree-ssa/tailcall-7.c: New test.
2016-11-21 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/78324
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(test_multitoken_macro): New function.
* gcc.dg/plugin/diagnostic-test-string-literals-3.c: New test
case.
* gcc.dg/plugin/diagnostic-test-string-literals-4.c: New test
case.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the new test
cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (test_sprintf_note):
Move to...
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: ...here. Drop
-ftrack-macro-expansion=0.
(test_sprintf_note): Remove "P" macro. Add
dg-begin/end-multiline-output directives.
(LINE, buffer, ptr): Copy from builtin-sprintf-warn-1.c.
2016-11-21 Georg-Johann Lay <avr@gjlay.de>
* lib/target-supports.exp (check_effective_target_tiny) [avr]:
Return 1 for AVR_TINY.
2016-11-21 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/71785
* gcc.target/powerpc/pr71785.c: New file.
2016-11-21 Bin Cheng <bin.cheng@arm.com>
PR testsuite/78114
* gfortran.dg/vect/fast-math-mgrid-resid.f: Add additional
options. Refine test by checking predictive commining PHI
nodes in vectorized loop wrto vector factor.
re PR c++/71973 (c++ handles built-in functions inconsistently) gcc: 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/71973 * doc/invoke.texi (-Wno-builtin-declaration-mismatch): Document the new default-enabled warning.. * builtin-types.def (BT_CONST_TM_PTR): New primitive type. (BT_PTR_CONST_STRING): Updated. (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR): Removed. (BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR): New function type. * builtins.def (DEF_TM_BUILTIN): Disable BOTH_P for TM builtins. (strftime): Update builtin function. * tree-core.h (TI_CONST_TM_PTR_TYPE): New enum value. * tree.h (const_tm_ptr_type_node): New type node. * tree.c (free_lang_data, build_common_tree_nodes): Initialize const_tm_ptr_type_node. c-family: 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/71973 * c.opt (-Wbuiltin-declaration-mismatch): New warning. * c-common.c (c_common_nodes_and_builtins): Initialize const_tm_ptr_type_node. c: 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/71973 * c-decl.c (diagnose_mismatched_decls): Use OPT_Wbuiltin_declaration_mismatch here too. cp: 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/71973 * decl.c (duplicate_decls): Warn when a built-in function is redefined. Don't overload builtin functions with C++ functions. Handle const_tm_ptr_type_node like file_ptr_node. Copy the TREE_NOTHROW flag unmodified to the old decl. lto: 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/71973 * lto-lang.c (lto_init): Assert const_tm_ptr_type_node is sane. testsuite: 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> PR c++/71973 * g++.dg/pr71973-1.C: New test. * g++.dg/pr71973-2.C: New test. * g++.dg/pr71973-3.C: New test. * g++.dg/lto/pr68811_0.C: Add -w to first lto-options. * g++.dg/lookup/extern-c-redecl4.C: Adjust test expectations. * g++.old-deja/g++.mike/p700.C: Add -Wno-builtin-declaration-mismatch to dg-options. * g++.old-deja/g++.other/realloc.C: Likewise. * g++.old-deja/g++.other/builtins10.C: Adjust test expectations. From-SVN: r242662
2016-11-21 15:17:05 +01:00
2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/71973
* g++.dg/pr71973-1.C: New test.
* g++.dg/pr71973-2.C: New test.
* g++.dg/pr71973-3.C: New test.
* g++.dg/lto/pr68811_0.C: Add -w to first lto-options.
* g++.dg/lookup/extern-c-redecl4.C: Adjust test expectations.
* g++.old-deja/g++.mike/p700.C: Add -Wno-builtin-declaration-mismatch
to dg-options.
* g++.old-deja/g++.other/realloc.C: Likewise.
* g++.old-deja/g++.other/builtins10.C: Adjust test expectations.
2016-11-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/78413
* gcc.dg/tree-ssa/pr78413.c: New test.
2016-11-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/empty_fiq_handler.c: Skip if -mthumb is passed in and
target is Thumb-only.
2016-11-20 Jeff Law <law@redhat.com>
PR target/48551
* gcc.target/m68k/pr48551.c: New test.
2016-11-20 Harald Anlauf <anlauf@gmx.de>
PR fortran/69741
* gfortran.dg/forall_18.f90: New testcase.
2016-11-20 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/cmpexactdiv.c: New file.
2016-11-20 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78395
* gfortran.dg/typebound_operator_21.f03: New test.
2016-11-20 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/divide-5.c: New file.
2016-11-19 Andreas Schwab <schwab@linux-m68k.org>
* gcc.c-torture/execute/comp-goto-1.c (insn_t): Change offset to
signed int.
2016-11-19 John David Anglin <danglin@gcc.gnu.org>
* gfortran.dg/coarray_alloc_comp_1.f08: Add "-latomic" option if
libatomic_available.
* gfortran.dg/coarray_alloc_comp_2.f08: Likewise.
* gfortran.dg/coarray_allocate_10.f08: Likewise.
* gfortran.dg/coarray_allocate_7.f08: Likewise.
* gfortran.dg/coarray_allocate_8.f08: Likewise.
* gfortran.dg/coarray_allocate_9.f08: Likewise.
* gfortran.dg/coarray_send_by_ref_1.f08: Likewise.
* gfortran.dg/coarray_stat_2.f90: Likewise.
* gfortran.dg/coindexed_1.f90: Likewise.
2016-11-18 Jeff Law <law@redhat.com>
PR target/25111
* gcc.target/m68k/pr25111.c: New test.
2016-11-18 Jakub Jelinek <jakub@redhat.com>
PR c++/68180
* g++.dg/cpp1y/pr68180.C: Add -Wno-psabi as dg-additional-options.
PR middle-end/78419
* gcc.target/i386/pr78419.c: New test.
PR c++/77285
* g++.dg/tls/pr77285-1.C: New test.
* g++.dg/tls/pr77285-2.C: New test.
2016-11-18 Jeff Law <law@redhat.com>
PR target/25112
* gcc.target/m68k/pr25112: New test.
2016-11-18 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/tree-ssa/pr71179.c: Prune ABI message.
* gcc.dg/tree-ssa/ssa-fre-55.c: Same.
[ARM] Optional -mthumb for Thumb only targets 2016-11-18 Terry Guo <terry.guo@arm.com> Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * common/config/arm/arm-common.c (arm_target_thumb_only): New function. * config/arm/arm-opts.h: Include arm-flags.h. (struct arm_arch_core_flag): Define. (arm_arch_core_flags): Define. * config/arm/arm-protos.h: Include arm-flags.h (FL_NONE, FL_ANY, FL_CO_PROC, FL_ARCH3M, FL_MODE26, FL_MODE32, FL_ARCH4, FL_ARCH5, FL_THUMB, FL_LDSCHED, FL_STRONG, FL_ARCH5E, FL_XSCALE, FL_ARCH6, FL_VFPV2, FL_WBUF, FL_ARCH6K, FL_THUMB2, FL_NOTM, FL_THUMB_DIV, FL_VFPV3, FL_NEON, FL_ARCH7EM, FL_ARCH7, FL_ARM_DIV, FL_ARCH8, FL_CRC32, FL_SMALLMUL, FL_NO_VOLATILE_CE, FL_IWMMXT, FL_IWMMXT2, FL_ARCH6KZ, FL2_ARCH8_1, FL2_ARCH8_2, FL2_FP16INST, FL_TUNE, FL_FOR_ARCH2, FL_FOR_ARCH3, FL_FOR_ARCH3M, FL_FOR_ARCH4, FL_FOR_ARCH4T, FL_FOR_ARCH5, FL_FOR_ARCH5T, FL_FOR_ARCH5E, FL_FOR_ARCH5TE, FL_FOR_ARCH5TEJ, FL_FOR_ARCH6, FL_FOR_ARCH6J, FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK, FL_FOR_ARCH6KZ, FL_FOR_ARCH6T2, FL_FOR_ARCH6M, FL_FOR_ARCH7, FL_FOR_ARCH7A, FL_FOR_ARCH7VE, FL_FOR_ARCH7R, FL_FOR_ARCH7M, FL_FOR_ARCH7EM, FL_FOR_ARCH8A, FL2_FOR_ARCH8_1A, FL2_FOR_ARCH8_2A, FL_FOR_ARCH8M_BASE, FL_FOR_ARCH8M_MAIN, arm_feature_set, ARM_FSET_MAKE, ARM_FSET_MAKE_CPU1, ARM_FSET_MAKE_CPU2, ARM_FSET_CPU1, ARM_FSET_CPU2, ARM_FSET_EMPTY, ARM_FSET_ANY, ARM_FSET_HAS_CPU1, ARM_FSET_HAS_CPU2, ARM_FSET_HAS_CPU, ARM_FSET_ADD_CPU1, ARM_FSET_ADD_CPU2, ARM_FSET_DEL_CPU1, ARM_FSET_DEL_CPU2, ARM_FSET_UNION, ARM_FSET_INTER, ARM_FSET_XOR, ARM_FSET_EXCLUDE, ARM_FSET_IS_EMPTY, ARM_FSET_CPU_SUBSET): Move to ... * config/arm/arm-flags.h: This new file. * config/arm/arm.h (TARGET_MODE_SPEC_FUNCTIONS): Define. (EXTRA_SPEC_FUNCTIONS): Add TARGET_MODE_SPEC_FUNCTIONS to its value. (TARGET_MODE_SPECS): Define. (DRIVER_SELF_SPECS): Add TARGET_MODE_SPECS to its value. gcc/testsuite/ * gcc.target/arm/optional_thumb-1.c: New test. * gcc.target/arm/optional_thumb-2.c: New test. * gcc.target/arm/optional_thumb-3.c: New test. From-SVN: r242597
2016-11-18 17:45:37 +01:00
2016-11-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/optional_thumb-1.c: New test.
* gcc.target/arm/optional_thumb-2.c: New test.
* gcc.target/arm/optional_thumb-3.c: New test.
2016-11-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/htm-builtins-1.c (DEFAULT_MAX_REPETITIONS)
(DEFAULT_REQUIRED_QUORUM, NUM_WARMUP_RUNS): Lower requirements for
successful test.
* gcc.target/s390/htm-builtins-2.c (DEFAULT_MAX_REPETITIONS)
(DEFAULT_REQUIRED_QUORUM): Likewise.
MIPS: Check for sysroot support when upgrading/downgrading test options gcc/testsuite/ * gcc.target/mips/inline-memcpy-1.c (dg-options): Add (REQUIRES_STDLIB). * gcc.target/mips/inline-memcpy-2.c: Ditto. * gcc.target/mips/inline-memcpy-3.c: Ditto. * gcc.target/mips/inline-memcpy-4.c: Ditto. * gcc.target/mips/inline-memcpy-5.c: Ditto. * gcc.target/mips/loongson-shift-count-truncated-1.c: Ditto. * gcc.target/mips/loongson-simd.c: Ditto. * gcc.target/mips/memcpy-1.c: Ditto. * gcc.target/mips/mips-3d-1.c: Ditto. * gcc.target/mips/mips-3d-2.c: Ditto. * gcc.target/mips/mips-3d-3.c: Ditto. * gcc.target/mips/mips-3d-4.c: Ditto. * gcc.target/mips/mips-3d-5.c: Ditto. * gcc.target/mips/mips-3d-6.c: Ditto. * gcc.target/mips/mips-3d-7.c: Ditto. * gcc.target/mips/mips-3d-8.c: Ditto. * gcc.target/mips/mips-3d-9.c: Ditto. * gcc.target/mips/mips-ps-1.c: Ditto. * gcc.target/mips/mips-ps-2.c: Ditto. * gcc.target/mips/mips-ps-3.c: Ditto. * gcc.target/mips/mips-ps-4.c: Ditto. * gcc.target/mips/mips-ps-6.c: Ditto. * gcc.target/mips/mips16-attributes.c: Ditto. * gcc.target/mips/mips32-dsp-run.c: Ditto. * gcc.target/mips/mips32-dsp.c: Ditto. * gcc.target/mips/save-restore-1.c: Ditto. * gcc.target/mips/mips.exp (mips_option_groups): Add stdlib. (mips_preprocess): Add ignore_output argument that when set will not return the pre-processed output. (mips_arch_info): Update arguments for the call to mips_preprocess. (mips-dg-init): Ditto. (mips-dg-options): Check if a test having test option (REQUIRES_STDLIB) has the required sysroot support for the current test options. Co-Authored-By: Toma Tabacu <toma.tabacu@imgtec.com> From-SVN: r242587
2016-11-18 13:34:19 +01:00
2016-11-18 Andrew Bennett <andrew.bennett@imgtec.com>
Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/inline-memcpy-1.c (dg-options):
Add (REQUIRES_STDLIB).
MIPS: Check for sysroot support when upgrading/downgrading test options gcc/testsuite/ * gcc.target/mips/inline-memcpy-1.c (dg-options): Add (REQUIRES_STDLIB). * gcc.target/mips/inline-memcpy-2.c: Ditto. * gcc.target/mips/inline-memcpy-3.c: Ditto. * gcc.target/mips/inline-memcpy-4.c: Ditto. * gcc.target/mips/inline-memcpy-5.c: Ditto. * gcc.target/mips/loongson-shift-count-truncated-1.c: Ditto. * gcc.target/mips/loongson-simd.c: Ditto. * gcc.target/mips/memcpy-1.c: Ditto. * gcc.target/mips/mips-3d-1.c: Ditto. * gcc.target/mips/mips-3d-2.c: Ditto. * gcc.target/mips/mips-3d-3.c: Ditto. * gcc.target/mips/mips-3d-4.c: Ditto. * gcc.target/mips/mips-3d-5.c: Ditto. * gcc.target/mips/mips-3d-6.c: Ditto. * gcc.target/mips/mips-3d-7.c: Ditto. * gcc.target/mips/mips-3d-8.c: Ditto. * gcc.target/mips/mips-3d-9.c: Ditto. * gcc.target/mips/mips-ps-1.c: Ditto. * gcc.target/mips/mips-ps-2.c: Ditto. * gcc.target/mips/mips-ps-3.c: Ditto. * gcc.target/mips/mips-ps-4.c: Ditto. * gcc.target/mips/mips-ps-6.c: Ditto. * gcc.target/mips/mips16-attributes.c: Ditto. * gcc.target/mips/mips32-dsp-run.c: Ditto. * gcc.target/mips/mips32-dsp.c: Ditto. * gcc.target/mips/save-restore-1.c: Ditto. * gcc.target/mips/mips.exp (mips_option_groups): Add stdlib. (mips_preprocess): Add ignore_output argument that when set will not return the pre-processed output. (mips_arch_info): Update arguments for the call to mips_preprocess. (mips-dg-init): Ditto. (mips-dg-options): Check if a test having test option (REQUIRES_STDLIB) has the required sysroot support for the current test options. Co-Authored-By: Toma Tabacu <toma.tabacu@imgtec.com> From-SVN: r242587
2016-11-18 13:34:19 +01:00
* gcc.target/mips/inline-memcpy-2.c: Ditto.
* gcc.target/mips/inline-memcpy-3.c: Ditto.
* gcc.target/mips/inline-memcpy-4.c: Ditto.
* gcc.target/mips/inline-memcpy-5.c: Ditto.
* gcc.target/mips/loongson-shift-count-truncated-1.c: Ditto.
* gcc.target/mips/loongson-simd.c: Ditto.
* gcc.target/mips/memcpy-1.c: Ditto.
* gcc.target/mips/mips-3d-1.c: Ditto.
* gcc.target/mips/mips-3d-2.c: Ditto.
* gcc.target/mips/mips-3d-3.c: Ditto.
* gcc.target/mips/mips-3d-4.c: Ditto.
* gcc.target/mips/mips-3d-5.c: Ditto.
* gcc.target/mips/mips-3d-6.c: Ditto.
* gcc.target/mips/mips-3d-7.c: Ditto.
* gcc.target/mips/mips-3d-8.c: Ditto.
* gcc.target/mips/mips-3d-9.c: Ditto.
* gcc.target/mips/mips-ps-1.c: Ditto.
* gcc.target/mips/mips-ps-2.c: Ditto.
* gcc.target/mips/mips-ps-3.c: Ditto.
* gcc.target/mips/mips-ps-4.c: Ditto.
* gcc.target/mips/mips-ps-6.c: Ditto.
* gcc.target/mips/mips16-attributes.c: Ditto.
* gcc.target/mips/mips32-dsp-run.c: Ditto.
* gcc.target/mips/mips32-dsp.c: Ditto.
* gcc.target/mips/save-restore-1.c: Ditto.
* gcc.target/mips/mips.exp (mips_option_groups): Add stdlib.
(mips_preprocess): Add ignore_output argument that when set
will not return the pre-processed output.
(mips_arch_info): Update arguments for the call to mips_preprocess.
MIPS: Check for sysroot support when upgrading/downgrading test options gcc/testsuite/ * gcc.target/mips/inline-memcpy-1.c (dg-options): Add (REQUIRES_STDLIB). * gcc.target/mips/inline-memcpy-2.c: Ditto. * gcc.target/mips/inline-memcpy-3.c: Ditto. * gcc.target/mips/inline-memcpy-4.c: Ditto. * gcc.target/mips/inline-memcpy-5.c: Ditto. * gcc.target/mips/loongson-shift-count-truncated-1.c: Ditto. * gcc.target/mips/loongson-simd.c: Ditto. * gcc.target/mips/memcpy-1.c: Ditto. * gcc.target/mips/mips-3d-1.c: Ditto. * gcc.target/mips/mips-3d-2.c: Ditto. * gcc.target/mips/mips-3d-3.c: Ditto. * gcc.target/mips/mips-3d-4.c: Ditto. * gcc.target/mips/mips-3d-5.c: Ditto. * gcc.target/mips/mips-3d-6.c: Ditto. * gcc.target/mips/mips-3d-7.c: Ditto. * gcc.target/mips/mips-3d-8.c: Ditto. * gcc.target/mips/mips-3d-9.c: Ditto. * gcc.target/mips/mips-ps-1.c: Ditto. * gcc.target/mips/mips-ps-2.c: Ditto. * gcc.target/mips/mips-ps-3.c: Ditto. * gcc.target/mips/mips-ps-4.c: Ditto. * gcc.target/mips/mips-ps-6.c: Ditto. * gcc.target/mips/mips16-attributes.c: Ditto. * gcc.target/mips/mips32-dsp-run.c: Ditto. * gcc.target/mips/mips32-dsp.c: Ditto. * gcc.target/mips/save-restore-1.c: Ditto. * gcc.target/mips/mips.exp (mips_option_groups): Add stdlib. (mips_preprocess): Add ignore_output argument that when set will not return the pre-processed output. (mips_arch_info): Update arguments for the call to mips_preprocess. (mips-dg-init): Ditto. (mips-dg-options): Check if a test having test option (REQUIRES_STDLIB) has the required sysroot support for the current test options. Co-Authored-By: Toma Tabacu <toma.tabacu@imgtec.com> From-SVN: r242587
2016-11-18 13:34:19 +01:00
(mips-dg-init): Ditto.
(mips-dg-options): Check if a test having test option
(REQUIRES_STDLIB) has the required sysroot support for
the current test options.
2016-11-17 Jeff Law <law@redhat.com>
PR middle-end/38219
* gcc.dg/tree-ssa/vrp47.c: Do not run on m68k.
PR target/47192
* gcc.target/m68k/pr47192.c: New test.
2016-11-17 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/branch-cost-1.c (dg-options): Use (HAS_MOVN)
instead of isa>=4, in order to downgrade to R5.
2016-11-17 Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/cmem-bit-1.c: New file.
* gcc.target/arc/cmem-bit-2.c: New file.
* gcc.target/arc/cmem-bit-3.c: New file.
* gcc.target/arc/cmem-bit-4.c: New file.
2016-11-17 Andrew Senkevich <andrew.senkevich@intel.com>
* gcc.target/i386/builtin_target.c: Handle new "avx5124vnniw",
"avx5124fmaps".
* gcc.target/i386/funcspec-56.inc: Test new attributes.
2016-11-17 Kirill Yukhin <kirill.yukhin@gmail.com>
Andrew Senkevich <andrew.senkevich@intel.com>
* gcc.target/i386/avx5124fmadd-v4fmaddps-1.c: New test.
* gcc.target/i386/avx5124fmadd-v4fmaddps-2.c: Ditto.
* gcc.target/i386/avx5124fmadd-v4fmaddss-1.c: Ditto.
* gcc.target/i386/avx5124fmadd-v4fnmaddps-1.c: Ditto.
* gcc.target/i386/avx5124fmadd-v4fnmaddps-2.c: Ditto.
* gcc.target/i386/avx5124fmadd-v4fnmaddss-1.c: Ditto.
* gcc.target/i386/avx5124fmaps-check.h: Ditto.
* gcc.target/i386/avx5124vnniw-check.h: Ditto.
* gcc.target/i386/avx5124vnniw-vp4dpwssd-1.c: Ditto.
* gcc.target/i386/avx5124vnniw-vp4dpwssd-2.c: Ditto.
* gcc.target/i386/avx5124vnniw-vp4dpwssds-1.c: Ditto.
* gcc.target/i386/avx5124vnniw-vp4dpwssds-2.c: Ditto.
* gcc.target/i386/avx512f-helper.h: Add avx5124fmaps-check.h,
avx5124vnniw-check.h.
* gcc.target/i386/i386.exp (check_effective_target_avx5124fmaps,
check_effective_target_avx5124vnniw): New.
* gcc.target/i386/m128-check.h (ESP_FLOAT, ESP_DOUBLE):
Set under ifndef.
* gcc.target/i386/sse-12.c: Add -mavx5124fmaps, -mavx5124vnniw.
* gcc.target/i386/sse-13.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
2016-11-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55080
* g++.dg/parse/pr55080.C: New.
2016-11-17 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78101
* gcc.target/powerpc/fusion4.c: New test.
2016-11-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR target/77933
* gcc.target/arm/pr77933-1.c: New test.
* gcc.target/arm/pr77933-2.c: Likewise.
2016-11-17 Jakub Jelinek <jakub@redhat.com>
PR middle-end/78201
* g++.dg/opt/pr78201.C: New test.
2016-11-17 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/pr78333.c: Add empty implementations of
__cyg_profile_func_enter() and __cyg_profile_func_exit() to avoid
problems on non-glibc systems.
2016-11-17 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(test_raw_string_one_liner): New function.
(test_raw_string_multiline): New function.
2016-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/store_repeating_constant_1.c: New test.
* gcc.target/aarch64/store_repeating_constant_2.c: Likewise.
2016-11-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Richard Biener <rguenther@suse.de>
PR tree-optimization/77848
* gfortran.dg/vect/pr77848.f: New test.
2016-11-17 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/77308
* gcc.target/arm/pr53447-5.c: New test.
* lib/target-supports.exp
(check_effective_target_arm_prefer_ldrd_strd): Adjust.
[ARC] Update target specific tests. gcc/testsuite 2016-11-17 Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/abitest.S: New file. * gcc.target/arc/abitest.h: Likewise. * gcc.target/arc/va_args-1.c: Likewise. * gcc.target/arc/va_args-2.c: Likewise. * gcc.target/arc/va_args-3.c: Likewise. * gcc.target/arc/mcrc.c: Deleted. * gcc.target/arc/mdsp-packa.c: Likewise. * gcc.target/arc/mdvbf.c: Likewise. * gcc.target/arc/mmac-24.c: Likewise. * gcc.target/arc/mmac-d16.c: Likewise. * gcc.target/arc/mno-crc.c: Likewise. * gcc.target/arc/mno-dsp-packa.c: Likewise. * gcc.target/arc/mno-dvbf.c: Likewise. * gcc.target/arc/mno-mac-24.c: Likewise. * gcc.target/arc/mno-mac-d16.c: Likewise. * gcc.target/arc/mno-rtsc.c: Likewise. * gcc.target/arc/mno-xy.c: Likewise. * gcc.target/arc/mrtsc.c: Likewise. * gcc.target/arc/arc.exp (check_effective_target_arcem): New function. (check_effective_target_arc700): Likewise. (check_effective_target_arc6xx): Likewise. (check_effective_target_arcmpy): Likewise. (check_effective_target_archs): Likewise. (check_effective_target_clmcpu): Likewise. (check_effective_target_barrelshifter): Likewise. * gcc.target/arc/barrel-shifter-1.c: Changed. * gcc.target/arc/builtin_simd.c: Test only for ARC700 cpus. * gcc.target/arc/cmem-1.c: Changed. * gcc.target/arc/cmem-2.c: Likewise. * gcc.target/arc/cmem-3.c: Likewise. * gcc.target/arc/cmem-4.c: Likewise. * gcc.target/arc/cmem-5.c: Likewise. * gcc.target/arc/cmem-6.c: Likewise. * gcc.target/arc/cmem-7.c: Likewise. * gcc.target/arc/interrupt-1.c: Test for RTIE as well. * gcc.target/arc/interrupt-2.c: Skip it for ARCv2 cores. * gcc.target/arc/interrupt-3.c: Match also ARCv2 warnings. * gcc.target/arc/jump-around-jump.c: Update options. * gcc.target/arc/mARC601.c: Changed. * gcc.target/arc/mcpu-arc600.c: Changed. * gcc.target/arc/mcpu-arc601.c: Changed. * gcc.target/arc/mcpu-arc700.c: Changed. * gcc.target/arc/mdpfp.c: Skip for ARCv2 cores. * gcc.target/arc/movb-1.c: Changed. * gcc.target/arc/movb-2.c: Likewise. * gcc.target/arc/movb-3.c: Likewise. * gcc.target/arc/movb-4.c: Likewise. * gcc.target/arc/movb-5.c: Likewise. * gcc.target/arc/movb_cl-1.c: Likewise. * gcc.target/arc/movb_cl-2.c: Likewise. * gcc.target/arc/movbi_cl-1.c: Likewise. * gcc.target/arc/movh_cl-1.c: Likewise. * gcc.target/arc/mspfp.c: Skip for ARC HS cores. * gcc.target/arc/mul64.c: Enable it only for ARC600. * gcc.target/arc/mulsi3_highpart-1.c: Scan for ARCv2 instructions. * gcc.target/arc/mulsi3_highpart-2.c: Skip it for ARCv1 cores. * gcc.target/arc/no-dpfp-lrsr.c: Skip it for ARC HS. * gcc.target/arc/trsub.c: Only for ARC EM cores. * gcc.target/arc/builtin_simdarc.c: Changed. * gcc.target/arc/extzv-1.c: Likewise. * gcc.target/arc/insv-1.c: Likewise. * gcc.target/arc/insv-2.c: Likewise. * gcc.target/arc/mA6.c: Likewise. * gcc.target/arc/mA7.c: Likewise. * gcc.target/arc/mARC600.c: Likewise. * gcc.target/arc/mARC700.c: Likewise. * gcc.target/arc/mcpu-arc600.c: Likewise. * gcc.target/arc/mcpu-arc700.c: Likewise. * gcc.target/arc/movl-1.c: Likewise. * gcc.target/arc/nps400-1.c: Likewise. * gcc.target/arc/trsub.c: Likewise. * gcc.target/arc/barrel-shifter-2.c: Check for barrel shifter configuration. * gcc.target/arc/mlock.c: Skip for arc6xx configurations. * gcc.target/arc/mswape.c: Likewise. From-SVN: r242545
2016-11-17 14:43:20 +01:00
2016-11-17 Claudiu Zissulescu <claziss@synopsys.com>
* gcc.target/arc/abitest.S: New file.
* gcc.target/arc/abitest.h: Likewise.
* gcc.target/arc/va_args-1.c: Likewise.
* gcc.target/arc/va_args-2.c: Likewise.
* gcc.target/arc/va_args-3.c: Likewise.
* gcc.target/arc/mcrc.c: Deleted.
* gcc.target/arc/mdsp-packa.c: Likewise.
* gcc.target/arc/mdvbf.c: Likewise.
* gcc.target/arc/mmac-24.c: Likewise.
* gcc.target/arc/mmac-d16.c: Likewise.
* gcc.target/arc/mno-crc.c: Likewise.
* gcc.target/arc/mno-dsp-packa.c: Likewise.
* gcc.target/arc/mno-dvbf.c: Likewise.
* gcc.target/arc/mno-mac-24.c: Likewise.
* gcc.target/arc/mno-mac-d16.c: Likewise.
* gcc.target/arc/mno-rtsc.c: Likewise.
* gcc.target/arc/mno-xy.c: Likewise.
* gcc.target/arc/mrtsc.c: Likewise.
* gcc.target/arc/arc.exp (check_effective_target_arcem): New
function.
(check_effective_target_arc700): Likewise.
(check_effective_target_arc6xx): Likewise.
(check_effective_target_arcmpy): Likewise.
(check_effective_target_archs): Likewise.
(check_effective_target_clmcpu): Likewise.
(check_effective_target_barrelshifter): Likewise.
* gcc.target/arc/barrel-shifter-1.c: Changed.
* gcc.target/arc/builtin_simd.c: Test only for ARC700 cpus.
* gcc.target/arc/cmem-1.c: Changed.
* gcc.target/arc/cmem-2.c: Likewise.
* gcc.target/arc/cmem-3.c: Likewise.
* gcc.target/arc/cmem-4.c: Likewise.
* gcc.target/arc/cmem-5.c: Likewise.
* gcc.target/arc/cmem-6.c: Likewise.
* gcc.target/arc/cmem-7.c: Likewise.
* gcc.target/arc/interrupt-1.c: Test for RTIE as well.
* gcc.target/arc/interrupt-2.c: Skip it for ARCv2 cores.
* gcc.target/arc/interrupt-3.c: Match also ARCv2 warnings.
* gcc.target/arc/jump-around-jump.c: Update options.
* gcc.target/arc/mARC601.c: Changed.
* gcc.target/arc/mcpu-arc600.c: Changed.
* gcc.target/arc/mcpu-arc601.c: Changed.
* gcc.target/arc/mcpu-arc700.c: Changed.
* gcc.target/arc/mdpfp.c: Skip for ARCv2 cores.
* gcc.target/arc/movb-1.c: Changed.
* gcc.target/arc/movb-2.c: Likewise.
* gcc.target/arc/movb-3.c: Likewise.
* gcc.target/arc/movb-4.c: Likewise.
* gcc.target/arc/movb-5.c: Likewise.
* gcc.target/arc/movb_cl-1.c: Likewise.
* gcc.target/arc/movb_cl-2.c: Likewise.
* gcc.target/arc/movbi_cl-1.c: Likewise.
* gcc.target/arc/movh_cl-1.c: Likewise.
* gcc.target/arc/mspfp.c: Skip for ARC HS cores.
* gcc.target/arc/mul64.c: Enable it only for ARC600.
* gcc.target/arc/mulsi3_highpart-1.c: Scan for ARCv2 instructions.
* gcc.target/arc/mulsi3_highpart-2.c: Skip it for ARCv1 cores.
* gcc.target/arc/no-dpfp-lrsr.c: Skip it for ARC HS.
* gcc.target/arc/trsub.c: Only for ARC EM cores.
* gcc.target/arc/builtin_simdarc.c: Changed.
* gcc.target/arc/extzv-1.c: Likewise.
* gcc.target/arc/insv-1.c: Likewise.
* gcc.target/arc/insv-2.c: Likewise.
* gcc.target/arc/mA6.c: Likewise.
* gcc.target/arc/mA7.c: Likewise.
* gcc.target/arc/mARC600.c: Likewise.
* gcc.target/arc/mARC700.c: Likewise.
* gcc.target/arc/mcpu-arc600.c: Likewise.
* gcc.target/arc/mcpu-arc700.c: Likewise.
* gcc.target/arc/movl-1.c: Likewise.
* gcc.target/arc/nps400-1.c: Likewise.
* gcc.target/arc/trsub.c: Likewise.
* gcc.target/arc/barrel-shifter-2.c: Check for barrel shifter
configuration.
* gcc.target/arc/mlock.c: Skip for arc6xx configurations.
* gcc.target/arc/mswape.c: Likewise.
2016-11-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68180
* g++.dg/cpp1y/pr68180.C: New.
2016-11-17 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR tree-optimization/78319
* gcc.dg/uninit-pred-8_a.c (foo): Mark dg-bogus test to xfail on
arm-none-eabi.
2016-11-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/78306
* gcc.dg/cilk-plus/pr78306.c: New testcase.
2016-11-17 Richard Biener <rguenther@suse.de>
PR middle-end/78305
* gcc.dg/torture/pr78305.c: New testcase.
2016-11-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/66227
* gfortran.dg/extends_type_of_3.f90: Fix and extend the test case.
2016-11-16 Marek Polacek <polacek@redhat.com>
PR c/78285
* gcc.dg/switch-5.c: Turn several dg-errors into dg-messages.
* g++.dg/ext/case-range2.C: Likewise.
2016-11-16 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/58001
* gfortran.dg/fmt_tab_1.f90: Adjust testcase.
* gfortran.dg/fmt_tab_2.f90: Ditto.
2016-11-16 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/78378
* gcc.c-torture/execute/pr78378.c: New test.
gcc: remove unneeded global related to hot/cold partitioning The `user_defined_section_attribute' is used as part of the condition to determine if GCC should partition blocks within a function into hot and cold blocks. This global is initially false, and is set to true from within the file parse phase of GCC, as part of the attribute handling hook. The `user_defined_section_attribute' is reset to false as part of the final pass of GCC. However, the final pass is part of the optimisation phase of the compiler, and so if at any point during the file parse phase any function, or data, has a section attribute the global `user_defined_section_attribute' will be set to true. When GCC performs the block partitioning pass on the first function, if `user_defined_section_attribute' is true then the function will not be partitioned. Notice though, that due to the above, whether we partition this first function or not has nothing to do with whether the function has a section attribute, instead, if any function or data in the parsed file has a section attribute then we don't partition the first function. After performing (or not) the block partitioning pass on the first function we perform the final pass on the first function, at which point we reset `user_defined_section_attribute' to false. As parsing is complete by this point, we will never set `user_defined_section_attribute' to true after that, and so all of the following functions will have the partition blocks pass performed on them, even if the function has a section attribute, and will not be partitioned. Luckily we don't end up partitioning functions that should not be partitioned though. Due to the way that functions are selected during the assembler writing phase, if a function has a section attribute this takes priority over any hot/cold block partitioning that has been done. What we see from the above then is that the `user_defined_section_attribute' mechanism is broken. It was originally created when GCC parsed, optimised, and generated assembler function at a time. Now that we deal with the whole file in one go, we need to update the mechanism used to gate the block partitioning pass. This patch does this by looking specifically for a section attribute on the function DECL, which removes the need for a global variable, and will work whether we parse the whole file in one go, or one function at a time. A few new tests have been added. These check for the case where a function is not partitioned when it could be. gcc/ChangeLog: * gcc/bb-reorder.c: Remove 'toplev.h' include. (pass_partition_blocks::gate): No longer check user_defined_section_attribute, instead check the function decl for a section attribute. * gcc/c-family/c-attribs.c (handle_section_attribute): No longer set user_defined_section_attribute. * gcc/final.c (rest_of_handle_final): Likewise. * gcc/toplev.c: Remove definition of user_defined_section_attribute. * gcc/toplev.h: Remove declaration of user_defined_section_attribute. gcc/testsuiteChangeLog: * gcc.dg/tree-prof/section-attr-1.c: New file. * gcc.dg/tree-prof/section-attr-2.c: New file. * gcc.dg/tree-prof/section-attr-3.c: New file. From-SVN: r242519
2016-11-16 23:10:52 +01:00
2016-11-16 Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.dg/tree-prof/section-attr-1.c: New file.
* gcc.dg/tree-prof/section-attr-2.c: New file.
* gcc.dg/tree-prof/section-attr-3.c: New file.
2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
* gcc.target/mips/code-readable-4.c (dg-final): Expect `dla'
rather than `la'.
2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
* gcc.target/mips/call-1.c (dg-options): Add `-mno-micromips'.
(dg-final): Remove microMIPS JALRS mnemonic matching.
* gcc.target/mips/call-2.c (dg-options): Add `-mno-micromips'.
(dg-final): Remove microMIPS JALRS mnemonic matching.
* gcc.target/mips/call-3.c (dg-options): Add `-mno-micromips'.
(dg-final): Remove microMIPS JALRS mnemonic matching.
* gcc.target/mips/call-4.c (dg-options): Add `-mno-micromips'.
* gcc.target/mips/call-5.c (dg-options): Add `-mno-micromips'.
* gcc.target/mips/call-6.c (dg-options): Add `-mno-micromips'.
* gcc.target/mips/call-1u.c: New test case.
* gcc.target/mips/call-2u.c: New test case.
* gcc.target/mips/call-3u.c: New test case.
* gcc.target/mips/call-4u.c: New test case.
* gcc.target/mips/call-5u.c: New test case.
* gcc.target/mips/call-6u.c: New test case.
2016-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/empty_fiq_handler.c: New test.
2016-11-16 Jakub Jelinek <jakub@redhat.com>
PR fortran/78299
* gfortran.dg/gomp/pr78299.f90: New test.
2015-11-16 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.dg/optimize-bswapdi-3.c: Remove xfail.
* gcc.dg/optimize-bswaphi-1.c: Likewise.
* gcc.dg/optimize-bswapsi-2.c: Likewise.
2016-11-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR libgfortran/78314
* gfortran.dg/ieee/ieee_6.f90: Use ieee_support_halting.
2016-11-16 Bin Cheng <bin.cheng@arm.com>
* gcc.target/arm/ivopts-orig_biv-inc.c: Adjust test string
according to updated dump info.
nvptx backend prerequisites for OpenMP offloading gcc/ * config/nvptx/mkoffload.c (main): Check that either OpenACC or OpenMP is selected. Pass -mgomp to offload compiler in OpenMP case. * config/nvptx/nvptx-protos.h (nvptx_shuffle_kind): Move enum declaration from nvptx.c. (nvptx_gen_shuffle): Declare. (nvptx_output_set_softstack): Declare. * config/nvptx/nvptx.c (nvptx_shuffle_kind): Move to nvptx-protos.h. (need_softstack_decl): New variable. (need_unisimt_decl): New variable. (diagnose_openacc_conflict): New. Use it... (nvptx_option_override): ...here. Handle TARGET_GOMP. (nvptx_encode_section_info): Handle "shared" attribute. (write_as_kernel): Restrict to OpenACC target regions. (init_softstack_frame): New. (nvptx_init_unisimt_predicate): New. (write_omp_entry): New. Use it... (nvptx_declare_function_name): ...here to emit OpenMP target region entrypoints. Handle TARGET_SOFT_STACK. Call nvptx_init_unisimt_predicate. (nvptx_output_set_softstack): New. (nvptx_get_drap_rtx): Return %argp as the DRAP if needed. (nvptx_gen_shuffle): Export. (nvptx_output_call_insn): Handle COND_EXEC patterns. Emit instruction predicate. (nvptx_print_operand): Fix handling of instruction predicates. (nvptx_get_unisimt_master): New helper function. (nvptx_get_unisimt_predicate): Ditto. (nvptx_call_insn_is_syscall_p): Ditto. (nvptx_unisimt_handle_set): Ditto. (nvptx_reorg_uniform_simt): New. Transform code for -muniform-simt. (nvptx_reorg): Call nvptx_reorg_uniform_simt. (nvptx_handle_shared_attribute): New. Use it... (nvptx_attribute_table): ... here (new entry). (nvptx_record_offload_symbol): Handle NULL attributes. (nvptx_file_end): Handle need_softstack_decl and need_unisimt_decl. (nvptx_simt_vf): New. (TARGET_SIMT_VF): Define. * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Define __nvptx_softstack or __nvptx_unisimt__ when -msoft-stack, or resp. -muniform-simt option is active. (STACK_SIZE_MODE): Define. (FIXED_REGISTERS): Adjust. (SOFTSTACK_SLOT_REGNUM): New. (SOFTSTACK_PREV_REGNUM): New. (REGISTER_NAMES): Adjust. (struct machine_function): New fields. * config/nvptx/nvptx.md (UNSPEC_SET_SOFTSTACK): New. (UNSPEC_VOTE_BALLOT): Ditto. (UNSPEC_LANEID): Ditto. (UNSPECV_NOUNROLL): Ditto. (atomic): New attribute. (predicable): New attribute. Generate predicated forms via define_cond_exec. (br_true): Mark as not predicable. (br_false): Ditto. (br_true_uni): Ditto. (br_false_uni): Ditto. (return): Ditto. (trap_if_true): Ditto. (trap_if_false): Ditto. (nvptx_fork): Ditto. (nvptx_forked): Ditto. (nvptx_joining): Ditto. (nvptx_join): Ditto. (nvptx_barsync): Ditto. (epilogue): Emit stack restore if TARGET_SOFT_STACK. (allocate_stack): Implement for TARGET_SOFT_STACK. Remove unused code. (allocate_stack_<mode>): Remove unused pattern. (set_softstack_insn): New pattern. (restore_stack_block): Handle for TARGET_SOFT_STACK. (nvptx_vote_ballot): New pattern. (omp_simt_lane): Ditto. (omp_simt_last_lane): Ditto. (omp_simt_ordered): Ditto. (omp_simt_vote_any): Ditto. (omp_simt_xchg_bfly): Ditto. (omp_simt_xchg_idx): Ditto. (nvptx_nounroll): Ditto. (atomic_compare_and_swap<mode>_1): Mark with atomic attribute. (atomic_exchange<mode>): Ditto. (atomic_fetch_add<mode>): Ditto. (atomic_fetch_addsf): Ditto. (atomic_fetch_<logic><mode>): Ditto. * config/nvptx/nvptx.opt: (msoft-stack): New option. (muniform-simt): Ditto. (mgomp): Ditto. * config/nvptx/t-nvptx (MULTILIB_OPTIONS): New. * doc/extend.texi (Nvidia PTX Variable Attributes): New section. * doc/invoke.texi (msoft-stack): Document. (muniform-simt): Document (mgomp): Document. * doc/tm.texi: Regenerate. * doc/tm.texi.in: (TARGET_SIMT_VF): New hook. * target.def: Define it. * target-insns.def (omp_simt_lane): New. (omp_simt_last_lane): New. (omp_simt_ordered): New. (omp_simt_vote_any): New. (omp_simt_xchg_bfly): New. (omp_simt_xchg_idx): New. libgcc/ * config/nvptx/crt0.c (__main): Setup __nvptx_stacks and __nvptx_uni. * config/nvptx/mgomp.c: New file. * config/nvptx/t-nvptx: Add mgomp.c gcc/testsuite/ * lib/target-supports.exp (check_effective_target_alloca): Use a compile test. * gcc.target/nvptx/softstack.c: New test. * gcc.target/nvptx/decl-shared.c: New test. * gcc.target/nvptx/decl-shared-init.c: New test. From-SVN: r242503
2016-11-16 18:17:00 +01:00
2016-11-16 Alexander Monakov <amonakov@ispras.ru>
* lib/target-supports.exp (check_effective_target_alloca): Use a
compile test.
* gcc.target/nvptx/softstack.c: New test.
* gcc.target/nvptx/decl-shared.c: New test.
* gcc.target/nvptx/decl-shared-init.c: New test.
2016-11-16 Maciej W. Rozycki <macro@imgtec.com>
* gcc.target/mips/data-sym-jump.c: New test case.
* gcc.target/mips/data-sym-pool.c: New test case.
* gcc.target/mips/insn-pseudo-4.c: Adjust for constant pool
annotation.
Support non-masked epilogue vectoriziation gcc/ 2016-11-16 Yuri Rumyantsev <ysrumyan@gmail.com> * params.def (PARAM_VECT_EPILOGUES_NOMASK): New. * tree-if-conv.c (tree_if_conversion): Make public. * * tree-if-conv.h: New file. * tree-vect-data-refs.c (vect_analyze_data_ref_dependences) Avoid dynamic alias checks for epilogues. * tree-vect-loop-manip.c (vect_do_peeling): Return created epilog. * tree-vect-loop.c: include tree-if-conv.h. (new_loop_vec_info): Add zeroing orig_loop_info field. (vect_analyze_loop_2): Don't try to enhance alignment for epilogues. (vect_analyze_loop): Add argument ORIG_LOOP_INFO which is not NULL if epilogue is vectorized, set up orig_loop_info field of loop_vinfo using passed argument. (vect_transform_loop): Check if created epilogue should be returned for further vectorization with less vf. If-convert epilogue if required. Print vectorization success for epilogue. * tree-vectorizer.c (vectorize_loops): Add epilogue vectorization if it is required, pass loop_vinfo produced during vectorization of loop body to vect_analyze_loop. * tree-vectorizer.h (struct _loop_vec_info): Add new field orig_loop_info. (LOOP_VINFO_ORIG_LOOP_INFO): New. (LOOP_VINFO_EPILOGUE_P): New. (LOOP_VINFO_ORIG_VECT_FACTOR): New. (vect_do_peeling): Change prototype to return epilogue. (vect_analyze_loop): Add argument of loop_vec_info type. (vect_transform_loop): Return created loop. gcc/testsuite/ 2016-11-16 Yuri Rumyantsev <ysrumyan@gmail.com> * lib/target-supports.exp (check_avx2_hw_available): New. (check_effective_target_avx2_runtime): New. * gcc.dg/vect/vect-tail-nomask-1.c: New test. From-SVN: r242501
2016-11-16 17:22:39 +01:00
2016-11-16 Yuri Rumyantsev <ysrumyan@gmail.com>
* lib/target-supports.exp (check_avx2_hw_available): New.
(check_effective_target_avx2_runtime): New.
* gcc.dg/vect/vect-tail-nomask-1.c: New test.
2016-11-16 Tamar Christina <tamar.christina@arm.com>
PR testsuite/78136
* gcc.dg/cpp/trad/trad.exp
(dg-runtest): Moved $srcdir/$subdir/ to
DEFAULT_TRADCPPFLAGS.
2016-11-16 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/78356
* gfortran.dg/class_allocate_23.f08: New test.
2016-11-16 Richard Biener <rguenther@suse.de>
PR middle-end/78333
* gcc.dg/pr78333.c: New testcase.
2016-11-16 Martin Liska <mliska@suse.cz>
PR sanitizer/78270
* gcc.dg/asan/pr78270.c: Update comment style.
* gcc.dg/asan/pr78270-2.c: New test.
2016-11-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* c-c++-common/Wlogical-op-1.c: Use __INT{16,32}_TYPE__ instead
of {short,int} if __SIZEOF_INT__ is less than 4 bytes.
2016-11-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/78348
* gcc.dg/tree-ssa/ldist-24.c: New testcase.
2016-11-16 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/77823
* c-c++-common/ubsan/overflow-vec-1.c: New test.
* c-c++-common/ubsan/overflow-vec-2.c: New test.
2016-11-15 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp1z/init-statement6.C: Rename a function.
2016-11-15 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libgfortran/51119
* gfortran.dg/matmul_12.f90: New test case.
2016-11-15 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/funcspec-56.inc: New file.
* gcc.target/i386/funcspec-5.c: Include funcspec-56.inc. Remove
common 32-bit and 64-bit function specific options.
* gcc.target/i386/funcspec-6.c: Ditto.
2016-11-15 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/decomp14.C: New test.
* g++.dg/cpp1z/decomp15.C: New test.
* g++.dg/cpp1z/decomp16.C: New test.
* g++.dg/cpp1z/decomp13.C: New test.
* g++.dg/cpp1y/auto-fn33.C (main): Turn // error: ... into dg-bogus.
PR c++/71988
* g++.dg/cpp0x/constexpr-71988.C: New test.
2016-11-15 Maciej W. Rozycki <macro@imgtec.com>
* gcc.target/mips/insn-casesi.c: New test case.
* gcc.target/mips/insn-pseudo-1.c: New test case.
* gcc.target/mips/insn-pseudo-2.c: New test case.
* gcc.target/mips/insn-pseudo-3.c: New test case.
* gcc.target/mips/insn-pseudo-4.c: New test case.
* gcc.target/mips/insn-tablejump.c: New test case.
2016-11-15 Maciej W. Rozycki <macro@imgtec.com>
* gcc.target/mips/mips.exp (mips_option_tests): Add
`-mcode-readable=yes' array element.
2016-11-15 Maciej W. Rozycki <macro@imgtec.com>
* gcc.target/mips/mips.exp (mips_option_tests): Add
`-mmicromips' array element.
2016-11-15 Michael Matz <matz@suse.de>
PR missed-optimization/77881
* gcc.target/i386/pr77881.c: New test.
2016-11-15 Jakub Jelinek <jakub@redhat.com>
PR middle-end/78295
* gcc.dg/uninit-pr78295.c: Add -Wno-psabi to dg-options.
2016-11-14 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-set-int.c: New test.
* gcc.target/powerpc/vec-set-short.c: Likesie.
* gcc.target/powerpc/vec-set-char.c: Likewise.
2016-11-14 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/feat-cxx1z.C: Test __cpp_structured_bindings macro.
2016-11-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/78300
* gfortran.dg/class_result_3.f90: New test.
Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com> Richard Biener <rguenther@suse.de> c/ * Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. * config-lang.in (gtfiles): Add c/c-parser.h. * c-tree.h (enum c_declspec_word): Add cdw_gimple. (struct c_declspecs): Add gimple_pass member and gimple_p flag. * c-parser.c (enum c_id_kind, struct c_token, c_parser_next_token_is, c_parser_next_token_is_not, c_parser_next_token_is_keyword, enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec): Split out to ... * c-parser.h: ... new header. * c-parser.c: Include c-parser.h and gimple-parser.h. (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Export. (c_parser_tokens_buf): New function. (c_parser_error): Likewise. (c_parser_set_error): Likewise. (c_parser_declspecs): Handle RID_GIMPLE. (c_parser_declaration_or_fndef): Parse __GIMPLE marked body via c_parser_parse_gimple_body. * c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Declare. (struct c_parser): Declare forward. (c_parser_tokens_buf): Declare. (c_parser_error): Likewise. (c_parser_set_error): Likewise. * gimple-parser.c: New file. * gimple-parser.h: Likewise. obj-c/ * config-lang.in (gtfiles): Add c/c-parser.h. c-family/ * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. * c.opt (fgimple): New option. * doc/invoke.texi (fgimple): Document. * dumpfile.h (TDF_GIMPLE): Add. * dumpfile.c (dump_options): Add gimple. * gimple-pretty-print.c (dump_gimple_switch): Adjust dump for TDF_GIMPLE. (dump_gimple_label): Likewise. (dump_gimple_phi): Likewise. (dump_gimple_bb_header): Likewise. (dump_phi_nodes): Likewise. (pp_cfg_jump): Likewise. Pass in dump flags. (dump_implicit_edges): Adjust. * passes.c (pass_init_dump_file): Do not dump function header for TDF_GIMPLE. * tree-cfg.c (dump_function_to_file): Dump function return type and __GIMPLE keyword for TDF_GIMPLE. Change guard for dumping GIMPLE stmts. * tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE. (dump_generic_node): Likewise. * function.h (struct function): Add pass_startwith member. * passes.c (execute_one_pass): Implement startwith. * tree-ssanames.c (make_ssa_name_fn): New argument, check for version and assign proper version for parsed ssa names. * tree-ssanames.h (make_ssa_name_fn): Add new argument to the function. * internal-fn.c (expand_PHI): New function. * internal-fn.h (expand_PHI): Declared here. * internal-fn.def: New defination for PHI. * tree-cfg.c (lower_phi_internal_fn): New function. (build_gimple_cfg): Call it. (verify_gimple_call): Condition for passing label as arg in internal function PHI. * tree-into-ssa.c (rewrite_add_phi_arguments): Handle already present PHIs with arguments. testsuite/ * gcc.dg/gimplefe-1.c: New testcase. * gcc.dg/gimplefe-2.c: Likewise. * gcc.dg/gimplefe-3.c: Likewise. * gcc.dg/gimplefe-4.c: Likewise. * gcc.dg/gimplefe-5.c: Likewise. * gcc.dg/gimplefe-6.c: Likewise. * gcc.dg/gimplefe-7.c: Likewise. * gcc.dg/gimplefe-8.c: Likewise. * gcc.dg/gimplefe-9.c: Likewise. * gcc.dg/gimplefe-10.c: Likewise. * gcc.dg/gimplefe-11.c: Likewise. * gcc.dg/gimplefe-12.c: Likewise. * gcc.dg/gimplefe-13.c: Likewise. * gcc.dg/gimplefe-14.c: Likewise. * gcc.dg/gimplefe-15.c: Likewise. * gcc.dg/gimplefe-16.c: Likewise. * gcc.dg/gimplefe-17.c: Likewise. * gcc.dg/gimplefe-18.c: Likewise. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r242387
2016-11-14 14:51:48 +01:00
2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
Richard Biener <rguenther@suse.de>
* gcc.dg/gimplefe-1.c: New testcase.
* gcc.dg/gimplefe-2.c: Likewise.
* gcc.dg/gimplefe-3.c: Likewise.
* gcc.dg/gimplefe-4.c: Likewise.
* gcc.dg/gimplefe-5.c: Likewise.
* gcc.dg/gimplefe-6.c: Likewise.
* gcc.dg/gimplefe-7.c: Likewise.
* gcc.dg/gimplefe-8.c: Likewise.
* gcc.dg/gimplefe-9.c: Likewise.
* gcc.dg/gimplefe-10.c: Likewise.
* gcc.dg/gimplefe-11.c: Likewise.
* gcc.dg/gimplefe-12.c: Likewise.
* gcc.dg/gimplefe-13.c: Likewise.
* gcc.dg/gimplefe-14.c: Likewise.
* gcc.dg/gimplefe-15.c: Likewise.
* gcc.dg/gimplefe-16.c: Likewise.
* gcc.dg/gimplefe-17.c: Likewise.
* gcc.dg/gimplefe-18.c: Likewise.
Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com> Richard Biener <rguenther@suse.de> c/ * Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o. * config-lang.in (gtfiles): Add c/c-parser.h. * c-tree.h (enum c_declspec_word): Add cdw_gimple. (struct c_declspecs): Add gimple_pass member and gimple_p flag. * c-parser.c (enum c_id_kind, struct c_token, c_parser_next_token_is, c_parser_next_token_is_not, c_parser_next_token_is_keyword, enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec): Split out to ... * c-parser.h: ... new header. * c-parser.c: Include c-parser.h and gimple-parser.h. (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Export. (c_parser_tokens_buf): New function. (c_parser_error): Likewise. (c_parser_set_error): Likewise. (c_parser_declspecs): Handle RID_GIMPLE. (c_parser_declaration_or_fndef): Parse __GIMPLE marked body via c_parser_parse_gimple_body. * c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token, c_token_starts_typename, c_parser_next_token_starts_declspecs, c_parser_next_tokens_start_declaration, c_parser_consume_token, c_parser_error, c_parser_require, c_parser_skip_until_found, c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token, c_parser_type_name): Declare. (struct c_parser): Declare forward. (c_parser_tokens_buf): Declare. (c_parser_error): Likewise. (c_parser_set_error): Likewise. * gimple-parser.c: New file. * gimple-parser.h: Likewise. obj-c/ * config-lang.in (gtfiles): Add c/c-parser.h. c-family/ * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. * c.opt (fgimple): New option. * doc/invoke.texi (fgimple): Document. * dumpfile.h (TDF_GIMPLE): Add. * dumpfile.c (dump_options): Add gimple. * gimple-pretty-print.c (dump_gimple_switch): Adjust dump for TDF_GIMPLE. (dump_gimple_label): Likewise. (dump_gimple_phi): Likewise. (dump_gimple_bb_header): Likewise. (dump_phi_nodes): Likewise. (pp_cfg_jump): Likewise. Pass in dump flags. (dump_implicit_edges): Adjust. * passes.c (pass_init_dump_file): Do not dump function header for TDF_GIMPLE. * tree-cfg.c (dump_function_to_file): Dump function return type and __GIMPLE keyword for TDF_GIMPLE. Change guard for dumping GIMPLE stmts. * tree-pretty-print.c (dump_decl_name): Adjust dump for TDF_GIMPLE. (dump_generic_node): Likewise. * function.h (struct function): Add pass_startwith member. * passes.c (execute_one_pass): Implement startwith. * tree-ssanames.c (make_ssa_name_fn): New argument, check for version and assign proper version for parsed ssa names. * tree-ssanames.h (make_ssa_name_fn): Add new argument to the function. * internal-fn.c (expand_PHI): New function. * internal-fn.h (expand_PHI): Declared here. * internal-fn.def: New defination for PHI. * tree-cfg.c (lower_phi_internal_fn): New function. (build_gimple_cfg): Call it. (verify_gimple_call): Condition for passing label as arg in internal function PHI. * tree-into-ssa.c (rewrite_add_phi_arguments): Handle already present PHIs with arguments. testsuite/ * gcc.dg/gimplefe-1.c: New testcase. * gcc.dg/gimplefe-2.c: Likewise. * gcc.dg/gimplefe-3.c: Likewise. * gcc.dg/gimplefe-4.c: Likewise. * gcc.dg/gimplefe-5.c: Likewise. * gcc.dg/gimplefe-6.c: Likewise. * gcc.dg/gimplefe-7.c: Likewise. * gcc.dg/gimplefe-8.c: Likewise. * gcc.dg/gimplefe-9.c: Likewise. * gcc.dg/gimplefe-10.c: Likewise. * gcc.dg/gimplefe-11.c: Likewise. * gcc.dg/gimplefe-12.c: Likewise. * gcc.dg/gimplefe-13.c: Likewise. * gcc.dg/gimplefe-14.c: Likewise. * gcc.dg/gimplefe-15.c: Likewise. * gcc.dg/gimplefe-16.c: Likewise. * gcc.dg/gimplefe-17.c: Likewise. * gcc.dg/gimplefe-18.c: Likewise. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r242387
2016-11-14 14:51:48 +01:00
2016-11-14 Martin Liska <mliska@suse.cz>
PR bootstrap/78069
* gcc.dg/no_profile_instrument_function-attr-1.c: Update test
to match scanned pattern.
* gcc.dg/tree-ssa/ssa-lim-11.c: Likewise.
2016-11-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/78312
* gcc.dg/torture/pr78312.c: New testcase.
2016-11-14 Georg-Johann Lay <avr@gjlay.de>
PR target/78093
* gcc.target/avr/torture/tiny-absdata-2.c: New test.
2016-11-14 Jakub Jelinek <jakub@redhat.com>
Jason Merrill <jason@redhat.com>
Implement P0217R3 - C++17 structured bindings
* g++.dg/cpp1z/decomp1.C: New test.
* g++.dg/cpp1z/decomp2.C: New test.
* g++.dg/cpp1z/decomp3.C: New test.
* g++.dg/cpp1z/decomp4.C: New test.
* g++.dg/cpp1z/decomp5.C: New test.
* g++.dg/cpp1z/decomp6.C: New test.
* g++.dg/cpp1z/decomp7.C: New test.
* g++.dg/cpp1z/decomp8.C: New test.
* g++.dg/cpp1z/decomp9.C: New test.
* g++.dg/cpp1z/decomp10.C: New test.
2016-11-13 Kugan Vivekanandarajah <kuganv@linaro.org>
* g++.dg/torture/pr78268.C: New test.
2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR c/35503
* c-c++-common/pr35503-1.c: New test.
* c-c++-common/pr35503-2.c: Likewise.
* c-c++-common/pr35503-3.c: Likewise.
* gcc.dg/format/gcc_diag-1.c: Add tests for "Z" specifier.
2016-11-13 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/78232
PR rtl-optimization/78248
* gcc.dg/ubsan/pr78248.c: New test.
2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/address_conv.adb: New test.
2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/renaming11.ad[sb]: New test.
2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
* c-c++-common/dump-ada-spec-6.c: New test.
2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/lto21.adb: New test.
* gnat.dg/lto21_pkg1.ads: New helper.
* gnat.dg/lto21_pkg2.ad[sb]: Likewise.
2016-11-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/60952
* gfortran.dg/typebound_proc_34.f90: New test.
2016-11-13 Janus Weil <janus@gcc.gnu.org>
PR fortran/66366
* gfortran.dg/class_57.f90: Changed error message.
* gfortran.dg/class_60.f90: New test.
2016-11-12 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/pr78112.C: XFAIL AIX.
2016-11-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/77501
* gfortran.dg/typebound_generic_16.f90: New test.
2016-11-12 Jakub Jelinek <jakub@redhat.com>
PR c++/71225
* g++.dg/cpp0x/pr71225.C: New test.
2016-11-11 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20161111-1.c: New test.
2016-11-11 Uros Bizjak <ubizjak@gmail.com>
PR target/78310
* gcc.target/i386/pr78310.c: New test.
2016-11-11 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/isolate-6.c: New test.
* gcc.dg/tree-ssa/isolate-7.c: New test.
2016-11-11 Bin Cheng <bin.cheng@arm.com>
PR testsuite/78292
* gcc.dg/vect/vect-cond-2.c: Only drop xfail for targets supporting
vect_max_reduc.
2016-11-11 Jakub Jelinek <jakub@redhat.com>
PR c++/72774
* g++.dg/parse/pr72774.C: New test.
2016-11-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/71575
* gcc.dg/graphite/pr71575-1.c: New testcase.
* gcc.dg/graphite/pr71575-2.c: Likewise.
2016-11-11 Richard Biener <rguenther@suse.de>
PR middle-end/78295
* gcc.dg/uninit-pr78295.c: New testcase.
2016-11-10 Fritz O. Reese <fritzoreese@gmail.com>
PR fortran/78277
* gfortran.dg/dec_structure_17.f90: New test.
rs6000.c (rs6000_hard_regno_mode_ok): If ISA 3.0... [gcc] 2016-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): If ISA 3.0, enable HImode and QImode to go in vector registers by default if the -mvsx-small-integer option is enabled. (rs6000_secondary_reload_simple_move): Likewise. (rs6000_preferred_reload_class): Don't force integer constants to be loaded into vector registers that we can easily make into memory (or being created in the GPRs and moved over with direct move). * config/rs6000/vsx.md (UNSPEC_P9_MEMORY): Delete, no longer used. (vsx_extract_<mode>): Rework V4SImode, V8HImode, and V16QImode vector extraction on ISA 3.0 when the scalar integer can be allocated in vector registers. Generate the VEC_SELECT directy, and don't use UNSPEC's to avoid having the scalar type in a vector register. Make the expander target registers, and let the combiner fold in results storing to memory, if the machine supports stores. (vsx_extract_<mode>_di): Likewise. (vsx_extract_<mode>_p9): Likewise. (vsx_extract_<mode>_di_p9): Likewise. (vsx_extract_<mode>_store_p9): Likewise. (vsx_extract_si): Likewise. (vsx_extract_<mode>_p8): Likewise. (p9_lxsi<wd>zx): Delete, no longer used. (p9_stxsi<wd>x): Likewise. * config/rs6000/rs6000.md (INT_ISA3): New mode iterator for integers in vector registers for ISA 3.0. (QHI): Update comment. (zero_extendqi<mode>2): Add support for ISA 3.0 scalar load or vector extract instructions in sign/zero extend. (zero_extendhi<mode>): Likewise. (extendqi<mode>): Likewise. (extendhi<mode>2): Likewise. (HImode splitter for load/sign extend in vector register): Likewise. (float<QHI:mode><FP_ISA3:mode>2): Eliminate old method of optimizing floating point conversions to/from small data types and rewrite it to support QImode/HImode being allowed in vector registers on ISA 3.0. (float<QHI:mode><FP_ISA3:mode>2_internal): Likewise. (floatuns<QHI:mode><FP_ISA3:mode>2): Likewise. (floatuns<QHI:mode><FP_ISA3:mode>2_internal): Likewise. (fix_trunc<SFDF:mode><QHI:mode>2): Likewise. (fix_trunc<SFDF:mode><QHI:mode>2_internal): Likewise. (fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise. (fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise. VSPLITISW on ISA 2.07. (movhi_internal): Combine movhi_internal and movqi_internal into one mov<mode>_internal with an iterator. Add support for QImode and HImode being allowed in vector registers. Make large number of attributes and constraints easier to read. (movqi_internal): Likewise. (mov<mode>_internal): Likewise. (movdi_internal64): Fix constraint to allow loading -16..15 with VSPLITISW on ISA 2.07. (integer XXSPLTIB splitter): Add support for QI, HI, and SImode as well as DImode. [gcc/testsuite] 2016-11-10 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vsx-qimode.c: New test for QImode, HImode being allowed in vector registers. * gcc.target/powerpc/vsx-qimode2.c: Likewise. * gcc.target/powerpc/vsx-qimode3.c: Likewise. * gcc.target/powerpc/vsx-himode.c: Likewise. * gcc.target/powerpc/vsx-himode2.c: Likewise. * gcc.target/powerpc/vsx-himode3.c: Likewise. * gcc.target/powerpc/p9-extract-1.c: Change MFVSRD to just MFVSR, to allow matching MFVSRD or MFVSRW. From-SVN: r242048
2016-11-10 20:38:33 +01:00
2016-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-qimode.c: New test for QImode, HImode
being allowed in vector registers.
* gcc.target/powerpc/vsx-qimode2.c: Likewise.
* gcc.target/powerpc/vsx-qimode3.c: Likewise.
* gcc.target/powerpc/vsx-himode.c: Likewise.
* gcc.target/powerpc/vsx-himode2.c: Likewise.
* gcc.target/powerpc/vsx-himode3.c: Likewise.
* gcc.target/powerpc/p9-extract-1.c: Change MFVSRD to just MFVSR,
to allow matching MFVSRD or MFVSRW.
2016-11-10 Pat Haugen <pthaugen@us.ibm.com>
PR rtl-optimization/78241
* gcc.dg/pr78241.c: New test.
2016-11-10 Jakub Jelinek <jakub@redhat.com>
* gfortran.dg/openmp-define-3.f90: Expect 201511 instead of
201307.
* g++.dg/cpp1z/noexcept-type14.C: New test.
* g++.dg/asan/asan_test.C: Remove -Wno-c++1z-compat from dg-options.
2016-11-10 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/torture/fp-int-convert.h (M_OK2): New, use it in
WVAL0S tests added in r241817.
omp-low.c (lower_omp_target): Fix up argument to is_reference. gcc/ * omp-low.c (lower_omp_target): Fix up argument to is_reference. (expand_omp_ordered_sink): Handle TREE_PURPOSE of deps being TRUNC_DIV_EXPR. * gimplify.c (gimplify_scan_omp_clauses): Likewise. Set ctx->target_map_scalars_firstprivate on OMP_TARGET even for Fortran. Remove omp_no_lastprivate callers. Propagate lastprivate on combined teams distribute parallel for simd even to distribute and teams construct. For OMP_CLAUSE_DEPEND add missing break at the end of OMP_CLAUSE_DEPEND_SINK case. (omp_notice_variable): Use lang_hooks.decls.omp_scalar_p. (omp_no_lastprivate): Removed. (gimplify_adjust_omp_clauses): Remove omp_no_lastprivate callers. (gimplify_omp_for): Likewise. (computable_teams_clause): Fail for automatic vars from current function not yet seen in bind expr. * langhooks.c (lhd_omp_scalar_p): New function. * langhooks.h (struct lang_hooks_for_decls): Add omp_scalar_p. * varpool.c (varpool_node::get_create): Set node->offloading even for DECL_EXTERNAL decls. * langhooks-def.h (lhd_omp_scalar_p): New prototype. (LANG_HOOKS_OMP_SCALAR_P): Define. (LANG_HOOKS_DECLS): Use it. gcc/fortran/ * openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize, hint, num_tasks, priority and if_exprs. (gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions. (enum omp_mask1, enum omp_mask2): New enums. Change all OMP_CLAUSE_* defines into enum values, and change their values from ((uint64_t) 1 << bit) to just bit. (omp_mask, omp_inv_mask): New classes. Add ctors and operators. (gfc_match_omp_clauses): Change mask argument from uint64_t to const omp_mask. Assert OMP_MASK1_LAST and OMP_MASK2_LAST are at most 64. Move delete clause handling to where it alphabetically belongs. Parse defaultmap, grainsize, hint, is_device_ptr, nogroup, nowait, num_tasks, priority, simd, threads and use_device_ptr clauses. Parse if clause modifier. Parse map clause always modifier, and release and delete kinds. Parse ordered clause with argument. Parse schedule clause modifiers. Differentiate device clause parsing based on openacc flag. Guard link clause parsing with openacc flag. Add support for parsing linear clause modifiers. Parse depend(source) and depend(sink: ...). Use gfc_match_omp_to_link for to and link clauses in declare target construct. (match_acc): Change mask type from uint64_t to const omp_mask. (OMP_SINGLE_CLAUSES, OMP_ORDERED_CLAUSES, OMP_DECLARE_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES): Define. (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES, OACC_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES, OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES, OACC_WAIT_CLAUSES, OACC_ROUTINE_CLAUSES, OMP_PARALLEL_CLAUSES, OMP_DECLARE_SIMD_CLAUSES, OMP_SECTIONS_CLAUSES, OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). (OMP_DO_CLAUSES): Likewise. Add OMP_CLAUSE_LINEAR. (OMP_SIMD_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_SIMDLEN. (OACC_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Replace OMP_CLAUSE_OACC_DEVICE with OMP_CLAUSE_DEVICE. (OMP_TASK_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_PRIORITY. (OMP_TARGET_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_DEPEND, OMP_CLAUSE_NOWAIT, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_DEFAULTMAP and OMP_CLAUSE_IS_DEVICE_PTR. (OMP_TARGET_DATA_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_USE_DEVICE_PTR. (OMP_TARGET_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_DEPEND and OMP_CLAUSE_NOWAIT. (match_omp): Change mask argument from unsigned int to const omp_mask. (gfc_match_omp_critical): Parse optional clauses and use omp_clauses union member instead of omp_name. (gfc_match_omp_end_critical): New function. (gfc_match_omp_distribute_parallel_do): Remove ordered and linear clauses from the mask. (gfc_match_omp_distribute_parallel_do_simd): Use & ~(omp_mask (OMP_CLAUSE_*)) instead of & ~OMP_CLAUSE_*. (gfc_match_omp_target_teams_distribute_parallel_do_simd): Likewise. (gfc_match_omp_teams_distribute_parallel_do_simd): Likewise. (gfc_match_omp_do_simd): Likewise. Don't remove ordered clause from the mask. (gfc_match_omp_parallel_do_simd): Likewise. (gfc_match_omp_target_teams_distribute_parallel_do): Likewise. (gfc_match_omp_teams_distribute_parallel_do): Likewise. (gfc_match_omp_declare_simd): If not using the form with (proc-name), require space before first clause. Make (proc-name) optional. If not present, set proc_name to NULL. (gfc_match_omp_declare_target): Rewritten for OpenMP 4.5. (gfc_match_omp_single): Use OMP_SINGLE_CLAUSES. (gfc_match_omp_task, gfc_match_omp_taskwait, gfc_match_omp_taskyield): Move around to where they belong alphabetically. (gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do, gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd, gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd): New functions. (gfc_match_omp_ordered): Parse clauses. (gfc_match_omp_ordered_depend): New function. (gfc_match_omp_cancel, gfc_match_omp_end_single): Use omp_mask (OMP_CLAUSE_*) instead of OMP_CLAUSE_*. (resolve_oacc_scalar_int_expr): Renamed to ... (resolve_scalar_int_expr): ... this. Fix up formatting. (resolve_oacc_positive_int_expr): Renamed to ... (resolve_positive_int_expr): ... this. Fix up formatting. (resolve_nonnegative_int_expr): New function. (resolve_omp_clauses): Adjust callers, use the above functions even for OpenMP clauses, add handling of new OpenMP 4.5 clauses. Require orderedc >= collapse if specified. Handle depend(sink:) and depend(source) restrictions. Disallow linear clause when orderedc is non-zero. Diagnose linear clause modifiers when not in declare simd. Only check for integer type if ref modifier is not used. Remove diagnostics for required VALUE attribute. Diagnose VALUE attribute with ref or uval modifiers. Allow non-constant linear-step, if it is a dummy argument alone and is mentioned in uniform clause. Diagnose map kinds not allowed for various constructs. Diagnose target {enter ,exit ,}data without any map clauses. Add dummy OMP_LIST_IS_DEVICE_PTR and OMP_LIST_USE_DEVICE_PTR cases. (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc if non-zero. (gfc_resolve_omp_parallel_blocks): Handle new OpenMP 4.5 constructs, replace underscores with spaces in a few construct names. (resolve_omp_do): Set collapse to orderedc if non-zero. Handle new OpenMP 4.5 constructs. (resolve_oacc_loop_blocks): Call resolve_positive_int_expr instead of resolve_oacc_positive_int_expr. (gfc_resolve_omp_directive): Handle new OpenMP 4.5 constructs. (gfc_resolve_omp_declare_simd): Allow ods->proc_name to be NULL. * trans-openmp.c (gfc_omp_scalar_p): New function. (doacross_steps): New variable. (gfc_trans_omp_clauses): Handle new OpenMP 4.5 clauses and new clause modifiers. (gfc_trans_omp_critical): Adjust EXEC_OMP_CRITICAL handling. (gfc_trans_omp_do): Handle doacross loops. Clear sched_simd flag. Handle EXEC_OMP_TASKLOOP. (gfc_trans_omp_ordered): Translate omp clauses, allow NULL code->block. (GFC_OMP_SPLIT_TASKLOOP, GFC_OMP_MASK_TASKLOOP): New enum constants. (gfc_split_omp_clauses): Copy orderedc together with ordered. Change firstprivate and lastprivate handling for OpenMP 4.5. Handle EXEC_OMP_TARGET_SIMD, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and EXEC_OMP_TASKLOOP{,_SIMD}. Add handling for new OpenMP 4.5 clauses and clause modifiers and handle if clause without/with modifiers. (gfc_trans_omp_teams): Add omp_clauses argument, add it to other teams clauses. Don't wrap into OMP_TEAMS if -fopenmp-simd. (gfc_trans_omp_target): For -fopenmp, translate num_teams and thread_limit clauses on combined target teams early and pass to gfc_trans_omp_teams. Set OMP_TARGET_COMBINED if needed. Handle EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and EXEC_OMP_TARGET_SIMD. (gfc_trans_omp_taskloop, gfc_trans_omp_target_enter_data, gfc_trans_omp_target_exit_data): New functions. (gfc_trans_omp_directive): Handle EXEC_OMP_TARGET_{ENTER,EXIT}_DATA EXEC_OMP_TASKLOOP{,_SIMD}, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and EXEC_OMP_TARGET_SIMD. Adjust gfc_trans_omp_teams caller. * symbol.c (check_conflict): Handle omp_declare_target_link. (gfc_add_omp_declare_target_link): New function. (gfc_copy_attr): Copy omp_declare_target_link. * dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST depend_op. Print linear clause modifiers. (show_omp_clauses): Adjust for OpenMP 4.5 clause changes. (show_omp_node): Print clauses for EXEC_OMP_ORDERED. Allow NULL c->block for EXEC_OMP_ORDERED. Formatting fixes. Adjust handling of EXEC_OMP_CRITICAL, handle new OpenMP 4.5 constructs and some forgotten OpenMP 4.0 constructs. (show_code_node): Handle new OpenMP 4.5 constructs and some forgotten OpenMP 4.0 constructs. * gfortran.h (symbol_attribute): Add omp_declare_target_link bitfield. (struct gfc_omp_namelist): Add u.common and u.linear_op fields. (struct gfc_common_head): Change omp_declare_target into bitfield. Add omp_declare_target_link bitfield. (gfc_add_omp_declare_target_link): New prototype. (enum gfc_statement): Add ST_OMP_TARGET_PARALLEL, ST_OMP_END_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO, ST_OMP_END_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_END_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_ENTER_DATA, ST_OMP_TARGET_EXIT_DATA, ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD, ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_TASKLOOP_SIMD, ST_OMP_END_TASKLOOP_SIMD and ST_OMP_ORDERED_DEPEND. (enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and OMP_DEPEND_SINK. (enum gfc_omp_linear_op): New. (struct gfc_omp_clauses): Add critical_name, depend_source, orderedc, defaultmap, nogroup, sched_simd, sched_monotonic, sched_nonmonotonic, simd, threads, grainsize, hint, num_tasks, priority and if_exprs fields. (enum gfc_exec_op): Add EXEC_OMP_END_CRITICAL, EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA, EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO, EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD, EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD. (enum gfc_omp_map_op): Add OMP_MAP_RELEASE, OMP_MAP_ALWAYS_TO, OMP_MAP_ALWAYS_FROM and OMP_MAP_ALWAYS_TOFROM. (OMP_LIST_IS_DEVICE_PTR, OMP_LIST_USE_DEVICE_PTR): New. (enum gfc_omp_if_kind): New. * module.c (enum ab_attribute): Add AB_OMP_DECLARE_TARGET_LINK. (attr_bits): Add AB_OMP_DECLARE_TARGET_LINK entry. (mio_symbol_attribute): Save and restore omp_declare_target_link bit. * trans.h (gfc_omp_scalar_p): New prototype. * frontend-passes.c (gfc_code_walker): Handle new OpenMP 4.5 expressions. * trans.c (trans_code): Handle new OpenMP 4.5 constructs. * resolve.c (gfc_resolve_blocks): Likewise. (gfc_resolve_code): Likewise. * f95-lang.c (LANG_HOOKS_OMP_SCALAR_P): Redefine to gfc_omp_scalar_p. (gfc_attribute_table): Add "omp declare target link". * st.c (gfc_free_statement): Handle EXEC_OMP_END_CRITICAL like EXEC_OMP_CRITICAL before, free clauses for EXEC_OMP_CRITICAL and new OpenMP 4.5 constructs. Free omp clauses even for EXEC_OMP_ORDERED. * match.c (match_exit_cycle): Rename collapse variable to count, set it to orderedc if non-zero, instead of collapse. * trans-decl.c (add_attributes_to_decl): Add "omp declare target link" instead of "omp declare target" for omp_declare_target_link. * trans-common.c (build_common_decl): Likewise. * match.h (gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do, gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd, gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd, gfc_match_omp_end_critical, gfc_match_omp_ordered_depend): New prototypes. * parse.c (decode_omp_directive): Use gfc_match_omp_end_critical instead of gfc_match_omp_critical for !$omp end critical. Handle new OpenMP 4.5 constructs. If ordered directive has depend clause as the first of the clauses, use gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of gfc_match_omp_ordered and ST_OMP_ORDERED. (case_executable): Add ST_OMP_TARGET_ENTER_DATA, ST_OMP_TARGET_EXIT_DATA and ST_OMP_ORDERED_DEPEND cases. (case_exec_markers): Add ST_OMP_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD cases. (gfc_ascii_statement): Handle new OpenMP 4.5 constructs. (parse_omp_do): Handle ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD. (parse_omp_structured_block): Handle EXEC_OMP_END_CRITICAL instead of EXEC_OMP_CRITICAL, adjust for EXEC_OMP_CRITICAL having omp clauses now. (parse_executable): Handle ST_OMP_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD. gcc/testsuite/ * gfortran.dg/gomp/pr77516.f90: Add dg-warning. * gfortran.dg/gomp/target1.f90: Remove ordered clause where it is no longer allowed and corresponding ordered construct. * gfortran.dg/gomp/linear-1.f90: New test. * gfortran.dg/gomp/declare-simd-2.f90: New test. * gfortran.dg/gomp/declare-target-1.f90: New test. * gfortran.dg/gomp/declare-target-2.f90: New test. libgomp/ * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 (fib_wrapper): Add map(from: x) clause. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 (e_53_2): Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 (accum): Add map(tmp) clause. * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 (accum): Add map(tofrom: tmp) clause. * testsuite/libgomp.fortran/examples-4/target_data-3.f90 (gramSchmidt): Likewise. * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add map(tofrom: sum) clause. * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause only allowed on the loop iterator. * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. * testsuite/libgomp.fortran/taskloop2.f90: New test. * testsuite/libgomp.fortran/taskloop4.f90: New test. * testsuite/libgomp.fortran/doacross1.f90: New test. * testsuite/libgomp.fortran/doacross3.f90: New test. * testsuite/libgomp.fortran/taskloop1.f90: New test. * testsuite/libgomp.fortran/taskloop3.f90: New test. * testsuite/libgomp.fortran/doacross2.f90: New test. * testsuite/libgomp.c/doacross-1.c (main): Add missing #pragma omp atomic read. * testsuite/libgomp.c/doacross-2.c (main): Likewise. * testsuite/libgomp.c/doacross-3.c (main): Likewise. From-SVN: r242037
2016-11-10 12:38:05 +01:00
2016-11-10 Jakub Jelinek <jakub@redhat.com>
* gfortran.dg/gomp/pr77516.f90: Add dg-warning.
* gfortran.dg/gomp/target1.f90: Remove ordered clause where it is
no longer allowed and corresponding ordered construct.
* gfortran.dg/gomp/linear-1.f90: New test.
* gfortran.dg/gomp/declare-simd-2.f90: New test.
* gfortran.dg/gomp/declare-target-1.f90: New test.
* gfortran.dg/gomp/declare-target-2.f90: New test.
2016-11-10 Martin Liska <mliska@suse.cz>
PR sanitizer/78270
* gcc.dg/asan/pr78270.c: New test.
2016-11-10 Pierre-Marie de Rodat <derodat@adacore.com>
Jakub Jelinek <jakub@redhat.com>
PR debug/78112
omp-low.c (lower_omp_target): Fix up argument to is_reference. gcc/ * omp-low.c (lower_omp_target): Fix up argument to is_reference. (expand_omp_ordered_sink): Handle TREE_PURPOSE of deps being TRUNC_DIV_EXPR. * gimplify.c (gimplify_scan_omp_clauses): Likewise. Set ctx->target_map_scalars_firstprivate on OMP_TARGET even for Fortran. Remove omp_no_lastprivate callers. Propagate lastprivate on combined teams distribute parallel for simd even to distribute and teams construct. For OMP_CLAUSE_DEPEND add missing break at the end of OMP_CLAUSE_DEPEND_SINK case. (omp_notice_variable): Use lang_hooks.decls.omp_scalar_p. (omp_no_lastprivate): Removed. (gimplify_adjust_omp_clauses): Remove omp_no_lastprivate callers. (gimplify_omp_for): Likewise. (computable_teams_clause): Fail for automatic vars from current function not yet seen in bind expr. * langhooks.c (lhd_omp_scalar_p): New function. * langhooks.h (struct lang_hooks_for_decls): Add omp_scalar_p. * varpool.c (varpool_node::get_create): Set node->offloading even for DECL_EXTERNAL decls. * langhooks-def.h (lhd_omp_scalar_p): New prototype. (LANG_HOOKS_OMP_SCALAR_P): Define. (LANG_HOOKS_DECLS): Use it. gcc/fortran/ * openmp.c (gfc_free_omp_clauses): Free critical_name, grainsize, hint, num_tasks, priority and if_exprs. (gfc_match_omp_to_link, gfc_match_omp_depend_sink): New functions. (enum omp_mask1, enum omp_mask2): New enums. Change all OMP_CLAUSE_* defines into enum values, and change their values from ((uint64_t) 1 << bit) to just bit. (omp_mask, omp_inv_mask): New classes. Add ctors and operators. (gfc_match_omp_clauses): Change mask argument from uint64_t to const omp_mask. Assert OMP_MASK1_LAST and OMP_MASK2_LAST are at most 64. Move delete clause handling to where it alphabetically belongs. Parse defaultmap, grainsize, hint, is_device_ptr, nogroup, nowait, num_tasks, priority, simd, threads and use_device_ptr clauses. Parse if clause modifier. Parse map clause always modifier, and release and delete kinds. Parse ordered clause with argument. Parse schedule clause modifiers. Differentiate device clause parsing based on openacc flag. Guard link clause parsing with openacc flag. Add support for parsing linear clause modifiers. Parse depend(source) and depend(sink: ...). Use gfc_match_omp_to_link for to and link clauses in declare target construct. (match_acc): Change mask type from uint64_t to const omp_mask. (OMP_SINGLE_CLAUSES, OMP_ORDERED_CLAUSES, OMP_DECLARE_TARGET_CLAUSES, OMP_TASKLOOP_CLAUSES, OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES): Define. (OACC_PARALLEL_CLAUSES, OACC_KERNELS_CLAUSES, OACC_DATA_CLAUSES, OACC_LOOP_CLAUSES, OACC_HOST_DATA_CLAUSES, OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES, OACC_EXIT_DATA_CLAUSES, OACC_WAIT_CLAUSES, OACC_ROUTINE_CLAUSES, OMP_PARALLEL_CLAUSES, OMP_DECLARE_SIMD_CLAUSES, OMP_SECTIONS_CLAUSES, OMP_TEAMS_CLAUSES, OMP_DISTRIBUTE_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). (OMP_DO_CLAUSES): Likewise. Add OMP_CLAUSE_LINEAR. (OMP_SIMD_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_SIMDLEN. (OACC_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Replace OMP_CLAUSE_OACC_DEVICE with OMP_CLAUSE_DEVICE. (OMP_TASK_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_PRIORITY. (OMP_TARGET_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_DEPEND, OMP_CLAUSE_NOWAIT, OMP_CLAUSE_PRIVATE, OMP_CLAUSE_FIRSTPRIVATE, OMP_CLAUSE_DEFAULTMAP and OMP_CLAUSE_IS_DEVICE_PTR. (OMP_TARGET_DATA_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_USE_DEVICE_PTR. (OMP_TARGET_UPDATE_CLAUSES): Replace first or only OMP_CLAUSE_* value in bitset with omp_mask (OMP_CLAUSE_*). Add OMP_CLAUSE_DEPEND and OMP_CLAUSE_NOWAIT. (match_omp): Change mask argument from unsigned int to const omp_mask. (gfc_match_omp_critical): Parse optional clauses and use omp_clauses union member instead of omp_name. (gfc_match_omp_end_critical): New function. (gfc_match_omp_distribute_parallel_do): Remove ordered and linear clauses from the mask. (gfc_match_omp_distribute_parallel_do_simd): Use & ~(omp_mask (OMP_CLAUSE_*)) instead of & ~OMP_CLAUSE_*. (gfc_match_omp_target_teams_distribute_parallel_do_simd): Likewise. (gfc_match_omp_teams_distribute_parallel_do_simd): Likewise. (gfc_match_omp_do_simd): Likewise. Don't remove ordered clause from the mask. (gfc_match_omp_parallel_do_simd): Likewise. (gfc_match_omp_target_teams_distribute_parallel_do): Likewise. (gfc_match_omp_teams_distribute_parallel_do): Likewise. (gfc_match_omp_declare_simd): If not using the form with (proc-name), require space before first clause. Make (proc-name) optional. If not present, set proc_name to NULL. (gfc_match_omp_declare_target): Rewritten for OpenMP 4.5. (gfc_match_omp_single): Use OMP_SINGLE_CLAUSES. (gfc_match_omp_task, gfc_match_omp_taskwait, gfc_match_omp_taskyield): Move around to where they belong alphabetically. (gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do, gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd, gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd): New functions. (gfc_match_omp_ordered): Parse clauses. (gfc_match_omp_ordered_depend): New function. (gfc_match_omp_cancel, gfc_match_omp_end_single): Use omp_mask (OMP_CLAUSE_*) instead of OMP_CLAUSE_*. (resolve_oacc_scalar_int_expr): Renamed to ... (resolve_scalar_int_expr): ... this. Fix up formatting. (resolve_oacc_positive_int_expr): Renamed to ... (resolve_positive_int_expr): ... this. Fix up formatting. (resolve_nonnegative_int_expr): New function. (resolve_omp_clauses): Adjust callers, use the above functions even for OpenMP clauses, add handling of new OpenMP 4.5 clauses. Require orderedc >= collapse if specified. Handle depend(sink:) and depend(source) restrictions. Disallow linear clause when orderedc is non-zero. Diagnose linear clause modifiers when not in declare simd. Only check for integer type if ref modifier is not used. Remove diagnostics for required VALUE attribute. Diagnose VALUE attribute with ref or uval modifiers. Allow non-constant linear-step, if it is a dummy argument alone and is mentioned in uniform clause. Diagnose map kinds not allowed for various constructs. Diagnose target {enter ,exit ,}data without any map clauses. Add dummy OMP_LIST_IS_DEVICE_PTR and OMP_LIST_USE_DEVICE_PTR cases. (gfc_resolve_omp_do_blocks): Set omp_current_do_collapse to orderedc if non-zero. (gfc_resolve_omp_parallel_blocks): Handle new OpenMP 4.5 constructs, replace underscores with spaces in a few construct names. (resolve_omp_do): Set collapse to orderedc if non-zero. Handle new OpenMP 4.5 constructs. (resolve_oacc_loop_blocks): Call resolve_positive_int_expr instead of resolve_oacc_positive_int_expr. (gfc_resolve_omp_directive): Handle new OpenMP 4.5 constructs. (gfc_resolve_omp_declare_simd): Allow ods->proc_name to be NULL. * trans-openmp.c (gfc_omp_scalar_p): New function. (doacross_steps): New variable. (gfc_trans_omp_clauses): Handle new OpenMP 4.5 clauses and new clause modifiers. (gfc_trans_omp_critical): Adjust EXEC_OMP_CRITICAL handling. (gfc_trans_omp_do): Handle doacross loops. Clear sched_simd flag. Handle EXEC_OMP_TASKLOOP. (gfc_trans_omp_ordered): Translate omp clauses, allow NULL code->block. (GFC_OMP_SPLIT_TASKLOOP, GFC_OMP_MASK_TASKLOOP): New enum constants. (gfc_split_omp_clauses): Copy orderedc together with ordered. Change firstprivate and lastprivate handling for OpenMP 4.5. Handle EXEC_OMP_TARGET_SIMD, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and EXEC_OMP_TASKLOOP{,_SIMD}. Add handling for new OpenMP 4.5 clauses and clause modifiers and handle if clause without/with modifiers. (gfc_trans_omp_teams): Add omp_clauses argument, add it to other teams clauses. Don't wrap into OMP_TEAMS if -fopenmp-simd. (gfc_trans_omp_target): For -fopenmp, translate num_teams and thread_limit clauses on combined target teams early and pass to gfc_trans_omp_teams. Set OMP_TARGET_COMBINED if needed. Handle EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and EXEC_OMP_TARGET_SIMD. (gfc_trans_omp_taskloop, gfc_trans_omp_target_enter_data, gfc_trans_omp_target_exit_data): New functions. (gfc_trans_omp_directive): Handle EXEC_OMP_TARGET_{ENTER,EXIT}_DATA EXEC_OMP_TASKLOOP{,_SIMD}, EXEC_OMP_TARGET_PARALLEL{,_DO,_DO_SIMD} and EXEC_OMP_TARGET_SIMD. Adjust gfc_trans_omp_teams caller. * symbol.c (check_conflict): Handle omp_declare_target_link. (gfc_add_omp_declare_target_link): New function. (gfc_copy_attr): Copy omp_declare_target_link. * dump-parse-tree.c (show_omp_namelist): Handle OMP_DEPEND_SINK_FIRST depend_op. Print linear clause modifiers. (show_omp_clauses): Adjust for OpenMP 4.5 clause changes. (show_omp_node): Print clauses for EXEC_OMP_ORDERED. Allow NULL c->block for EXEC_OMP_ORDERED. Formatting fixes. Adjust handling of EXEC_OMP_CRITICAL, handle new OpenMP 4.5 constructs and some forgotten OpenMP 4.0 constructs. (show_code_node): Handle new OpenMP 4.5 constructs and some forgotten OpenMP 4.0 constructs. * gfortran.h (symbol_attribute): Add omp_declare_target_link bitfield. (struct gfc_omp_namelist): Add u.common and u.linear_op fields. (struct gfc_common_head): Change omp_declare_target into bitfield. Add omp_declare_target_link bitfield. (gfc_add_omp_declare_target_link): New prototype. (enum gfc_statement): Add ST_OMP_TARGET_PARALLEL, ST_OMP_END_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO, ST_OMP_END_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_END_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_ENTER_DATA, ST_OMP_TARGET_EXIT_DATA, ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD, ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_TASKLOOP_SIMD, ST_OMP_END_TASKLOOP_SIMD and ST_OMP_ORDERED_DEPEND. (enum gfc_omp_depend_op): Add OMP_DEPEND_SINK_FIRST and OMP_DEPEND_SINK. (enum gfc_omp_linear_op): New. (struct gfc_omp_clauses): Add critical_name, depend_source, orderedc, defaultmap, nogroup, sched_simd, sched_monotonic, sched_nonmonotonic, simd, threads, grainsize, hint, num_tasks, priority and if_exprs fields. (enum gfc_exec_op): Add EXEC_OMP_END_CRITICAL, EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA, EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO, EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD, EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD. (enum gfc_omp_map_op): Add OMP_MAP_RELEASE, OMP_MAP_ALWAYS_TO, OMP_MAP_ALWAYS_FROM and OMP_MAP_ALWAYS_TOFROM. (OMP_LIST_IS_DEVICE_PTR, OMP_LIST_USE_DEVICE_PTR): New. (enum gfc_omp_if_kind): New. * module.c (enum ab_attribute): Add AB_OMP_DECLARE_TARGET_LINK. (attr_bits): Add AB_OMP_DECLARE_TARGET_LINK entry. (mio_symbol_attribute): Save and restore omp_declare_target_link bit. * trans.h (gfc_omp_scalar_p): New prototype. * frontend-passes.c (gfc_code_walker): Handle new OpenMP 4.5 expressions. * trans.c (trans_code): Handle new OpenMP 4.5 constructs. * resolve.c (gfc_resolve_blocks): Likewise. (gfc_resolve_code): Likewise. * f95-lang.c (LANG_HOOKS_OMP_SCALAR_P): Redefine to gfc_omp_scalar_p. (gfc_attribute_table): Add "omp declare target link". * st.c (gfc_free_statement): Handle EXEC_OMP_END_CRITICAL like EXEC_OMP_CRITICAL before, free clauses for EXEC_OMP_CRITICAL and new OpenMP 4.5 constructs. Free omp clauses even for EXEC_OMP_ORDERED. * match.c (match_exit_cycle): Rename collapse variable to count, set it to orderedc if non-zero, instead of collapse. * trans-decl.c (add_attributes_to_decl): Add "omp declare target link" instead of "omp declare target" for omp_declare_target_link. * trans-common.c (build_common_decl): Likewise. * match.h (gfc_match_omp_target_enter_data, gfc_match_omp_target_exit_data, gfc_match_omp_target_parallel, gfc_match_omp_target_parallel_do, gfc_match_omp_target_parallel_do_simd, gfc_match_omp_target_simd, gfc_match_omp_taskloop, gfc_match_omp_taskloop_simd, gfc_match_omp_end_critical, gfc_match_omp_ordered_depend): New prototypes. * parse.c (decode_omp_directive): Use gfc_match_omp_end_critical instead of gfc_match_omp_critical for !$omp end critical. Handle new OpenMP 4.5 constructs. If ordered directive has depend clause as the first of the clauses, use gfc_match_omp_ordered_depend and ST_OMP_ORDERED_DEPEND instead of gfc_match_omp_ordered and ST_OMP_ORDERED. (case_executable): Add ST_OMP_TARGET_ENTER_DATA, ST_OMP_TARGET_EXIT_DATA and ST_OMP_ORDERED_DEPEND cases. (case_exec_markers): Add ST_OMP_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TARGET_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD cases. (gfc_ascii_statement): Handle new OpenMP 4.5 constructs. (parse_omp_do): Handle ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD. (parse_omp_structured_block): Handle EXEC_OMP_END_CRITICAL instead of EXEC_OMP_CRITICAL, adjust for EXEC_OMP_CRITICAL having omp clauses now. (parse_executable): Handle ST_OMP_TARGET_PARALLEL, ST_OMP_TARGET_PARALLEL_DO, ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_TASKLOOP and ST_OMP_TASKLOOP_SIMD. gcc/testsuite/ * gfortran.dg/gomp/pr77516.f90: Add dg-warning. * gfortran.dg/gomp/target1.f90: Remove ordered clause where it is no longer allowed and corresponding ordered construct. * gfortran.dg/gomp/linear-1.f90: New test. * gfortran.dg/gomp/declare-simd-2.f90: New test. * gfortran.dg/gomp/declare-target-1.f90: New test. * gfortran.dg/gomp/declare-target-2.f90: New test. libgomp/ * testsuite/libgomp.fortran/examples-4/declare_target-1.f90 (fib_wrapper): Add map(from: x) clause. * testsuite/libgomp.fortran/examples-4/declare_target-2.f90 (e_53_2): Likewise. * testsuite/libgomp.fortran/examples-4/declare_target-4.f90 (accum): Add map(tmp) clause. * testsuite/libgomp.fortran/examples-4/declare_target-5.f90 (accum): Add map(tofrom: tmp) clause. * testsuite/libgomp.fortran/examples-4/target_data-3.f90 (gramSchmidt): Likewise. * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add map(tofrom: sum) clause. * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause. * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause only allowed on the loop iterator. * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause. * testsuite/libgomp.fortran/taskloop2.f90: New test. * testsuite/libgomp.fortran/taskloop4.f90: New test. * testsuite/libgomp.fortran/doacross1.f90: New test. * testsuite/libgomp.fortran/doacross3.f90: New test. * testsuite/libgomp.fortran/taskloop1.f90: New test. * testsuite/libgomp.fortran/taskloop3.f90: New test. * testsuite/libgomp.fortran/doacross2.f90: New test. * testsuite/libgomp.c/doacross-1.c (main): Add missing #pragma omp atomic read. * testsuite/libgomp.c/doacross-2.c (main): Likewise. * testsuite/libgomp.c/doacross-3.c (main): Likewise. From-SVN: r242037
2016-11-10 12:38:05 +01:00
* g++.dg/pr78112.C: New testcase.
2016-11-09 Jakub Jelinek <jakub@redhat.com>
* g++.dg/asan/asan_test.C: Remove -Wno-format, add
-Wno-c++1z-compat.
* g++.dg/asan/dejagnu-gtest.h (EXPECT_TRUE): Use "%s" format
string in case condition contains % characters.
PR c++/78283
* g++.dg/cpp1z/noexcept-type13.C: New test.
2016-11-09 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/mips.exp (mips-dg-options): Upgrade to MIPS IV if
using (HAS_MOVN) with MIPS III.
2016-11-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/46459
* gfortran.dg/volatile14.f90: New test.
2016-11-09 Uros Bizjak <ubizjak@gmail.com>
PR target/78262
* gcc.target/i386/pr78262.c: New test.
2016-11-09 Fritz O. Reese <fritzoreese@gmail.com>
PR fortran/78259
* gfortran.dg/pr78259.f90: New test.
2016-11-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/60777
* gfortran.dg/spec_expr_7.f90: New test.
2016-11-09 Jakub Jelinek <jakub@redhat.com>
PR target/77718
* gcc.c-torture/execute/pr77718.c: New test.
* gcc.dg/ubsan/c99-shift-3.c: New test.
* gcc.dg/ubsan/c99-shift-4.c: New test.
* gcc.dg/ubsan/c99-shift-5.c: New test.
* gcc.dg/ubsan/c99-shift-6.c: New test.
2016-11-09 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/builtins-folding-generic.c (main): Add new
test-case for memcmp.
* gcc.dg/tree-ssa/builtins-folding-gimple.c: Likewise.
2016-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR testsuite/78269
* g++.dg/cpp1z/noexcept-type9.C: Make it a compile test.
2016-11-09 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/move_alloc_18.f90: New test.
2016-11-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/78256
* gcc.dg/pr35691-1.c (foo): Use & instead of &&.
* gcc.dg/pr35691-2.c (foo): Use | instead of ||.
2016-11-09 Janus Weil <janus@gcc.gnu.org>
PR fortran/71894
* gfortran.dg/class_59.f90: New test.
2016-11-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/78007
* gcc.dg/vect/vect-bswap32.c: Adjust.
* gcc.dg/vect/vect-bswap64.c: Likewise.
2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/ipa/vrp7.c: New test.
2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/78121
* gcc.dg/ipa/pr78121.c: New test.
2016-11-09 Maxim Ostapenko <m.ostapenko@samsung.com>
* c-c++-common/asan/default_options.h: New file.
* c-c++-common/asan/strcasestr-1.c: New test.
* c-c++-common/asan/strcasestr-2.c: Likewise.
* c-c++-common/asan/strcspn-1.c: Likewise.
* c-c++-common/asan/strcspn-2.c: Likewise.
* c-c++-common/asan/strpbrk-1.c: Likewise.
* c-c++-common/asan/strpbrk-2.c: Likewise.
* c-c++-common/asan/strspn-1.c: Likewise.
* c-c++-common/asan/strspn-2.c: Likewise.
* c-c++-common/asan/strstr-1.c: Likewise.
* c-c++-common/asan/strstr-2.c: Likewise.
* c-c++-common/asan/halt_on_error_suppress_equal_pcs-1.c: Likewise.
2016-11-09 Maxim Ostapenko <m.ostapenko@samsung.com>
* c-c++-common/asan/null-deref-1.c: Adjust testcase.
2016-11-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/68440
* gfortran.dg/class_58.f90: New test.
2016-11-08 Uros Bizjak <ubizjak@gmail.com>
PR target/70799
* gcc.target/i386/pr70799-2.c: New test.
2016-11-08 Janus Weil <janus@gcc.gnu.org>
PR fortran/77596
* gfortran.dg/proc_ptr_comp_46.f90: New test.
2016-11-08 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/pr56541.c: Xfail on !vect_cond_mixed targets.
2016-11-08 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/pr71347.c: Drop xfail.
2016-11-08 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/vect-cond-2.c: Drop xfail.
2016-11-08 Martin Liska <mliska@suse.cz>
PR testsuite/78242
* g++.dg/asan/use-after-scope-4.C: New test.
* g++.dg/asan/use-after-scope-types-4.C: Update scanned pattern.
* gcc.dg/asan/use-after-scope-8.c: Remove.
2016-11-08 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/vect-nb-iter-ub-2.c: Adjust.
2016-11-08 Tamar Christina <tamar.christina@arm.com>
PR testsuite/78136
* gcc.dg/cpp/trad/trad.exp
(dg-runtest): Added $srcdir/$subdir/ to Include dirs.
* gcc.dg/cpp/trad/include.c: Use local header file.
2016-11-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/78205
* gcc.dg/vect/bb-slp-pr78205.c: New testcase.
2016-11-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/78224
* g++.dg/torture/pr78224.C: New testcase.
2016-11-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/store_merging_1.c: Require store_merge.
* gcc.dg/store_merging_2.c: Likewise.
* gcc.dg/store_merging_4.c: Likewise.
* gcc.dg/store_merging_5.c: Likewise.
* gcc.dg/store_merging_6.c: Likewise.
* gcc.dg/store_merging_7.c: Likewise.
* gcc.dg/store_merging_8.c: Likewise.
* lib/target-supports.exp (check_effective_target_store_merge): New.
2016-11-07 David Edelsohn <dje.gcc@gmail.com>
* gcc.target/powerpc/fold-vec-add-1.c: Add dg-options -maltivec.
* gcc.target/powerpc/fold-vec-add-2.c: Add dg-options -maltivec.
* gcc.target/powerpc/fold-vec-add-3.c: Add dg-options -maltivec.
* gcc.target/powerpc/fold-vec-add-4.c: Add dg-options -maltivec
-mvsx -mpower8-vector.
* gcc.target/powerpc/fold-vec-add-5.c: Add dg-options -maltivec -mno-vsx.
* gcc.target/powerpc/fold-vec-add-6.c: Add dg-options -maltivec -mvsx.
* gcc.target/powerpc/fold-vec-add-7.c: Add dg-options -maltivec
-mvsx -mpower8-vector.
2016-11-07 David Edelsohn <dje.gcc@gmail.com>
* lib/scanasm.exp (hidden-scan-for): Add XCOFF support.
* gfortran.dg/implicit_class_1.f90: Skip on AIX.
* gcc.dg/visibility-14.c: XFAIL AIX.
* gcc.dg/visibility-15.c: XFAIL AIX.
* gcc.dg/visibility-16.c: XFAIL AIX.
* gcc.dg/visibility-17.c: XFAIL AIX.
* gcc.dg/visibility-18.c: XFAIL AIX.
* gcc.dg/visibility-19.c: XFAIL AIX.
* g++.dg/ext/visibility/anon1.C: XFAIL AIX.
* g++.dg/ext/visibility/anon2.C: XFAIL AIX.
* g++.dg/ext/visibility/pragma-override1.C: XFAIL AIX.
* g++.dg/ext/visibility/pragma-override2.C: XFAIL AIX.
2016-11-07 Jakub Jelinek <jakub@redhat.com>
PR target/78227
* gcc.target/i386/pr78227-1.c: New test.
* gcc.target/i386/pr78227-2.c: New test.
2016-11-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/35691
* gcc.dg/pr35691-1.c: New test-case.
* gcc.dg/pr35691-2.c: Likewise.
2016-11-07 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/77309
* gcc.dg/torture/pr77309.c: New test.
2016-11-07 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71529
* gcc.target/i386/pr71529.C: Moved to ...
* g++.dg/opt/pr71529.C: ... here. New test. Guard for i?86/x86_64.
PR target/64411
* gcc.target/i386/pr64411.C: Moved to ...
* g++.dg/opt/pr64411.C: ... here. New test. Guard for i?86/x86_64
lp64.
PR target/65105
* gcc.target/i386/pr65105-4.C: Moved to ...
* g++.dg/opt/pr65105-4.C: ... here. New test. Guard for i?86/x86_64.
Run into compile test rather than execute test.
2016-11-07 Richard Biener <rguenther@suse.de>
PR target/78229
* g++.dg/pr78229.C: New testcase.
2016-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/78218
* gcc.dg/torture/pr78218.c: New testcase.
2016-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/78228
* gcc.dg/tree-ssa/phi-opt-15.c: New testcase.
2016-11-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/77822
* g++.dg/torture/pr77822.C: New test.
2016-11-07 Martin Liska <mliska@suse.cz>
* c-c++-common/asan/force-inline-opt0-1.c: Disable
-f-sanitize-address-use-after-scope.
* c-c++-common/asan/inc.c: Change number of expected ASAN_CHECK
internal fn calls.
* g++.dg/asan/use-after-scope-1.C: New test.
* g++.dg/asan/use-after-scope-2.C: Likewise.
* g++.dg/asan/use-after-scope-3.C: Likewise.
* g++.dg/asan/use-after-scope-types-1.C: Likewise.
* g++.dg/asan/use-after-scope-types-2.C: Likewise.
* g++.dg/asan/use-after-scope-types-3.C: Likewise.
* g++.dg/asan/use-after-scope-types-4.C: Likewise.
* g++.dg/asan/use-after-scope-types-5.C: Likewise.
* g++.dg/asan/use-after-scope-types.h: Likewise.
* gcc.dg/asan/use-after-scope-1.c: Likewise.
* gcc.dg/asan/use-after-scope-2.c: Likewise.
* gcc.dg/asan/use-after-scope-3.c: Likewise.
* gcc.dg/asan/use-after-scope-4.c: Likewise.
* gcc.dg/asan/use-after-scope-5.c: Likewise.
* gcc.dg/asan/use-after-scope-6.c: Likewise.
* gcc.dg/asan/use-after-scope-7.c: Likewise.
* gcc.dg/asan/use-after-scope-8.c: Likewise.
* gcc.dg/asan/use-after-scope-9.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-1.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-2.c: Likewise.
* gcc.dg/asan/use-after-scope-switch-3.c: Likewise.
* gcc.dg/asan/use-after-scope-goto-1.c: Likewise.
* gcc.dg/asan/use-after-scope-goto-2.c: Likewise.
2016-11-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/78189
* g++.dg/torture/pr78189.C: New testcase.
2016-11-06 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/Wtrampolines.c: XFAIL AIX.
2016-11-06 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/allocate_with_source_14.f03: Fixed number mallocs
occuring.
2016-11-06 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/78221
* arith.c (gfc_complex2real): Change gfc_warning_now to
gfc_warning.
2016-11-05 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/move_alloc_17.f03: New test.
2016-11-05 Richard Biener <rguenther@suse.de>
PR bootstrap/78188
* g++.dg/ipa/pr78188.C: New test.
2016-11-05 Janus Weil <janus@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/69495
* gfortran.dg/elemental_optional_args_6.f90: Use -Wpedantic flag.
2016-11-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67564
* gfortran.dg/select_type_39.f03: New test.
2016-11-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/64933
* gfortran.dg/associate_23.f90: New test.
2016-11-04 Jakub Jelinek <jakub@redhat.com>
PR target/77834
* gcc.dg/pr77834.c: New test.
2016-11-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67980
* g++.dg/cpp1y/pr67980.C: New.
2016-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/fold-vec-add-1.c: New.
* gcc.target/powerpc/fold-vec-add-2.c: New.
* gcc.target/powerpc/fold-vec-add-3.c: New.
* gcc.target/powerpc/fold-vec-add-4.c: New.
* gcc.target/powerpc/fold-vec-add-5.c: New.
* gcc.target/powerpc/fold-vec-add-6.c: New.
* gcc.target/powerpc/fold-vec-add-7.c: New.
2016-11-04 Toma Tabacu <toma.tabacu@imgtec.com>
* gcc.target/mips/mips.exp (mips-dg-options): Downgrade to R5
for -mbranch-likely, infer -mno-branch-likely for R6.
2016-11-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/71973
* g++.dg/cpp1y/lambda-generic-udt.C: Fix builtin function declaration.
* g++.dg/init/new15.C: Likewise.
* g++.dg/ipa/inline-1.C: Likewise.
* g++.dg/ipa/inline-2.C: Likewise.
* g++.dg/lto/20080908-1_0.C: Likewise.
* g++.dg/tc1/dr20.C: Likewise.
* g++.dg/tree-ssa/inline-1.C: Likewise.
* g++.dg/tree-ssa/inline-2.C: Likewise.
* g++.old-deja/g++.law/except1.C: Likewise.
* g++.old-deja/g++.other/vbase5.C: Likewise.
* obj-c++.dg/lto/trivial-1_0.mm: Likewise.
2016-11-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/78210
* gcc.dg/tree-ssa/slsr-8.c: Fix slsr scan to include the
possibility of widening multiplies.
2016-11-04 Richard Biener <rguenther@suse.de>
PR middle-end/78185
* gcc.dg/pr78185.c: New testcase.
2016-10-04 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/debug/dwarf2/ref-3.C: XFAIL AIX.
* g++.dg/debug/dwarf2/ref-4.C: XFAIL AIX.
re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) PR debug/28767 PR debug/56974 * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute langhook. * langhooks.c (lhd_type_dwarf_attribute): New function. * langhooks-def.h (lhd_type_dwarf_attribute): Declare. (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_DWARF_ATTRIBUTE. (check_qualified_type, check_aligned_type): Call it. * dwarf2out.c (modified_type_die): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL, return early. For pointer-to-data-member add DW_AT_use_location attribute. (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute if needed. (gen_type_die_with_usage): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. Formatting fixes. Call get_debug_type langhook. cp/ * tree.c (cp_check_qualified_type): Use check_base_type and TYPE_QUALS comparison instead of check_qualified_type. (cxx_type_hash_eq): Return false if type_memfn_rqual don't match. * cp-objcp-common.c (cp_get_debug_type): New function. (cp_decl_dwarf_attribute): Don't handle types here. (cp_type_dwarf_attribute): New function. * cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute): Declare. (LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. testsuite/ * g++.dg/debug/dwarf2/ptrdmem-1.C: New test. * g++.dg/debug/dwarf2/ref-3.C: New test. * g++.dg/debug/dwarf2/ref-4.C: New test. * g++.dg/debug/dwarf2/refqual-1.C: New test. * g++.dg/debug/dwarf2/refqual-2.C: New test. From-SVN: r241832
2016-11-03 22:18:49 +01:00
2016-11-03 Jakub Jelinek <jakub@redhat.com>
Alexandre Oliva <aoliva@redhat.com>
Jason Merrill <jason@redhat.com>
PR debug/28767
PR debug/56974
* g++.dg/debug/dwarf2/ptrdmem-1.C: New test.
* g++.dg/debug/dwarf2/ref-3.C: New test.
* g++.dg/debug/dwarf2/ref-4.C: New test.
* g++.dg/debug/dwarf2/refqual-1.C: New test.
* g++.dg/debug/dwarf2/refqual-2.C: New test.
2016-11-03 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_exp_1.f90: New test.
* gfortran.dg/dec_exp_2.f90: Likewise.
* gfortran.dg/dec_exp_3.f90: Likewise.
re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) PR debug/28767 PR debug/56974 * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute langhook. * langhooks.c (lhd_type_dwarf_attribute): New function. * langhooks-def.h (lhd_type_dwarf_attribute): Declare. (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_DWARF_ATTRIBUTE. (check_qualified_type, check_aligned_type): Call it. * dwarf2out.c (modified_type_die): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL, return early. For pointer-to-data-member add DW_AT_use_location attribute. (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute if needed. (gen_type_die_with_usage): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. Formatting fixes. Call get_debug_type langhook. cp/ * tree.c (cp_check_qualified_type): Use check_base_type and TYPE_QUALS comparison instead of check_qualified_type. (cxx_type_hash_eq): Return false if type_memfn_rqual don't match. * cp-objcp-common.c (cp_get_debug_type): New function. (cp_decl_dwarf_attribute): Don't handle types here. (cp_type_dwarf_attribute): New function. * cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute): Declare. (LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. testsuite/ * g++.dg/debug/dwarf2/ptrdmem-1.C: New test. * g++.dg/debug/dwarf2/ref-3.C: New test. * g++.dg/debug/dwarf2/ref-4.C: New test. * g++.dg/debug/dwarf2/refqual-1.C: New test. * g++.dg/debug/dwarf2/refqual-2.C: New test. From-SVN: r241832
2016-11-03 22:18:49 +01:00
2016-11-03 Fritz O. Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_parameter_1.f: New test.
* gfortran.dg/dec_parameter_2.f90: Likewise.
* gfortran.dg/dec_parameter_3.f90: Likewise.
* gfortran.dg/dec_parameter_4.f90: Likewise.
2016-11-03 Martin Liska <mliska@suse.cz>
* gcc.dg/no_profile_instrument_function-attr-1.c: Update scanned
output.
* gcc.dg/tree-prof/time-profiler-3.c: New test.
2016-11-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR libgcc/78067
* gcc.dg/torture/fp-int-convert.h: Add more conversion tests.
2016-11-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/execute/pr78170.c: Require int32plus.
2016-11-02 Max Filippov <jcmvbkbc@gmail.com>
* gcc.c-torture/compile/20001226-1.c: Don't xfail on xtensa.
2016-11-01 Tamar Christina <tamar.christina@arm.com>
* gcc.target/arm/simd/vmaxnm_f32_1.c (dg-require-effective-target):
Check for arm_v8_neon_hw.
* gcc.target/arm/simd/vmaxnmq_f32_1.c (dg-require-effective-target):
Likewise.
* gcc.target/arm/simd/vminnm_f32_1.c (dg-require-effective-target):
Likewise.
* gcc.target/arm/simd/vminnmq_f32_1.c(dg-require-effective-target):
Likewise.
2016-11-02 Richard Biener <rguenther@suse.de>
* gcc.dg/store_merging_8.c: New testcase.
re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) PR debug/28767 PR debug/56974 * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute langhook. * langhooks.c (lhd_type_dwarf_attribute): New function. * langhooks-def.h (lhd_type_dwarf_attribute): Declare. (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_DWARF_ATTRIBUTE. (check_qualified_type, check_aligned_type): Call it. * dwarf2out.c (modified_type_die): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL, return early. For pointer-to-data-member add DW_AT_use_location attribute. (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute if needed. (gen_type_die_with_usage): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. Formatting fixes. Call get_debug_type langhook. cp/ * tree.c (cp_check_qualified_type): Use check_base_type and TYPE_QUALS comparison instead of check_qualified_type. (cxx_type_hash_eq): Return false if type_memfn_rqual don't match. * cp-objcp-common.c (cp_get_debug_type): New function. (cp_decl_dwarf_attribute): Don't handle types here. (cp_type_dwarf_attribute): New function. * cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute): Declare. (LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. testsuite/ * g++.dg/debug/dwarf2/ptrdmem-1.C: New test. * g++.dg/debug/dwarf2/ref-3.C: New test. * g++.dg/debug/dwarf2/ref-4.C: New test. * g++.dg/debug/dwarf2/refqual-1.C: New test. * g++.dg/debug/dwarf2/refqual-2.C: New test. From-SVN: r241832
2016-11-03 22:18:49 +01:00
2016-11-02 Fritz O. Reese <fritzoreese@gmail.com>
* gfortran.dg/warn_argument_mismatch_1.f90: New test.
2016-11-02 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/debug/dwarf2/prod-options.c: XFAIL AIX.
* gcc.dg/debug/dwarf2/pr71855.c: XFAIL AIX.
* gcc.dg/addr_equal_1.c: XFAIL AIX.
* gcc.dg/pr65779.c: XFAIL AIX.
* gcc.dg/pr70405.c: XFAIL AIX.
* g++.dg/debug/dwarf2/inline-var-1.C: XFAIL AIX.
* g++.dg/debug/dwarf2/ref-2.C: XFAIL AIX.
* g++.dg/debug/dwarf2/constexpr-var-1.C: XFAIL AIX.
2016-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lib/target-supports.exp (check_gc_sections_available): Use
-print-prog-name=ld to determine linker used.
2016-11-02 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c (main): Add
test case.
2016-11-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR tree-optimization/78170
* gcc.c-torture/execute/pr78170.c: New test.
2016-11-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR tree-optimization/78162
* gcc.c-torture/compile/pr78162.c: New test.
2016-11-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/78035
PR tree-optimization/77964
* gcc.target/i386/pr78035.c: New testcase.
2016-11-02 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/vrp111.c: New testcase.
* gcc.dg/tree-ssa/pr20702.c: Disable EVRP.
* gcc.dg/tree-ssa/pr21086.c: Likewise.
* gcc.dg/tree-ssa/pr58480.c: Likewise.
* gcc.dg/tree-ssa/vrp08.c: Likewise.
2016-11-01 David Edelsohn <dje.gcc@gmail.com>
* gfortran.dg/pr70937.f90: require-effective-target lto.
2016-11-01 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69544
* gfortran.dg/where_6.f90: New test.
2016-11-01 Jakub Jelinek <jakub@redhat.com>
* g++.dg/debug/dwarf2/inline-var-1.C: New test.
2016-11-01 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69544
* gfortran.dg/where_5.f90: New test.
2016-11-01 Bilyan Borisov <bilyan.borisov@arm.com>
* gcc.target/arm/simd/vmaxnm_f32_1.c: New.
* gcc.target/arm/simd/vmaxnmq_f32_1.c: Likewise.
* gcc.target/arm/simd/vminnm_f32_1.c: Likewise.
* gcc.target/arm/simd/vminnmq_f32_1.c: Likewise.
2016-11-01 Uros Bizjak <ubizjak@gmail.com>
* lib/target-supports.exp: Normalize order of i?86 and x86_64 targets.
Whitespace fixes.
(check_effective_target_vect_cmdline_needed): Check
is-effective-target ia32 for x86 targets.
(check_effective_target_vect_simd_clones): Simplify condition.
(check_effective_target_vect_double): Ditto.
(check_effective_target_vect_aligned_arrays): Check
is-effective-target ia32 for x86 targets. Simplify condition.
(check_effective_target_vect_multiple_sizes): Simplify condition.
(check_effective_target_sqrt_insn): Add i?86-*-* target.
(check_effective_target_sync_int_128): Simplify condition.
(check_effective_target_sync_int_128_runtime): Ditto.
(check_effective_target_sync_long_long_runtime): Ditto.
(check_effective_target_divmod): Add i?86-*-* target.
2016-10-31 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-extract-4.c: New test.
* gcc.target/powerpc/vsx-extract-5.c: Likewise.
2016-10-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/54679
* gfortran.dg/fmt_l.f90: Update test.
* gfortran.dg/fmt_l0.f90: New test.
2016-10-31 Jakub Jelinek <jakub@redhat.com>
PR c++/78089
* c-c++-common/builtin-shuffle-1.c: New test.
* g++.dg/cpp0x/addressof3.C: New test.
2016-10-31 Ville Voutilainen <ville.voutilainen@gmail.com>
Add tests for a const member and a reference member for launder.
* g++.dg/cpp1z/launder3.C: New.
* g++.dg/cpp1z/launder4.C: Likewise.
* g++.dg/cpp1z/launder5.C: Likewise.
* g++.dg/cpp1z/launder5.cc: Likewise.
* g++.dg/cpp1z/launder5.h: Likewise.
* g++.dg/cpp1z/launder6.C: Likewise.
* g++.dg/cpp1z/launder6.cc: Likewise.
* g++.dg/cpp1z/launder6.h: Likewise.
2016-10-31 Jakub Jelinek <jakub@redhat.com>
PR c++/77948
* g++.dg/cpp0x/pr77948-1.C: New test.
* g++.dg/cpp0x/pr77948-2.C: New test.
* g++.dg/cpp0x/pr77948-3.C: New test.
* g++.dg/cpp0x/pr77948-4.C: New test.
* g++.dg/cpp0x/pr77948-5.C: New test.
* g++.dg/cpp0x/pr77948-6.C: New test.
PR tree-optimization/77860
* gcc.dg/pr77860.c: New test.
2016-10-31 Jakub Jelinek <jakub@redhat.com>
PR c++/77886
* g++.dg/warn/Wimplicit-fallthrough-2.C: New test.
2016-10-31 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/lto/pr60449_0.c: Skip for avr.
Add -Wshadow=global -Wshadow=local and -Wshadow=compatible-local. This patch from Le-Chun Wu adds two new shadow warning flags for C and C++: -Wshadow=local which warns if a local variable shadows another local variable or parameter, -Wshadow=compatible-local which warns if a local variable shadows another local variable or parameter whose type is compatible with that of the shadowing variable. It is already on the google/main branch (Google ref 39127) and was previously submitted by Diego Novillo and reviewed on http://codereview.appspot.com/4452058 I addressed the review comments and made the following changes: - Add -Wshadow=global (the default alias for -Wshadow). - Make the documented options -Wshadow=global, -Wshadow=local and -Wshadow=compatible-local (with hidden undocumented aliases -Wshadow-local and -Wshadow-compatible-local for compatibility). - The -Wshadow=global, -Wshadow=local and -Wshadow=compatible-local relationships are expressed in common.opt instead of in opts.c and documented in invoke.texi. - The "previous declaration" warnings were turned into notes and use the (now) existing infrastructure instead of duplicating the warnings. The testcases have been adjusted to expect the notes. - The conditional change in name-lookup.c for non-locals (where we don't want to change the warnings, but just check the global ones) has been dropped. - Use warning_at in c-decl.c (warn_if_shadowing). gcc/ChangeLog: 2016-10-30 Le-Chun Wu <lcwu@google.com> Mark Wielaard <mjw@redhat.com> * doc/invoke.texi: Document Wshadow-local and Wshadow-compatible-local. * common.opt (Wshadow=global): New option. Default for -Wshadow. (Wshadow=local): New option. (Wshadow-local): Hidden alias for -Wshadow=local. (Wshadow=compatible-local): New option. (Wshadow-compatible-local): Hidden alias for -Wshadow=compatible-local. * doc/invoke.texi: Document Wshadow=global, Wshadow=local and Wshadow=compatible-local. gcc/c/ChangeLog: 2016-10-30 Le-Chun Wu <lcwu@google.com> Mark Wielaard <mjw@redhat.com> * c-decl.c (warn_if_shadowing): Use the warning code corresponding to the given -Wshadow= variant. Use warning_at. gcc/cp/ChangeLog: 2016-10-30 Le-Chun Wu <lcwu@google.com> Mark Wielaard <mjw@redhat.com> * name-lookup.c (pushdecl_maybe_friend): When emitting a shadowing warning, use the code corresponding to the given -Wshadow= variant. gcc/testsuite/ChangeLog 2016-10-30 Le-Chun Wu <lcwu@google.com> Mark Wielaard <mjw@redhat.com> * gcc.dg/Wshadow-compatible-local-1.c: New test. * gcc.dg/Wshadow-local-1.c: Likewise. * gcc.dg/Wshadow-local-2.c: Likewise. * g++.dg/warn/Wshadow-compatible-local-1.C: Likewise. * g++.dg/warn/Wshadow-local-1.C: Likewise. * g++.dg/warn/Wshadow-local-2.C: Likewise. Co-Authored-By: Mark Wielaard <mjw@redhat.com> From-SVN: r241699
2016-10-31 14:21:59 +01:00
2016-10-30 Le-Chun Wu <lcwu@google.com>
Mark Wielaard <mjw@redhat.com>
* gcc.dg/Wshadow-compatible-local-1.c: New test.
* gcc.dg/Wshadow-local-1.c: Likewise.
* gcc.dg/Wshadow-local-2.c: Likewise.
* g++.dg/warn/Wshadow-compatible-local-1.C: Likewise.
* g++.dg/warn/Wshadow-local-1.C: Likewise.
* g++.dg/warn/Wshadow-local-2.C: Likewise.
re PR tree-optimization/71915 (A missed opportunity for SLSR) [gcc] 2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/71915 PR tree-optimization/71490 * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add stride_type field. (find_basis_for_base_expr): Require stride types to match when seeking a basis. (alloc_cand_and_find_basis): Record the stride type. (slsr_process_phi): Pass stride type to alloc_cand_and_find_basis. (backtrace_base_for_ref): Pass types to legal_cast_p_1 rather than the expressions having those types. (slsr_process_ref): Pass stride type to alloc_cand_and_find_basis. (create_mul_ssa_cand): Likewise. (create_mul_imm_cand): Likewise. (create_add_ssa_cand): Likewise. (create_add_imm_cand): Likewise. (legal_cast_p_1): Change interface to accept types rather than the expressions having those types. (legal_cast_p): Pass types to legal_cast_p_1. (slsr_process_cast): Pass stride type to alloc_cand_and_find_basis. (slsr_process_copy): Likewise. (dump_candidate): Display stride type when a cast exists. (create_add_on_incoming_edge): Introduce a cast when necessary for the stride type. (analyze_increments): Change the code checking for invalid casts to rely on the stride type, and update the documentation and example. Change the code checking for pointer multiplies to rely on the stride type. (insert_initializers): Introduce a cast when necessary for the stride type. Use the stride type for the type of the initializer. [gcc/testsuite] 2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/71915 PR tree-optimization/71490 * gcc.dg/tree-ssa/pr54245.c: Delete. * gcc.dg/tree-ssa/slsr-8.c: Adjust for new optimization and document why. From-SVN: r241695
2016-10-31 04:04:59 +01:00
2016-10-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/71915
PR tree-optimization/71490
* gcc.dg/tree-ssa/pr54245.c: Delete.
* gcc.dg/tree-ssa/slsr-8.c: Adjust for new optimization and
document why.
2016-10-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/78123
* gfortran.dg/fmt_t_9.f: New test.
2016-10-30 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/67219
* gfortran.dg/pr67219.f90: New test.
2016-10-29 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/77919
* g++.dg/torture/pr77919-2.C: New test.
PR target/78148
* gcc.dg/pr78148.c: New test.
2016-10-28 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/overflow-3.c: Replace and move old one to...
* gcc.target/sparc/overflow-4.c: ...here.
* gcc.target/sparc/overflow-5.c: New test.
re PR tree-optimization/43721 (Failure to optimise (a/b) and (a%b) into single __aeabi_idivmod call) 2016-10-28 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> Kugan Vivekanandarajah <kuganv@linaro.org> Jim Wilson <jim.wilson@linaro.org> PR tree-optimization/43721 * target.def: New hook expand_divmod_libfunc. * doc/tm.texi.in: Add hook for TARGET_EXPAND_DIVMOD_LIBFUNC * doc/tm.texi: Regenerate. * internal-fn.def: Add new entry for DIVMOD ifn. * internal-fn.c (expand_DIVMOD): New. * tree-ssa-math-opts.c: Include optabs-libfuncs.h, tree-eh.h, targhooks.h. (widen_mul_stats): Add new field divmod_calls_inserted. (target_supports_divmod_p): New. (divmod_candidate_p): Likewise. (convert_to_divmod): Likewise. (pass_optimize_widening_mul::execute): Call calculate_dominance_info(), renumber_gimple_stmt_uids() at beginning of function. Call convert_to_divmod() and record stats for divmod. * config/arm/arm.c (arm_expand_divmod_libfunc): Override hook TARGET_EXPAND_DIVMOD_LIBFUNC. * doc/sourcebuild.texi: Add items for arm_divmod_simode, divmod, divmod_simode. testsuite/ * lib/target-supports.exp (check_effective_target_divmod): New. (check_effective_target_divmod_simode): Likewise. (check_effective_target_arm_divmod_simode): Likewise. * gcc.dg/divmod-1-simode.c: New test. * gcc.dg/divmod-1.c: Likewise. * gcc.dg/divmod-2-simode.c: Likewise. * gcc.dg/divmod-2.c: Likewise. * gcc.dg/divmod-3-simode.c: Likewise. * gcc.dg/divmod-3.c: Likewise. * gcc.dg/divmod-4-simode.c: Likewise. * gcc.dg/divmod-4.c: Likewise. * gcc.dg/divmod-5.c: Likewise. * gcc.dg/divmod-6-simode.c: Likewise. * gcc.dg/divmod-6.c: Likewise. * gcc.dg/divmod-7.c: Likewise. Co-Authored-By: Jim Wilson <jim.wilson@linaro.org> Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org> From-SVN: r241660
2016-10-28 21:05:12 +02:00
2016-10-28 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Kugan Vivekanandarajah <kuganv@linaro.org>
Jim Wilson <jim.wilson@linaro.org>
PR tree-optimization/43721
* lib/target-supports.exp (check_effective_target_divmod): New.
(check_effective_target_divmod_simode): Likewise.
(check_effective_target_arm_divmod_simode): Likewise.
* gcc.dg/divmod-1-simode.c: New test.
* gcc.dg/divmod-1.c: Likewise.
* gcc.dg/divmod-2-simode.c: Likewise.
* gcc.dg/divmod-2.c: Likewise.
* gcc.dg/divmod-3-simode.c: Likewise.
* gcc.dg/divmod-3.c: Likewise.
* gcc.dg/divmod-4-simode.c: Likewise.
* gcc.dg/divmod-4.c: Likewise.
* gcc.dg/divmod-5.c: Likewise.
* gcc.dg/divmod-6-simode.c: Likewise.
* gcc.dg/divmod-6.c: Likewise.
* gcc.dg/divmod-7.c: Likewise.
GIMPLE store merging pass 2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> PR middle-end/22141 * Makefile.in (OBJS): Add gimple-ssa-store-merging.o. * common.opt (fstore-merging): New Optimization option. * opts.c (default_options_table): Add entry for OPT_ftree_store_merging. * fold-const.h (can_native_encode_type_p): Declare prototype. * fold-const.c (can_native_encode_type_p): Define. * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define. (PARAM_MAX_STORES_TO_MERGE): Likewise. * timevar.def (TV_GIMPLE_STORE_MERGING): New timevar. * passes.def: Insert pass_tree_store_merging. * tree-pass.h (make_pass_store_merging): Declare extern prototype. * gimple-ssa-store-merging.c: New file. * doc/invoke.texi (Optimization Options): Document -fstore-merging. (--param documentation): Document store-merging-allow-unaligned and max-stores-to-merge. 2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> Jakub Jelinek <jakub@redhat.com> Andrew Pinski <pinskia@gmail.com> PR middle-end/22141 PR rtl-optimization/23684 * gcc.c-torture/execute/pr22141-1.c: New test. * gcc.c-torture/execute/pr22141-2.c: Likewise. * gcc.target/aarch64/ldp_stp_1.c: Adjust for -fstore-merging. * gcc.target/aarch64/ldp_stp_4.c: Likewise. * gcc.dg/store_merging_1.c: New test. * gcc.dg/store_merging_2.c: Likewise. * gcc.dg/store_merging_3.c: Likewise. * gcc.dg/store_merging_4.c: Likewise. * gcc.dg/store_merging_5.c: Likewise. * gcc.dg/store_merging_6.c: Likewise. * gcc.dg/store_merging_7.c: Likewise. * gcc.target/i386/pr22141.c: Likewise. * gcc.target/i386/pr34012.c: Add -fno-store-merging to dg-options. * g++.dg/init/new17.C: Likewise. Co-Authored-By: Andrew Pinski <pinskia@gmail.com> Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r241649
2016-10-28 16:18:50 +02:00
2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Jakub Jelinek <jakub@redhat.com>
Andrew Pinski <pinskia@gmail.com>
GIMPLE store merging pass 2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> PR middle-end/22141 * Makefile.in (OBJS): Add gimple-ssa-store-merging.o. * common.opt (fstore-merging): New Optimization option. * opts.c (default_options_table): Add entry for OPT_ftree_store_merging. * fold-const.h (can_native_encode_type_p): Declare prototype. * fold-const.c (can_native_encode_type_p): Define. * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Define. (PARAM_MAX_STORES_TO_MERGE): Likewise. * timevar.def (TV_GIMPLE_STORE_MERGING): New timevar. * passes.def: Insert pass_tree_store_merging. * tree-pass.h (make_pass_store_merging): Declare extern prototype. * gimple-ssa-store-merging.c: New file. * doc/invoke.texi (Optimization Options): Document -fstore-merging. (--param documentation): Document store-merging-allow-unaligned and max-stores-to-merge. 2016-10-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> Jakub Jelinek <jakub@redhat.com> Andrew Pinski <pinskia@gmail.com> PR middle-end/22141 PR rtl-optimization/23684 * gcc.c-torture/execute/pr22141-1.c: New test. * gcc.c-torture/execute/pr22141-2.c: Likewise. * gcc.target/aarch64/ldp_stp_1.c: Adjust for -fstore-merging. * gcc.target/aarch64/ldp_stp_4.c: Likewise. * gcc.dg/store_merging_1.c: New test. * gcc.dg/store_merging_2.c: Likewise. * gcc.dg/store_merging_3.c: Likewise. * gcc.dg/store_merging_4.c: Likewise. * gcc.dg/store_merging_5.c: Likewise. * gcc.dg/store_merging_6.c: Likewise. * gcc.dg/store_merging_7.c: Likewise. * gcc.target/i386/pr22141.c: Likewise. * gcc.target/i386/pr34012.c: Add -fno-store-merging to dg-options. * g++.dg/init/new17.C: Likewise. Co-Authored-By: Andrew Pinski <pinskia@gmail.com> Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r241649
2016-10-28 16:18:50 +02:00
PR middle-end/22141
PR rtl-optimization/23684
* gcc.c-torture/execute/pr22141-1.c: New test.
* gcc.c-torture/execute/pr22141-2.c: Likewise.
* gcc.target/aarch64/ldp_stp_1.c: Adjust for -fstore-merging.
* gcc.target/aarch64/ldp_stp_4.c: Likewise.
* gcc.dg/store_merging_1.c: New test.
* gcc.dg/store_merging_2.c: Likewise.
* gcc.dg/store_merging_3.c: Likewise.
* gcc.dg/store_merging_4.c: Likewise.
* gcc.dg/store_merging_5.c: Likewise.
* gcc.dg/store_merging_6.c: Likewise.
* gcc.dg/store_merging_7.c: Likewise.
* gcc.target/i386/pr22141.c: Likewise.
* gcc.target/i386/pr34012.c: Add -fno-store-merging to dg-options.
* g++.dg/init/new17.C: Likewise.
re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) PR debug/28767 PR debug/56974 * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute langhook. * langhooks.c (lhd_type_dwarf_attribute): New function. * langhooks-def.h (lhd_type_dwarf_attribute): Declare. (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_DWARF_ATTRIBUTE. (check_qualified_type, check_aligned_type): Call it. * dwarf2out.c (modified_type_die): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL, return early. For pointer-to-data-member add DW_AT_use_location attribute. (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute if needed. (gen_type_die_with_usage): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. Formatting fixes. Call get_debug_type langhook. cp/ * tree.c (cp_check_qualified_type): Use check_base_type and TYPE_QUALS comparison instead of check_qualified_type. (cxx_type_hash_eq): Return false if type_memfn_rqual don't match. * cp-objcp-common.c (cp_get_debug_type): New function. (cp_decl_dwarf_attribute): Don't handle types here. (cp_type_dwarf_attribute): New function. * cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute): Declare. (LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. testsuite/ * g++.dg/debug/dwarf2/ptrdmem-1.C: New test. * g++.dg/debug/dwarf2/ref-3.C: New test. * g++.dg/debug/dwarf2/ref-4.C: New test. * g++.dg/debug/dwarf2/refqual-1.C: New test. * g++.dg/debug/dwarf2/refqual-2.C: New test. From-SVN: r241832
2016-11-03 22:18:49 +01:00
2016-10-26 Will Schmidt <will_schmidt@vnet.ibm.com>
PR middle-end/72747
* c-c++-common/pr72747-1.c: New test.
* c-c++-common/pr72747-2.c: Likewise.
2016-10-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/oscbreak-1.c: New test.
2016-10-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/target-attribute/tattr-m64-33.c: New test.
2016-10-28 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/77919
* g++.dg/torture/pr77919.C: New test.
PR rtl-optimization/78132
* gcc.target/i386/pr78132.c: New test.
2016-10-27 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/vect/pr71264.c: XFAIL on SPARC.
constraints.md (wH constraint): Add new constraints for allowing 32-bit integers (and eventually 8/16-bit... [gcc] 2016-10-27 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/constraints.md (wH constraint): Add new constraints for allowing 32-bit integers (and eventually 8/16-bit integers) into the vector registers. (wI constraint): Likewise. (wJ constraint): Likewise. (wK constraint): Likewise. * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add -mvsx-small-integer as a default option for ISA 2.07 (i.e. power8). (POWERPC_MASKS): Likewise. * config/rs6000/rs6000.opt (-mvsx-small-integer): Add new debug switch to turn off small integer support in vector registers. * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Eliminate test for -mupper-regs-di, since it is already done with the reg_add[mode].scalar_in_vsx_p. Add support for the switch -mvsx-small-integer. (rs6000_debug_reg_global): Add support for wH, wI, wJ, and wK constraints. (rs6000_setup_reg_addr_masks): Likewise. (rs6000_init_hard_regno_mode_ok): Likewise. (rs6000_option_override_internal): Add consistency checks for -mvsx-small-integer. (rs6000_secondary_reload_simple_move): SImode is a simple move if -mvsx-small-integer. (rs6000_secondary_reload): Use std::swap. (rs6000_preferred_reload_class): Don't prefer FLOAT_REGS over VSX_REGS for small integers in vector registers, since there is no D-FORM address mode for such types. (rs6000_register_move_cost): Use FIRST_FPR_REGNO instead of 32. (rs6000_opt_masks): Add -mvsx-small-integer. * config/rs6000/vsx.md (VSINT_84): Add SImode for small integer support. (VSX_EXTRACT_I2): Clone VSX_EXTRACT_I, but drop V4SI since SImode extracts can be done on ISA 2.07. (vsx_extract_<mode>): Add support for small integers in vsx registers. (vsx_extract_<mode>_p9): Use 'v' instead of VSX_EX, since we no longer support V4SImode in this pattern. (vsx_extract_si): New insn to support extraction of SImode in ISA 2.07 using either xxextractuw or vspltw. (vsx_extract_<mode>_p8): Use 'v' instead of VSX_EX, since we no longer support V4SImode in this pattern. * config/rs6000/rs6000.h (enum rs6000_reg_class_enum): Add wH, wI, wJ, and wK constraints. * config/rs6000/rs6000.md (f32_sv): Use correct instruction for storing SDmode with VSX instructions. (zero_extendsi<mode>2): Reorder pattern, so RLDICL comes after the GPR load and before the FPR and VSX loads. Remove ??, ! from the constraints. Add MFVSRWZ and XXEXTRACTUW instructions to support small integers in vector registers. (extendsi<mode>2): Reorder pattern, so EXTSW comes after the GPR load and before the FPR and VSX loads. Remove ??, ! from the constraints. Add VEXTSW2D support for small integers in vector registers. (lfiwax): Remove ! constraint. Add VEXTSW2D support for small integers in vector registers. (floatsi<mode>2_lfiwax): If -mvsx-small-integer issue a normal move instead of using an UNSPEC. (lfiwzx): Remove ! constraint. Add XXEXTRACTUW support for small integers in vector registers. (floatunssi<mode>2_lfiwzx): If -mvsx-small-integer issue a normal move instead of using an UNSPEC. (movsi_internal1): Add support for -mvsx-small-integer. Align columns so that it is more readable. (SImode splitter for ISA 3.0 constants): Add splitter for -128..127 constants that can easily be constructed on ISA 3.0. * doc/md.texi (PowerPC Constraints): Document wH, wI, wJ, and wK constraints. [gcc/testsuite] 2016-10-27 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vsx-simode.c: New test. * gcc.target/powerpc/vsx-simode2.c: Likewise. * gcc.target/powerpc/vsx-simode3.c: Likewise. From-SVN: r241631
2016-10-27 22:52:07 +02:00
2016-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-simode.c: New test.
* gcc.target/powerpc/vsx-simode2.c: Likewise.
* gcc.target/powerpc/vsx-simode3.c: Likewise.
2016-10-27 Jakub Jelinek <jakub@redhat.com>
PR fortran/78026
* gfortran.dg/gomp/pr78026.f03: New test.
* gfortran.dg/select_type_38.f03: New test.
PR middle-end/78025
* g++.dg/gomp/declare-simd-7.C: New test.
2016-10-27 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_init_1.f90: Remove -fdump-tree-original.
* gfortran.dg/dec_init_2.f90: Likewise.
* gfortran.dg/dec_init_3.f90: New test.
* gfortran.dg/dec_init_4.f90: Likewise.
2016-10-27 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/fold-narrowbopcst-1.c: New test.
2016-10-27 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_io_5.f90: Don't use "test.txt", and use
dg-shouldfail/dg-output instead of XFAIL.
* gfortran.dg/dec_io_6.f90: Likewise.
2016-10-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/atomic-comp-swap-release-acquire-3.c: New test.
* gcc.target/arm/atomic-op-acq_rel-3.c: Likewise.
* gcc.target/arm/atomic-op-acquire-3.c: Likewise.
* gcc.target/arm/atomic-op-char-3.c: Likewise.
* gcc.target/arm/atomic-op-consume-3.c: Likewise.
* gcc.target/arm/atomic-op-int-3.c: Likewise.
* gcc.target/arm/atomic-op-relaxed-3.c: Likewise.
* gcc.target/arm/atomic-op-release-3.c: Likewise.
* gcc.target/arm/atomic-op-seq_cst-3.c: Likewise.
* gcc.target/arm/atomic-op-short-3.c: Likewise.
2016-10-27 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/fold-convmaxconv-1.c: New test.
* gcc.dg/fold-convminconv-1.c: New test.
re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) PR debug/28767 PR debug/56974 * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute langhook. * langhooks.c (lhd_type_dwarf_attribute): New function. * langhooks-def.h (lhd_type_dwarf_attribute): Declare. (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_DWARF_ATTRIBUTE. (check_qualified_type, check_aligned_type): Call it. * dwarf2out.c (modified_type_die): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL, return early. For pointer-to-data-member add DW_AT_use_location attribute. (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute if needed. (gen_type_die_with_usage): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. Formatting fixes. Call get_debug_type langhook. cp/ * tree.c (cp_check_qualified_type): Use check_base_type and TYPE_QUALS comparison instead of check_qualified_type. (cxx_type_hash_eq): Return false if type_memfn_rqual don't match. * cp-objcp-common.c (cp_get_debug_type): New function. (cp_decl_dwarf_attribute): Don't handle types here. (cp_type_dwarf_attribute): New function. * cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute): Declare. (LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. testsuite/ * g++.dg/debug/dwarf2/ptrdmem-1.C: New test. * g++.dg/debug/dwarf2/ref-3.C: New test. * g++.dg/debug/dwarf2/ref-4.C: New test. * g++.dg/debug/dwarf2/refqual-1.C: New test. * g++.dg/debug/dwarf2/refqual-2.C: New test. From-SVN: r241832
2016-11-03 22:18:49 +01:00
2016-10-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/78092
* gfortran.dg/pr78092.f90: New test.
2016-10-26 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR target/78056
* gcc.target/powerpc/vsu/vec-any-eqz-7.c (test_any_equal): Change
expected error message.
* gcc.target/powerpc/vsu/vec-xst-len-12.c (store_data): Change
expected error message.
* gcc.target/powerpc/vsu/vec-all-nez-7.c
(test_all_not_equal_and_not_zero): Change expected error message.
2016-10-26 Jakub Jelinek <jakub@redhat.com>
PR fortran/77973
* gfortran.dg/gomp/pr77973.f90: New test.
2016-10-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/78108
* gfortran.dg/submodule_18.f08: New test.
* gfortran.dg/submodule_19.f08: New test.
2016-10-26 Michael Matz <matz@suse.de>
* g++.dg/pr78060.C: New test.
* gfortran.dg/pr78061.f: New test.
* g++.dg/pr78088.C: New test.
2016-10-26 Fritz Reese <fritzoreese@gmail.com>
New I/O specifiers CARRIAGECONTROL, READONLY, SHARE with -fdec. gcc/fortran/ * gfortran.texi: Document. * frontend-passes.c (gfc_code_walker): Add SHARE and CARRIAGECONTROL. * io.c (gfc_free_open, gfc_resolve_open, gfc_match_open): Ditto. * gfortran.h (gfc_open): Add SHARE, CARRIAGECONTROL, and READONLY. * io.c (io_tag, match_open_element): Ditto. * ioparm.def: Ditto. * trans-io.c (gfc_trans_open): Ditto. * io.c (match_dec_etag, match_dec_ftag): New functions. libgfortran/io/ * libgfortran.h (IOPARM_OPEN_HAS_READONLY, IOPARM_OPEN_HAS_SHARE, IOPARM_OPEN_HAS_CC): New for READONLY, SHARE, and CARRIAGECONTROL. * close.c (st_close): Support READONLY. * io.h (st_parameter_open, unit_flags): Support SHARE, CARRIAGECONTROL, and READONLY. * open.c (st_open): Ditto. * transfer.c (data_transfer_init): Ditto. * io.h (st_parameter_dt): New member 'cc' for CARRIAGECONTROL. * write.c (write_check_cc, write_cc): New functions for CARRIAGECONTROL. * transfer.c (next_record_cc): Ditto. * file_pos.c (st_endfile): Support SHARE and CARRIAGECONTROL. * io.h (st_parameter_inquire): Ditto. * open.c (edit_modes, new_unit): Ditto. * inquire.c (inquire_via_unit, inquire_via_filename): Ditto. * io.h (unit_share, unit_cc, cc_fortran, IOPARM_INQUIRE_HAS_SHARE, IOPARM_INQUIRE_HAS_CC): New for SHARE and CARRIAGECONTROL. * open.c (share_opt, cc_opt): Ditto. * read.c (read_x): Support CARRIAGECONTROL. * transfer.c (read_sf, next_record_r, next_record_w): Ditto. * write.c (list_formatted_write_scalar, write_a): Ditto. * unix.h (close_share): New prototype. * unix.c (open_share, close_share): New functions to handle SHARE. * unix.c (open_external): Handle READONLY. Call open_share. * close.c (st_close): Call close_share. gcc/testsuite/ * dec_io_1.f90: New test. * dec_io_2.f90: New test. * dec_io_3.f90: New test. * dec_io_4.f90: New test. * dec_io_5.f90: New test. * dec_io_6.f90: New test. From-SVN: r241550
2016-10-26 14:11:44 +02:00
* gfortran.dg/dec_io_1.f90: New test.
* gfortran.dg/dec_io_2.f90: New test.
* gfortran.dg/dec_io_3.f90: New test.
* gfortran.dg/dec_io_4.f90: New test.
* gfortran.dg/dec_io_5.f90: New test.
* gfortran.dg/dec_io_6.f90: New test.
2016-10-25 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/78106
* gcc.dg/asan/pr78106.c: Add -ffat-lto-objects to dg-options.
2016-10-25 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_bitwise_ops_1.f90: New test.
* gfortran.dg/dec_bitwise_ops_2.f90: New test.
2016-10-25 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt59.adb: New test.
* gnat.dg/opt59_pkg.ad[sb]: New helper.
* gnat.dg/opt60.adb: New test.
2016-10-25 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/72770
* gfortran.dg/alloc_comp_class_5.f03: Added test again that caused
this pr.
2016-10-25 Jakub Jelinek <jakub@redhat.com>
PR target/78102
* gcc.target/i386/pr78102.c: New test.
2016-10-25 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_logical_xor_1.f90: New test.
* gfortran.dg/dec_logical_xor_2.f90: New test.
* gfortran.dg/dec_logical_xor_3.f03: New test.
2016-10-25 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_loc_rval_1.f90: New test.
* gfortran.dg/dec_loc_rval_2.f90: New test.
* gfortran.dg/dec_loc_rval_3.f03: New test.
2016-10-25 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_type_print.f90: New testcase.
2016-10-25 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/feed_1.f90: New test.
* gfortran.dg/feed_2.f90: New test.
2016-10-25 Martin Liska <mliska@suse.cz>
PR sanitizer/78106
* gcc.dg/asan/pr78106.c: New test.
2016-10-25 Martin Liska <mliska@suse.cz>
* gcc.dg/ipa/ipa-icf-32.c: Removed one scanned pattern.
2016-10-25 Wilco Dijkstra <wdijkstr@arm.com>
PR target/78041
* gcc.target/arm/pr78041.c: New test.
2016-10-25 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/launder1.C: New test.
* g++.dg/cpp1z/launder2.C: New test.
2016-10-25 Georg-Johann Lay <avr@gjlay.de>
Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com>
PR target/71676
PR target/71678
* gcc.target/avr/pr71676-2.c: New test.
2016-10-25 Georg-Johann Lay <avr@gjlay.de>
Pitchumani Sivanupandi <pitchumani.sivanupandi@microchip.com>
PR target/71676
PR target/71678
* gcc.target/avr/pr71676-1.c: New test.
* gcc.target/avr/pr71676-3.c: New test.
* gcc.target/avr/pr71676.c: New test.
* gcc.target/avr/pr71678.c: New test.
2016-10-24 Kugan Vivekanandarajah <kuganvi@linaro.org>
* gcc.target/aarch64/test_frame_common.h: Add noclone attribute
such that cloned verions of tested functions are not created.
2016-10-24 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71895
* gfortran.dg/pr71895.f90: New test.
2016-10-24 Jakub Jelinek <jakub@redhat.com>
* g++.dg/debug/dwarf2/ref-2.C: New test.
2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/Wint-in-bool-context-3.c: New test.
2016-10-24 Martin Sebor <msebor@redhat.com>
PR middle-end/77735
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Same.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Adjust/relax.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Add test cases.
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: XFAIL for LP64 only.
* gcc.dg/tree-ssa/builtin-sprintf.c: Add test cases.
2016-10-24 Richard Biener <rguenther@suse.de>
PR testsuite/71491
* gcc.dg/vect/slp-43.c: Adjust for !vect_hw_misalign.
* gcc.dg/vect/slp-45.c: Likewise.
2016-10-24 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/cunroll-13.c: Disable EVRP.
* gcc.dg/tree-ssa/pr21458.c: Likewise.
* gcc.dg/tree-ssa/pr21458-2.c: New testcase for EVRP.
2016-10-24 Georg-Johann Lay <avr@gjlay.de>
PR target/78093
* lib/target-supports.exp (check_effective_target_avr_tiny): New proc.
* gcc.target/avr/torture/tiny-absdata-1.c: New test.
2016-10-24 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/pure-code/pure-code.exp: Restore saved globals.
2016-10-24 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/bmi2-pext-1.c: New test.
* gcc.target/i386/bmi2-pdep-1.c: New test.
* gcc.target/i386/bmi2-bzhi-3.c: New test.
* gcc.target/i386/tbm-bextri-1.c: New test.
* gcc.target/i386/bmi-bextr-6.c: New test.
2016-10-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/77483
* gcc.target/i386/mask-unpack.c (dg-options): Add -mno-stackrealign.
* gcc.target/i386/pr65105-1.c: Likewise.
* gcc.target/i386/pr65105-2.c: Likewise.
* gcc.target/i386/pr65105-3.c: Likewise.
* gcc.target/i386/pr65105-5.c: Likewise.
* gcc.target/i386/pr67761.c: Likewise.
* gcc.target/i386/pr70799-1.c: Likewise.
2016-10-24 Martin Liska <mliska@suse.cz>
PR sanitizer/77966
* c-c++-common/ubsan/unreachable-3.c: New test.
2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77763
* gfortran.dg/pr77763.f90
2016-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/54730
PR fortran/78033
* gfortran.dg/pr78033.f90: New test.
2016-10-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69834
* gfortran.dg/select_type_1.f03: Change error for overlapping
TYPE IS cases.
* gfortran.dg/select_type_36.f03: New test.
2016-10-22 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/tree-ssa/pr71347.c: Remove XFAIL on SPARC.
2016-10-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/78021
* gfortran.dg/string_length_3.f90: New test.
re PR fortran/43366 ([OOP][F08] Intrinsic assign to polymorphic variable) gcc/fortran/ChangeLog: 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/43366 PR fortran/51864 PR fortran/57117 PR fortran/61337 PR fortran/61376 * primary.c (gfc_expr_attr): For transformational functions on classes get the attrs from the class argument. * resolve.c (resolve_ordinary_assign): Remove error message due to feature implementation. Rewrite POINTER_ASSIGNS to ordinary ones when the right-hand side is scalar class object (with some restrictions). * trans-array.c (trans_array_constructor): Create the temporary from class' inner type, i.e., the derived type. (build_class_array_ref): Add support for class array's storage of the class object or the array descriptor in the decl saved descriptor. (gfc_conv_expr_descriptor): When creating temporaries for class objects add the class object's handle into the decl saved descriptor. (structure_alloc_comps): Use the common way to get the _data component. (gfc_is_reallocatable_lhs): Add notion of allocatable class objects. * trans-expr.c (gfc_find_and_cut_at_last_class_ref): Remove the only ref only when the expression's type is BT_CLASS. (gfc_trans_class_init_assign): Correctly handle class arrays. (gfc_trans_class_assign): Joined into gfc_trans_assignment_1. (gfc_conv_procedure_call): Support for class types as arguments. (trans_get_upoly_len): For unlimited polymorphics retrieve the _len component's tree. (trans_class_vptr_len_assignment): Catch all ways to assign the _vptr and _len components of a class object correctly. (pointer_assignment_is_proc_pointer): Identify assignments of procedure pointers. (gfc_trans_pointer_assignment): Enhance support for class object pointer assignments. (gfc_trans_scalar_assign): Removed assert. (trans_class_assignment): Assign to a class object. (gfc_trans_assignment_1): Treat class objects correctly. (gfc_trans_assignment): Propagate flags to trans_assignment_1. * trans-stmt.c (gfc_trans_allocate): Use gfc_trans_assignment now instead of copy_class_to_class. * trans-stmt.h: Function prototype removed. * trans.c (trans_code): Less special casing for class objects. * trans.h: Added flags to gfc_trans_assignment () prototype. gcc/testsuite/ChangeLog: 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> Forgot to add on original commit. * gfortran.dg/coarray_alloc_comp_2.f08: New test. 2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/43366 PR fortran/57117 PR fortran/61337 * gfortran.dg/alloc_comp_class_5.f03: New test. * gfortran.dg/class_allocate_21.f90: New test. * gfortran.dg/class_allocate_22.f90: New test. * gfortran.dg/realloc_on_assign_27.f08: New test. From-SVN: r241439
2016-10-22 14:33:38 +02:00
2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_alloc_comp_2.f08: New test.
2016-10-22 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/43366
PR fortran/57117
PR fortran/61337
* gfortran.dg/alloc_comp_class_5.f03: New test.
* gfortran.dg/class_allocate_21.f90: New test.
* gfortran.dg/class_allocate_22.f90: New test.
* gfortran.dg/realloc_on_assign_27.f08: New test.
2016-10-21 Jeff Law <law@redhat.com>
* PR tree-optimization/71947
* gcc.dg/tree-ssa/pr71947-4.c: Avoid x86 opcode.
* gcc.dg/tree-ssa/pr71947-5.c: Likewise.
* gcc.dg/tree-ssa/pr71947-6.c: Make it opt-in rather than opt-out.
2016-10-21 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/ipa/vrp5.c: New test.
* gcc.dg/ipa/vrp6.c: New test.
2016-10-21 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/test_frame_17.c: New test.
2016-10-21 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/test_frame_17.c: New test.
2016-10-21 Andris Pavenis <andris.pavenis@iki.fi>
PR preprocessor/71681
* gcc.dg/cpp/pr71681-1.c: New testcase
* gcc.dg/cpp/pr71681-2.c: Likewise
* gcc.dg/cpp/remap/header.gcc: File for added test-cases
* gcc.dg/cpp/remap/a/header.gcc: Likewise
* gcc.dg/cpp/remap/a/t_1.h: Likewise
* gcc.dg/cpp/remap/a/t_2.h: Likewise
2016-10-21 Jakub Jelinek <jakub@redhat.com>
PR target/78057
* gcc.target/i386/pr78057.c: New test.
* g++.dg/debug/dwarf2/constexpr-var-1.C: New test.
2016-10-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69566
* gfortran.dg/select_type_37.f03: New test.
Fix PR 71627 - unable to find a register to spill Tweak find_valid_class_1 to consider a reg class if atleast one regno in that class is ok. Previously, even if no regno was in_hard_reg_set_p, the code goes ahead and considers rclass as valid. bad was set only if a regno was in the reg class *and* HARD_REGNO_MODE_OK was false - if both were false, bad wasn't set and the reload got a wrong rclass. If that happened to be the best one, this eventually lead to find_reg running out of registers to spill, because the chosen rclass wouldn't have enough regs. Also, it expected every regno in rclass to be valid for mode i.e., if any regno fails HARD_REGNO_MODE_OK, it rejected the rclass. The comments in the original commit for find_valid_class_1 say atleast one regno is ok. This was updated to say "class which contains only registers" when in_hard_reg_set_p was introduced in place of just TEST_HARD_REG_BIT. This commit fixes both of the above problems by not breaking out of the loop on first unavailable regno. Instead, it computes the rclass size consisting of all regnos in that class valid for the current mode. If that computed size is zero, the rclass would be skipped, as it won't beat best_size. Otherwise, the computed size is used to choose the best rclass, instead of the static size from reg_class_size. gcc/ 2016-10-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> PR target/71627 * reload.c (find_valid_class_1): Allow regclass if atleast one regno in regclass is ok. Compute and use rclass size based on actually available regnos for mode in rclass. gcc/testsuite/ 2016-10-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> PR target/71627 * gcc.target/avr/pr71627.c: New test From-SVN: r241400
2016-10-21 13:48:19 +02:00
2016-10-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR target/71627
* gcc.target/avr/pr71627.c: New test
2016-10-21 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/overflow-1.c: New test.
* gcc.target/sparc/overflow-2.c: Likewise.
* gcc.target/sparc/overflow-3.c: Likewise.
2016-10-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/pure-code/pure-code.exp: Require arm_cortex_m
effective target.
2016-10-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/78038
* gcc.target/aarch64/pr78038.c: New test.
2016-10-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/78051
* g++.dg/torture/pr78051.C: New testcase.
2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/wdate-time.c: Restored test case.
* g++.dg/warn/Wconversion-real.C: Deleted empty file.
2016-10-20 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/inline-var1.C (w): Initialize to 64 + 2.
re PR target/78037 (Incorrect code generated at optimization level -O2 for tzcnt and binary and) PR target/78037 * config/i386/bmiintrin.h (__tzcnt_u16): Call __builtin_ia32_tzcnt_u16. (__tzcnt_u32, _tzcnt_u32): Call __builtin_ia32_tzcnt_u32. (__tzcnt_u64, _tzcnt_u64): Call __builtin_ia32_tzcnt_u64. * config/i386/lzcntintrin.h (__lzcnt_u16): Call __builtin_ia32_lzcnt_u16. (__lzcnt_u32, _lzcnt_u32): Call __builtin_ia32_lzcnt_u32. (__lzcnt_u64, _lzcnt_u64): Call __builtin_ia32_lzcnt_u64. * config/i386/i386.md (UNSPEC_LZCNT, UNSPEC_TZCNT): New unspecs. (ctz<mode>2, *ctz<mode>2): Use SWI48 mode iterator. (bmi_tzcnt_<mode>): New expander. (*bmi_tzcnt_<mode>_falsedep_1): New define_insn_and_split pattern. (*bmi_tzcnt_<mode>_falsedep, *bmi_tzcnt_<mode>): New insn patterns. (clz<mode>2_lzcnt, *clz<mode>2_lzcnt): Use SWI48 mode iterator. (lzcnt_<mode>): New expander. (*lzcnt_<mode>_falsedep_1): New define_insn_and_split pattern. (*lzcnt_<mode>_falsedep, *lzcnt_<mode>): New insn patterns. * config/i386/i386-builtin-types.def (UINT_FTYPE_UINT): New. (UINT64_FTYPE_UINT64): New. * config/i386/i386-builtin.def (__builtin_clzs): Remove description. (__builtin_ia32_lzcnt_u16): New description. (__builtin_ia32_lzcnt_u32): Ditto. (__builtin_ia32_lzcnt_u64): Ditto. (__builtin_ctzs): Remove description. (__builtin_ia32_tzcnt_u16): New description. (__builtin_ia32_tzcnt_u32): Ditto. (__builtin_ia32_tzcnt_u64): Ditto. * config/i386/i386.c (ix86_expand_args_builtin): Handle UINT_FTYPE_UINT and UINT64_FTYPE_UINT64. testsuite/ChangeLog: PR target/78037 * gcc.target/i386/pr78037.c: New test. From-SVN: r241381
2016-10-20 19:53:10 +02:00
2016-10-20 Uros Bizjak <ubizjak@gmail.com>
PR target/78037
* gcc.target/i386/pr78037.c: New test.
2016-10-20 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/visium/overflow8.c: New.
* gcc.target/visium/overflow16.c: Likewise.
* gcc.target/visium/overflow32: Likewise.
2016-10-20 Michael Matz <matz@suse.de>
* gcc.dg/loop-split.c: New test.
* gcc.dg/tree-ssa/ifc-9.c: Update.
* gcc.dg/tree-ssa/ifc-10.c: Update.
2016-10-20 Richard Biener <rguenther@suse.de>
* gcc.dg/graphite/pr35356-1.c: Update.
2016-10-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/77446
* g++.dg/cpp1y/pr77446.C: New.
2016-10-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR tree-optimization/53979
* gcc.dg/pr53979-1.c: New test-case.
* gcc.dg/pr53979-2.c: Likewise.
2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/Wint-in-bool-context-2.c: New test.
2016-10-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/dtio_17.f90: Fix test.
2016-10-19 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/Walloca-1.c: Adjust test for !lp64 targets.
* gcc.dg/Walloca-2.c: Same.
2016-10-19 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/Wvla-1.c: Rename to...
* gcc.dg/Wvla-larger-than-1.c: ...this.
* gcc.dg/Wvla-2.c: Rename to...
* gcc.dg/Wvla-larger-than-2.c: ...this.
* gcc.dg/Wvla-3.c: Rename to...
* gcc.dg/Walloca-11.c.: ...this.
* gcc.dg/wvla-[1-7].c: Rename to:
* gcc.dg/Wvla-[1-7].c: ...this.
2016-10-19 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/78005
* gcc.dg/vect/pr78005.c: New.
* gcc.target/i386/l_fma_float_1.c: Revise test.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
2016-10-19 Thomas Schwinge <thomas@codesourcery.com>
PR tree-optimization/78024
* gcc.dg/goacc/loop-processing-1.c: New file.
2016-10-19 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/pr61839_2.c: Fix testcase.
vec-all-ne-0.c: New test. gcc/testsuite/ChangeLog: 2016-10-18 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/vsu/vec-all-ne-0.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-1.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-10.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-11.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-12.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-13.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-14.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-2.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-3.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-4.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-5.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-6.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-7.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-8.c: New test. * gcc.target/powerpc/vsu/vec-all-ne-9.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-1.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-2.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-3.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-4.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-5.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-6.c: New test. * gcc.target/powerpc/vsu/vec-all-nez-7.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-0.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-1.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-10.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-11.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-12.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-13.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-14.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-2.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-3.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-4.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-5.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-6.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-7.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-8.c: New test. * gcc.target/powerpc/vsu/vec-any-eq-9.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-1.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-2.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-3.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-4.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-5.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-6.c: New test. * gcc.target/powerpc/vsu/vec-any-eqz-7.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-0.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-1.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-2.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-3.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-4.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-5.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-6.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-8.c: New test. * gcc.target/powerpc/vsu/vec-cmpne-9.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-1.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-2.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-3.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-4.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-5.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-6.c: New test. * gcc.target/powerpc/vsu/vec-cmpnez-7.c: New test. * gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: New test. * gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: New test. * gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: New test. * gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: New test. * gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: New test. * gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-0.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-1.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-10.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-11.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-12.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-13.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-2.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-3.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-4.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-5.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-6.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-7.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-8.c: New test. * gcc.target/powerpc/vsu/vec-xl-len-9.c: New test. * gcc.target/powerpc/vsu/vec-xlx-0.c: New test. * gcc.target/powerpc/vsu/vec-xlx-1.c: New test. * gcc.target/powerpc/vsu/vec-xlx-2.c: New test. * gcc.target/powerpc/vsu/vec-xlx-3.c: New test. * gcc.target/powerpc/vsu/vec-xlx-4.c: New test. * gcc.target/powerpc/vsu/vec-xlx-5.c: New test. * gcc.target/powerpc/vsu/vec-xlx-6.c: New test. * gcc.target/powerpc/vsu/vec-xlx-7.c: New test. * gcc.target/powerpc/vsu/vec-xrx-0.c: New test. * gcc.target/powerpc/vsu/vec-xrx-1.c: New test. * gcc.target/powerpc/vsu/vec-xrx-2.c: New test. * gcc.target/powerpc/vsu/vec-xrx-3.c: New test. * gcc.target/powerpc/vsu/vec-xrx-4.c: New test. * gcc.target/powerpc/vsu/vec-xrx-5.c: New test. * gcc.target/powerpc/vsu/vec-xrx-6.c: New test. * gcc.target/powerpc/vsu/vec-xrx-7.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-0.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-1.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-10.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-11.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-12.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-13.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-2.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-3.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-4.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-5.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-6.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-7.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-8.c: New test. * gcc.target/powerpc/vsu/vec-xst-len-9.c: New test. * gcc.target/powerpc/vsu/vsu.exp: New file. gcc/ChangeLog: 2016-10-18 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.h (vec_xl_len): New macro. (vec_xst_len): New macro. (vec_cmpnez): New macro. (vec_cntlz_lsbb): New macro. (vec_cnttz_lsbb): New macro. (vec_xlx): New macro. (vec_xrx): New macro. (vec_all_nez): New C++ predicate template. (vec_any_eqz): New C++ predicate template. (vec_all_ne): Revised C++ predicate template under _ARCH_PWR9 conditional compilation. (vec_any_eq): Revised C++ predicate template under _ARCH_PWR9 conditional compilation. (vec_all_nez): New macro. (vec_any_eqz): New macro. (vec_all_ne): Revised macro under _ARCH_PWR9 conditional compilation. (vec_any_eq): Revised macro under _ARCH_PWR9 conditional compilation. * config/rs6000/vector.md (VI): Moved this mode iterator definition from altivec.md to vector.md. (UNSPEC_NEZ_P): New value. (vector_ne_<mode>_p): New expansion for implementation of vec_all_ne and vec_any_eq built-in functions. (vector_nez_<mode>_p): New expansion for implementation of vec_all_nez and vec_any_eqz built-in functions. (vector_ne_v2di_p): New expansion for implementation of vec_all_ne and vec_any_eq built-in function. (cr6_test_for_zero): New commentary to explain this expansion. (cr6_test_for_zero_reverse): New commentary to explain this expansion. (cr6_test_for_lt): New commentary to explain this expansion. (cr6_test_for_lt_reverse): New commentary to explain this expansion. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded function prototypes for vec_all_ne, vec_all_nez, vec_any_eq, vec_any_eqz, vec_cmpnez, vec_cntlz_lsbb, vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx, and vec_xrx built-in functions. (altivec_resolve_overloaded_builtin): Modify the handling of ALTIVEC_BUILTIN_VEC_CMPNE to use the Power9 instructions when the compiler is configured to support TARGET_P9_VECTOR. * config/rs6000/rs6000-builtin.def (BU_ALTIVEC_P): Add commentary to explain the special processing that is given to predicate built-ins introduced using this macro. (BU_ALTIVEC_OVERLOAD_P): Add commentary to alert maintainers to the special processing given to predicate built-ins introduced using this macro. (BU_VSX_P): Likewise. (BU_P8V_AV_P): Likewise. (BU_P9V_AV_P): Likewise. (BU_P9V_AV_X): New macro. (BU_P9V_64BIT_AV_X): New macro. (BU_P9V_VSX_3): New macro. (BU_P9V_OVERLOAD_P): New macro. (LXVL): New BU_P9V_64BIT_VSX_2. (VEXTUBLX): New BU_P9V_AV_2. (VEXTUBRX): Likewise. (VEXTUHLX): Likewise. (VEXTUHRX): Likewise. (VEXTUWLX): Likewise. (VEXTUWRX): Likewise. (STXVL): New BU_P9V_64BIT_AV_X. (VCLZLSBB): New BU_P9V_AV_1. (VCTZLSBB): Likewise. (CMPNEB): New BU_P9V_AV_2. (CMPNEH): Likewise. (CMPNEW): Likewise. (CMPNEF): Likewise. (CMPNED): Likewise. (VCMPNEB_P): New BU_P9V_AV_P. (VCMPNEH_P): Likewise. (VCMPNEW_P): Likewise. (VCMPNED_P): Likewise. (VCMPNEFP_P): Likewise. (VCMPNEDP_P): Likewise. (CMPNEZB): New BU_P9V_AV_2. (CMPNEZH): Likewise. (CMPNEZW): Likewise. (VCMPNEZB_P): New BU_P9V_AV_P. (VCMPNEZH_P): Likewise. (VCMPNEZW_P): Likewise. (LXVL): New BU_P9V_OVERLOAD_2. (STXVL): New BU_P9V_OVERLOAD_3. (VEXTULX): New BU_P9V_OVERLOAD_2. (VEXTURX): Likewise. (CMPNEZ): Likewise. (VCMPNEZ_P): New BU_P9V_OVERLOAD_P. (VCMPNE_P): Likewise. (VCLZLSBB): New BU_P9V_OVERLOAD_1. (VCTZLSBB): Likewise. * config/rs6000/rs6000.c (altivec_expand_predicate_builtin): Add comment to explain mode used for scratch register. (altivec_expand_stxvl_builtin): New function. (altivec_expand_builtin): Add case for new constant P9V_BUILTIN_STXVL. (altivec_init_builtins): Add initialized variable void_ftype_v16qi_pvoid_long and use this type to define the built-in function __builtin_altivec_stxvl. * config/rs6000/vsx.md (UNSPEC_LXVL): New value. (UNSPEC_STXVL): New value. (UNSPEC_VCLZLSBB): New value. (UNSPEC_VCTZLSBB): New value. (UNSPEC_VEXTUBLX): New value. (UNSPEC_VEXTUHLX): New value. (UNSPEC_VEXTUWLX): New value. (UNSPEC_VEXTUBRX): New value. (UNSPEC_VEXTUHRX): New value. (UNSPEC_VEXTUWRX): New value. (UNSPEC_VCMPNEB): New value. (UNSPEC_VCMPNEZB): New value. (UNSPEC_VCMPNEH): New value. (UNSPEC_VCMPNEZH): New value. (UNSPEC_VCMPNEW): New value. (UNSPEC_VCMPNEZW): New value. (*vsx_ne_<mode>_p): New insn for vector test all not equal with vector of integer modes. (*vsx_ne_<mode>_p): New insn for vector test all not equal with vector of float or double modes. (*vector_nez_<mode>_p): New insn for vector test all not equal or zero. (lxvl): New expand for load VSX vector with length. (*lxvl): New insn for load VSX vector with length. (stxvl): New expand for store VSX vector with length. (*stxvl): New insn for store VSX vector with length. (vcmpneb): New insn for vector of byte compare not equal. (vcmpnezb): New insn for vector of byte compare not equal or zero. (vcmpneh): New insn for vector of half word compare not equal. (vcmpnezh): New insn for vector of half word compare not equal or zero. (vcmpnew): New insn for vector of word compare not equal. (vcmpne<VSs>): New insn for vector of float or double compare not equal. (vcmpnezw): New insn for vector of word compare not equal or zero. (vclzlsbb): New insn for vector count leading zero least-significant bits byte. (vctzlsbb): New insn for vector count trailing zero least signficant bits byte. (vextublx): New insn for vector extract unsigned byte left indexed. (vextubrx): New insn for vector extract unsigned byte right indexed. (vextuhlx): New insn for vector extract unsigned half word left indexed. (vextuhrx): New insn for vector extract unsigned half word right indexed. (vextuwlx): New insn for vector extract unsigned word left indexed. (vextuwrx): New insn for vector extract unsigned word right indexed. * config/rs6000/rs6000.h (RS6000_BTC_CONST): Enhance comment to clarify intent of this constant. * config/rs6000/altivec.md (VI): Move this mode iterator to vsx.md. * doc/extend.texi (PowerPC Altivec Built-in Functions): Add documentation for vec_all_nez, vec_any_eqz, vec_cmpnez, vec_cntlz_lsbb, vec_cnttz_lsbb, vec_xl_len, vec_xst_len, vec_xlx, and vec_xrx functions. From-SVN: r241314
2016-10-18 21:31:38 +02:00
2016-10-18 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/vsu/vec-all-ne-0.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-1.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-10.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-11.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-12.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-13.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-14.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-2.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-3.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-4.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-5.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-6.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-7.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-8.c: New test.
* gcc.target/powerpc/vsu/vec-all-ne-9.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-1.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-2.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-3.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-4.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-5.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-6.c: New test.
* gcc.target/powerpc/vsu/vec-all-nez-7.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-0.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-1.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-10.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-11.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-12.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-13.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-14.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-2.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-3.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-4.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-5.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-6.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-7.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-8.c: New test.
* gcc.target/powerpc/vsu/vec-any-eq-9.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-1.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-2.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-3.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-4.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-5.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-6.c: New test.
* gcc.target/powerpc/vsu/vec-any-eqz-7.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-0.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-1.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-2.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-3.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-4.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-5.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-6.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-8.c: New test.
* gcc.target/powerpc/vsu/vec-cmpne-9.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-1.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-2.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-3.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-4.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-5.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-6.c: New test.
* gcc.target/powerpc/vsu/vec-cmpnez-7.c: New test.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-0.c: New test.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-1.c: New test.
* gcc.target/powerpc/vsu/vec-cntlz-lsbb-2.c: New test.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-0.c: New test.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-1.c: New test.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-0.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-1.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-10.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-11.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-12.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-13.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-2.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-3.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-4.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-5.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-6.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-7.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-8.c: New test.
* gcc.target/powerpc/vsu/vec-xl-len-9.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-0.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-1.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-2.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-3.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-4.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-5.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-6.c: New test.
* gcc.target/powerpc/vsu/vec-xlx-7.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-0.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-1.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-2.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-3.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-4.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-5.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-6.c: New test.
* gcc.target/powerpc/vsu/vec-xrx-7.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-0.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-1.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-10.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-11.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-12.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-13.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-2.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-3.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-4.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-5.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-6.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-7.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-8.c: New test.
* gcc.target/powerpc/vsu/vec-xst-len-9.c: New test.
* gcc.target/powerpc/vsu/vsu.exp: New file.
2016-10-18 Uros Bizjak <ubizjak@gmail.com>
PR target/77991
* gcc.target/i386/pr77991.c: New test.
2016-10-18 Matthew Fortune <matthew.fortune@imgtec.com>
* lib/gcc-dg.exp: Set gcc_force_conventional_output whenever
LTO is used.
2016-10-18 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/sso/sso.exp: Return early if not effective_target_int32.
2016-10-18 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/pr20318.c: Disable EVRP.
* gcc.dg/tree-ssa/pr21001.c: Likewise.
* gcc.dg/tree-ssa/pr21090.c: Likewise.
* gcc.dg/tree-ssa/pr21294.c: Likewise.
* gcc.dg/tree-ssa/pr21563.c: Likewise.
* gcc.dg/tree-ssa/pr23744.c: Likewise.
* gcc.dg/tree-ssa/pr25382.c: Likewise.
* gcc.dg/tree-ssa/pr68431.c: Likewise.
* gcc.dg/tree-ssa/vrp03.c: Likewise.
* gcc.dg/tree-ssa/vrp06.c: Likewise.
* gcc.dg/tree-ssa/vrp07.c: Likewise.
* gcc.dg/tree-ssa/vrp09.c: Likewise.
* gcc.dg/tree-ssa/vrp19.c: Likewise.
* gcc.dg/tree-ssa/vrp20.c: Likewise.
* gcc.dg/tree-ssa/vrp92.c: Likewise.
* gcc.dg/pr68217.c: Likewise.
* gcc.dg/predict-9.c: Likewise.
* gcc.dg/tree-prof/val-prof-5.c: Adjust.
* gcc.dg/predict-1.c: Likewise.
2016-10-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/dtio_17.f90: New test.
2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/ipa/vrp4.c: Adjust testcase.
2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/ipa/vrp4.c: New test.
2016-10-18 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/torture/pr39074-2.c: Adjust testcase.
* gcc.dg/torture/pr39074.c: Likewise.
2016-10-17 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/Wtrampolines.c: XFAIL warning on ia64-*-* and powerpc64-*-*.
* gnat.dg/trampoline4.adb: Minor tweak.
2016-10-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77916
* gcc.dg/torture/pr77916.c: New.
2016-10-17 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77978
* gfortran.dg/pr77978_1.f90: New test.
* gfortran.dg/pr77978_2.f90: Ditto.
* gfortran.dg/pr77978_3.f90: Ditto.
2016-10-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/61420
PR fortran/78013
* gfortran.dg/proc_ptr_49.f90: New test.
2016-09-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR target/77308
* gcc.target/arm/pr77308.c: New test.
2016-10-17 David Edelsohn <dje.gcc@gmail.com>
* lib/target-supports.exp
(check_effective_target_floatn_nx_runtime): Return 0 for
powerpc*-ibm-aix*.
2016-10-17 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/aapcs64/test_align-7.c: Use long
long instead of long.
* gcc.target/aarch64/cinc_common_1.c: Likewise.
* gcc.target/aarch64/combine_bfi_1.c: Likewise.
* gcc.target/aarch64/fmul_fcvt_1.c: Likewise.
* gcc.target/aarch64/mult-synth_4.c: Likewise.
* gcc.target/aarch64/pr68102_1.c: Likewise.
* gcc.target/aarch64/target_attr_3.c: Likewise.
2016-10-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/77988
* gcc.dg/torture/pr77988.c: New testcase.
2016-10-17 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/pr71636-1.c: New test-case.
* gcc.dg/pr71636-2.c: Likewise.
re PR ada/37139 (DEP prevents using Ada tasking) PR ada/37139 PR ada/67205 * common.opt (-ftrampolines): New option. * doc/invoke.texi (Code Gen Options): Document it. * doc/tm.texi.in (Trampolines): Add TARGET_CUSTOM_FUNCTION_DESCRIPTORS. * doc/tm.texi: Regenerate. * builtins.def: Add init_descriptor and adjust_descriptor. * builtins.c (expand_builtin_init_trampoline): Do not issue a warning on platforms with descriptors. (expand_builtin_init_descriptor): New function. (expand_builtin_adjust_descriptor): Likewise. (expand_builtin) <BUILT_IN_INIT_DESCRIPTOR>: New case. <BUILT_IN_ADJUST_DESCRIPTOR>: Likewise. * calls.c (prepare_call_address): Remove SIBCALLP parameter and add FLAGS parameter. Deal with indirect calls by descriptor and adjust. Set STATIC_CHAIN_REG_P on the static chain register, if any. (call_expr_flags): Set ECF_BY_DESCRIPTOR for calls by descriptor. (expand_call): Likewise. Move around call to prepare_call_address and pass all flags to it. * cfgexpand.c (expand_call_stmt): Reinstate CALL_EXPR_BY_DESCRIPTOR. * gimple.h (enum gf_mask): New GF_CALL_BY_DESCRIPTOR value. (gimple_call_set_by_descriptor): New setter. (gimple_call_by_descriptor_p): New getter. * gimple.c (gimple_build_call_from_tree): SetCALL_EXPR_BY_DESCRIPTOR. (gimple_call_flags): Deal with GF_CALL_BY_DESCRIPTOR. * langhooks.h (struct lang_hooks): Add custom_function_descriptors. * langhooks-def.h (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS): Define. (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS. * rtl.h (STATIC_CHAIN_REG_P): New macro. * rtlanal.c (find_first_parameter_load): Skip static chain registers. * target.def (custom_function_descriptors): New POD hook. * tree.h (FUNC_ADDR_BY_DESCRIPTOR): New flag on ADDR_EXPR. (CALL_EXPR_BY_DESCRIPTOR): New flag on CALL_EXPR. * tree-core.h (ECF_BY_DESCRIPTOR): New mask. Document FUNC_ADDR_BY_DESCRIPTOR and CALL_EXPR_BY_DESCRIPTOR. * tree.c (make_node_stat) <tcc_declaration>: Use FUNCTION_ALIGNMENT. (build_common_builtin_nodes): Initialize init_descriptor and adjust_descriptor. * tree-nested.c: Include target.h. (struct nesting_info): Add 'any_descr_created' field. (get_descriptor_type): New function. (lookup_element_for_decl): New function extracted from... (create_field_for_decl): Likewise. (lookup_tramp_for_decl): ...here. Adjust. (lookup_descr_for_decl): New function. (convert_tramp_reference_op): Deal with descriptors. (build_init_call_stmt): New function extracted from... (finalize_nesting_tree_1): ...here. Adjust and deal withdescriptors. * defaults.h (FUNCTION_ALIGNMENT): Define. (TRAMPOLINE_ALIGNMENT): Set to above instead of FUNCTION_BOUNDARY. * config/i386/i386.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define. * config/ia64/ia64.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise. * config/rs6000/rs6000.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS):Likewise. * config/sparc/sparc.h (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Likewise. ada/ * gcc-interface/misc.c (LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS):Define. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Access>: Deal with a zero TARGET_CUSTOM_FUNCTION_DESCRIPTORS specially for Code_Address. Otherwise, if TARGET_CUSTOM_FUNCTION_DESCRIPTORS is positive, set FUNC_ADDR_BY_DESCRIPTOR for 'Access/'Unrestricted_Access of nested subprograms if the type can use an internal representation. (call_to_gnu): Likewise, but set CALL_EXPR_BY_DESCRIPTOR on indirect calls if the type can use an internal representation. From-SVN: r241222
2016-10-16 22:13:32 +02:00
2016-10-16 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/trampoline3.adb: New test.
* gnat.dg/trampoline4.adb: Likewise.
2016-10-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/dtio_16.f90: New test.
2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/bmaskbshuf.c: Rename to...
* gcc.target/sparc/bmaskbshuf-1.c: ...this.
* gcc.target/sparc/bmaskbshuf-2.c: New test.
2016-10-15 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/popc.c: Rename to...
* gcc.target/sparc/popc-1.c: ...this.
* gcc.target/sparc/popc-2.c: New test.
2016-10-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/77972
* gfortran.dg/unexpected_eof_4.f90: New test.
PR 48587 Newunit allocator Currently GFortran newer reuses unit numbers allocated with NEWUNIT=, instead having a simple counter that is decremented each time such a unit is opened. For a long running program which repeatedly opens files with NEWUNIT= and closes them, the counter can wrap around and cause an abort. This patch replaces the counter with an allocator that keeps track of which units numbers are allocated, and can reuse them once they have been deallocated. Since operating systems tend to limit the number of simultaneous open files for a process to a relatively modest number, a relatively simple approach with a linear scan through an array suffices. Though as a small optimization there is a low water indicator keeping track of the index for which all unit numbers below are already allocated. This linear scan also ensures that we always allocate the smallest available unit number. 2016-10-15 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/48587 * io/io.h (get_unique_unit_number): Remove prototype. (newunit_alloc): New prototype. * io/open.c (st_open): Call newunit_alloc. * io/unit.c (newunits,newunit_size,newunit_lwi): New static variables. (GFC_FIRST_NEWUNIT): Rename to NEWUNIT_START. (next_available_newunit): Remove variable. (get_unit): Call newunit_alloc, don't try to create negative external unit. (close_unit_1): Call newunit_free. (close_units): Free newunits array. (get_unique_number): Remove function. (newunit_alloc): New function. (newunit_free): New function. * io/transfer.c (data_transfer_init): Check for invalid unit number. testsuite ChangeLog: 2016-10-15 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/48587 * gfortran.dg/negative_unit2.f90: New testcase. From-SVN: r241199
2016-10-15 15:14:15 +02:00
2016-10-15 Janne Blomqvist <jb@gcc.gnu.org>
2016-10-17 18:53:13 +02:00
PR libfortran/48587
* gfortran.dg/negative_unit2.f90: New test.
PR 48587 Newunit allocator Currently GFortran newer reuses unit numbers allocated with NEWUNIT=, instead having a simple counter that is decremented each time such a unit is opened. For a long running program which repeatedly opens files with NEWUNIT= and closes them, the counter can wrap around and cause an abort. This patch replaces the counter with an allocator that keeps track of which units numbers are allocated, and can reuse them once they have been deallocated. Since operating systems tend to limit the number of simultaneous open files for a process to a relatively modest number, a relatively simple approach with a linear scan through an array suffices. Though as a small optimization there is a low water indicator keeping track of the index for which all unit numbers below are already allocated. This linear scan also ensures that we always allocate the smallest available unit number. 2016-10-15 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/48587 * io/io.h (get_unique_unit_number): Remove prototype. (newunit_alloc): New prototype. * io/open.c (st_open): Call newunit_alloc. * io/unit.c (newunits,newunit_size,newunit_lwi): New static variables. (GFC_FIRST_NEWUNIT): Rename to NEWUNIT_START. (next_available_newunit): Remove variable. (get_unit): Call newunit_alloc, don't try to create negative external unit. (close_unit_1): Call newunit_free. (close_units): Free newunits array. (get_unique_number): Remove function. (newunit_alloc): New function. (newunit_free): New function. * io/transfer.c (data_transfer_init): Check for invalid unit number. testsuite ChangeLog: 2016-10-15 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/48587 * gfortran.dg/negative_unit2.f90: New testcase. From-SVN: r241199
2016-10-15 15:14:15 +02:00
2016-10-14 Jakub Jelinek <jakub@redhat.com>
PR middle-end/77959
* gfortran.dg/pr77959.f90: New test.
DR 1511 - const volatile variables and ODR
* g++.dg/DRs/dr1511-1.C: New test.
* g++.dg/DRs/dr1511-2.C: New test.
2016-10-14 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/debug7.adb (dg-options): Remove -g.
* gnat.dg/debug8.adb (dg-options): Add -margs.
* gnat.dg/debug9.adb (dg-options): Remove -g and add -margs.
2016-10-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/77979
* gcc.dg/torture/pr77979.c: New testcase.
2016-10-14 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/builtins-folding-generic.c: New test.
* gcc.dg/tree-ssa/builtins-folding-gimple.c: Likewise.
* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Likewise.
2016-10-14 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/pr77937-1.c: Move -O3 to dg-options.
Pass -march=amdfam10 for both i?86-?-* and x86_64-*-*.
* gcc.dg/torture/pr77937-2.c: Likewise.
2016-10-14 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/lto15.adb: Adjust.
* gnat.dg/lto16.adb: Likewise.
* gnat.dg/lto17.adb: Likewise
* gnat.dg/lto18.ad[sb]: New test.
* gnat.dg/lto18_pkg.ads: New helper.
* gnat.dg/lto19.adb: New test.
* gnat.dg/lto19_pkg1.ad[sb]: New helper.
* gnat.dg/lto19_pkg2.ad[sb]: Likewise.
* gnat.dg/lto20.adb: New test.
* gnat.dg/lto20_pkg.ad[sb]: New helper.
2016-10-14 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_38.f90: Expect error message.
2016-10-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/spellcheck_1.c: New test.
* gcc.target/aarch64/spellcheck_2.c: Likewise.
* gcc.target/aarch64/spellcheck_3.c: Likewise.
* gcc.target/aarch64/spellcheck_4.c: Likewise.
* gcc.target/aarch64/spellcheck_5.c: Likewise.
* gcc.target/aarch64/spellcheck_6.c: Likewise.
2016-10-13 Andreas Schwab <schwab@linux-m68k.org>
* gcc.target/m68k/stack-limit-1.c: Expect warning on line 0.
2016-10-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/77937
* gcc.dg/torture/pr77937-1.c: New.
* gcc.dg/torture/pr77937-2.c: New.
Implement P0386R2 - C++17 inline variables 2016-10-11 Jakub Jelinek <jakub@redhat.com> * dwarf2out.c (gen_member_die): Handle inline static data member definitions. c-family/ * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables. cp/ * cp-tree.h (struct lang_type): Shrink language field to 1 bit from 4. Add var_declared_inline_p field. Mention 2 spare bits. (DECL_VAR_DECLARED_INLINE_P): Define. (SET_DECL_VAR_DECLARED_INLINE_P): Define. (DECL_INLINE_VAR_P): Define. (diagnose_inline_vars_for_namespace): Declare. * decl.c (diagnose_inline_vars_for_namespace): New function. (duplicate_decls): For static data members copy DECL_DECLARED_CONSTEXPR_P. (redeclaration_error_message): Handle C++17 redundant redeclaration of constexpr static data member outside of class. (maybe_commonize_var): Handle inline variables. (check_initializer): Ignore inline variables for diagnostics. Adjust diagnostic wording for C++17. (make_rtl_for_nonlocal_decl): Allow in-class definition of inline static data members. (bad_specifiers): Don't diagnose inline on variables here. (grokvardecl): Add inlinep argument, non-static const inline variables are TREE_PUBLIC. (check_static_variable_definition): Return early also for inline variables. (grokdeclarator): Handle inline variables and inline static data members. * typeck2.c (store_init_value): Don't diagnose non-constant initializers for non-constexpr inline static data members. * decl2.c (vague_linkage_p): Return true for inline variables. (c_parse_final_cleanups): In-class declaration of inline static data members is a definition. Call diagnose_inline_vars_for_namespace through walk_namespaces. * pt.c (instantiate_decl): Set pattern_defined for in-class definitions of inline static data members. From-SVN: r241137
2016-10-13 21:26:54 +02:00
2016-10-13 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/inline-var1.C: New test.
* g++.dg/cpp1z/inline-var1a.C: New test.
* g++.dg/cpp1z/inline-var1.h: New file.
* g++.dg/cpp1z/inline-var2.C: New test.
* g++.dg/cpp1z/inline-var3.C: New test.
* g++.dg/concepts/decl-diagnose.C (struct X): Expect also error about
uninitialized const.
2016-10-13 Sandra Loosemore <sandra@codesourcery.com>
* gcc.target/arm/scd42-1.c: Skip if -mcpu incompatible with
Xscale is specified, not just -march.
* gcc.target/arm/scd42-2.c: Fix existing logic to skip if -mcpu
is incompatible with Xscale.
2016-10-13 Martin Sebor <msebor@redhat.com>
PR c++/71912
* g++.dg/ext/flexary4.C: Adjust.
* g++.dg/ext/flexary5.C: Same.
* g++.dg/ext/flexary9.C: Same.
* g++.dg/ext/flexary19.C: New test.
* g++.dg/ext/flexary18.C: New test.
* g++.dg/torture/pr64312.C: Add a dg-error directive to an ill-formed
regression test.
* g++.dg/compat/struct-layout-1_generate.c (subfield): Add argument.
Avoid generating a flexible array member in an array.
2016-10-13 Martin Sebor <msebor@redhat.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Cast 0 to wint_t
to placate -Wformat on targets where the type is not int.
2016-10-13 David Malcolm <dmalcolm@redhat.com>
* gcc.target/i386/vararg-loc.c: Update for quoting of xloc.file
in INSN_LOCATION.
2016-10-13 Bin Cheng <bin.cheng@arm.com>
* gcc.target/i386/l_fma_float_1.c: Revise test.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
2016-10-13 Bin Cheng <bin.cheng@arm.com>
* gfortran.dg/vect/fast-math-mgrid-resid.f: New test string.
2016-10-13 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/vect-98.c: Refine test case.
* gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Increase niters.
* gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
* gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
2016-10-13 Jakub Jelinek <jakub@redhat.com>
PR c/77946
* c-c++-common/Wimplicit-fallthrough-34.c: New test.
2016-10-13 Martin Liska <mliska@suse.cz>
PR tree-optimization/77943
* g++.dg/tree-ssa/pr77943.C: New test.
2016-10-13 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/72832
* gfortran.dg/allocate_with_source_22.f03: New test.
* gfortran.dg/allocate_with_source_23.f03: New test. Expected to
fail.
2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/movhi_movw.c: Enable test for ARM mode.
* gcc.target/arm/movsi_movw.c: Likewise.
* gcc.target/arm/movdi_movw.c: Likewise and adapt scan-assembler
directive to work on big endian targets.
2016-10-12 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/tree-ssa/evrp6.c: New test.
2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
* gcc.target/powerpc/shrink-wrap-separate-0.c: New testcase.
* gcc.target/powerpc/shrink-wrap-separate-1.c: New testcase.
* gcc.target/powerpc/shrink-wrap-separate-2.c: New testcase.
2016-10-12 Segher Boessenkool <segher@kernel.crashing.org>
* gcc.target/powerpc/warn-1.c: Change line number in dg-warning.
* gcc.target/powerpc/warn-2.c: Ditto.
[MIPS] Add MSA tests gcc/testsuite/ChangeLog: * gcc.dg/vect/slp-26.c: Check if vectorized for MIPS MSA. * gcc.dg/vect/tree-vect.h (check_vect): Check for MIPS SIMD support. * gcc.target/mips/mips.exp: Add support for -mmsa. Imply -mno-mips16 for -mmsa. * gcc.target/mips/msa.c: New test. * gcc.target/mips/msa-builtins.c: Likewise. * lib/target-supports.exp (check_mips_msa_hw_available): New. (check_effective_target_mips_msa_runtime): Likewise. (check_effective_target_mips_msa): Likewise. (add_options_for_mips_msa): Likewise. (check_effective_target_vect_int): Return TRUE for MIPS MSA. (check_effective_target_vect_intfloat_cvt): Likewise. (check_effective_target_vect_uintfloat_cvt): Likewise. (check_effective_target_vect_floatint_cvt): Likewise. (check_effective_target_vect_floatuint_cvt): Likewise. (check_effective_target_vect_shift): ewise. (check_effective_target_vect_shift_char): Likewise. (check_effective_target_vect_long): Likewise. (check_effective_target_vect_float): Likewise. (check_effective_target_vect_double): Likewise. (check_effective_target_vect_long_long): Likewise. (check_effective_target_vect_perm): Likewise. (check_effective_target_vect_perm_byte): Likewise. (check_effective_target_vect_perm_short): Likewise. (check_effective_target_vect_sdot_qi): Likewise. (check_effective_target_vect_udot_qi): Likewise. (check_effective_target_vect_sdot_hi): Likewise. (check_effective_target_vect_udot_hi): Likewise. (check_effective_target_vect_pack_trunc): Likewise. (check_effective_target_vect_unpack): Likewise. (check_effective_target_vect_hw_misalign): Likewise. (check_effective_target_vect_condition): Likewise. (check_effective_target_vect_cond_mixed): Likewise. (check_effective_target_vect_char_mult): Likewise. (check_effective_target_vect_short_mult): Likewise. (check_effective_target_vect_int_mult): Likewise. (check_effective_target_vect_extract_even_odd): Likewise. (check_effective_target_vect_interleave): Likewise. (check_vect_support_and_set_flags): Check if the target supports MSA and append to the list of EFFECTIVE_TARGETS. From-SVN: r241054
2016-10-12 16:52:41 +02:00
2016-10-12 Robert Suchanek <robert.suchanek@imgtec.com>
* gcc.dg/vect/slp-26.c: Check if vectorized for MIPS MSA.
* gcc.dg/vect/tree-vect.h (check_vect): Check for MIPS SIMD support.
* gcc.target/mips/mips.exp: Add support for -mmsa. Imply -mno-mips16
for -mmsa.
* gcc.target/mips/msa.c: New test.
* gcc.target/mips/msa-builtins.c: Likewise.
* lib/target-supports.exp (check_mips_msa_hw_available): New.
(check_effective_target_mips_msa_runtime): Likewise.
(check_effective_target_mips_msa): Likewise.
(add_options_for_mips_msa): Likewise.
(check_effective_target_vect_int): Return TRUE for MIPS MSA.
(check_effective_target_vect_intfloat_cvt): Likewise.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_shift): Likewise.
(check_effective_target_vect_shift_char): Likewise.
(check_effective_target_vect_long): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_long_long): Likewise.
(check_effective_target_vect_perm): Likewise.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_sdot_qi): Likewise.
(check_effective_target_vect_udot_qi): Likewise.
(check_effective_target_vect_sdot_hi): Likewise.
(check_effective_target_vect_udot_hi): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_condition): Likewise.
(check_effective_target_vect_cond_mixed): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
(check_vect_support_and_set_flags): Check if the target supports MSA
and append to the list of EFFECTIVE_TARGETS.
2016-10-12 Richard Biener <rguenther@suse.de>
PR debug/77947
* g++.dg/torture/pr77947.C: New testcase.
2016-10-12 Pierre-Marie de Rodat <derodat@adacore.com>
* gnat.dg/debug8.adb: New testcase.
2016-10-12 Pierre-Marie de Rodat <derodat@adacore.com>
* gnat.dg/debug9.adb: New testcase.
2016-10-12 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/vrp35.c: Adjust.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
2016-10-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/77920
* gcc.dg/torture/pr77920.c: New testcase.
2016-10-12 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/77929
* gcc.c-torture/compile/pr77929.c: New test.
* c-c++-common/Wimplicit-fallthrough-25.c: New test.
* c-c++-common/Wimplicit-fallthrough-26.c: New test.
* c-c++-common/Wimplicit-fallthrough-27.c: New test.
* c-c++-common/Wimplicit-fallthrough-28.c: New test.
* c-c++-common/Wimplicit-fallthrough-29.c: New test.
* c-c++-common/Wimplicit-fallthrough-30.c: New test.
* c-c++-common/Wimplicit-fallthrough-31.c: New test.
* c-c++-common/Wimplicit-fallthrough-32.c: New test.
* c-c++-common/Wimplicit-fallthrough-33.c: New test.
2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/setcc-4.c: Adjust.
* gcc.target/sparc/setcc-5.c: Likewise.
* gcc.target/sparc/setcc-6.c: Likewise.
* gcc.target/sparc/setcc-7.c: Likewise.
* gcc.target/sparc/setcc-8.c: Likewise.
* gcc.target/sparc/setcc-9.c: Likewise.
* gcc.target/sparc/setcc-10.c: Delete.
2016-10-11 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77942
* gfortran.dg/pr77942.f90
2016-10-11 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_math.f90: New testsuite.
2016-10-11 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/pr59597.c: Typedef __INT32_TYPE__ to i32.
(main): Declare j as i32 instead of int.
2016-10-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR testsuite/PR77710
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: Use *-*-* as catch-all
target triplet instead of *-*-*-*.
2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/unchecked_convert10.adb: New test.
* gnat.dg/unchecked_convert11.adb: Likewise.
* gnat.dg/unchecked_convert12.adb: Likewise.
sparc.opt (msubxc): New option. * config/sparc/sparc.opt (msubxc): New option. * doc/invoke.texi (SPARC options): Document it and tidy up. * doc/tm.texi.in (Condition Codes): Adjust SPARC example. * doc/tm.texi: Regenerate. * config/sparc/sparc-modes.def (CC_NOOV): Rename into... (CCNZ): ...this. (CCX_NOOV): Rename into... (CCXNZ): ...this. (CCC): New. (CCXC): Likewise. * config/sparc/predicates.m (fcc_register_operand): Simplify. (fcc0_register_operand): Likewise. (icc_register_operand): New. (icc_or_fcc_register_operand): Simplify. (nz_comparison_operator): New. (c_comparison_operator): Likewise. (noov_compare_operator): Rename into... (icc_comparison_operator): ...this. Use above predicates. (noov_compare64_operator): Rename into... (v9_comparison_operator): ...this and tidy up. (fcc_comparison_operator): New. (icc_or_fcc_comparison_operator): Likewise. (v9_register_compare_operator): Rename info... (v9_register_comparison_operator): ...this. * config/sparc/sparc.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. (sparc_option_override): Remove redundant VIS masks and add MASK_SUBXC for Niagara-7. (sparc_fixed_condition_code_regs): New function. (select_cc_mode): Remove ATTRIBUTE_UNUSED. Adjust for CCNZ/CCXNZ renaming and add support for CCC/CCXC. (output_cbranch): Likewise. (sparc_print_operand): Likewise. (gen_v9_scc): Remove obsolete assertion. (emit_scc_insn): Emit RTL directly for EQ and NE. Add direct support for EQ in DImode if TARGET_SUBXC. Remove test on TARGET_VIS3 for GEU. (output_cbcond): Remove bogus handling of CC modes. (sparc_register_move_cost): Return 100 for NO_REGS. * config/sparc/sparc.md (W): New mode iterator. (length): Adjust for noov_compare64_operator renaming. (cmpsi_sne): New instruction. (cmpdi_sne): Likewise. (seqdi_special): Delete. (seqdi_special): Likewise. (snesi<P:mode>_special): Likewise. (snedi_special): Likewise. (snedi_special_vis3): Likewise. (snesi patterns): Use W iterator. (snedi patterns): Likewise. Add TARGET_SUBXC patterns. (sltu patterns): Likewise. (sgeu patterns): Likewise. (scc splitter): Do not split GEU in DImode if TARGET_SUBXC. (normal_branch): Use icc_comparison_operator predicate. (inverted_branch): Likewise. (cbcond_sp32): Use comparison_operator predicate. (cbcond_sp64): Likewise. (normal_int_branch_sp64): Adjust for renaming (inverted_int_branch_sp64): Likewise. (mov<I:mode>_cc_reg_sp64): Likewise. (movsf_cc_reg_sp6): Likewise. (movdf_cc_reg_sp64): Likewise. (movtf_cc_reg_hq_sp64): Likewise. (movtf_cc_reg_sp64): Likewise. (mov<I:mode>_cc_v9): Use icc_or_fcc_comparison_operator predicate. (movsf_cc_v9): Likewise. (movdf_cc_v9): Likewise. (movtf_cc_hq_v9): Likewise. (movtf_cc_v9): Likewise. (adddi3): Call gen_adddi3_sp32. (adddi3_insn_sp32): Rename to... (adddi3_sp32): ...this. Accept only register_operand as operand #1 and use CCCmode for the carry. (addx_extend_sp32): Use CCCmode for the carry. (addx_extend_sp64): Delete. (adddi3_extend_sp32): Use CCCmode for the carry. (cmp_plus patterns): Use CCNZ/CCXNZ mode and add C variants. (subdi3): Call gen_subdi3_sp32. (subdi3_insn_sp32): Rename to... (subdi3_sp32): ...this and use CCmode for the carry. (subx_extend_sp32): Use CCCmode for the carry. (subx_extend_sp64): Delete. (subdi3_extend_sp32): Use CCmode for the carry. (cmp_minus patterns): Use CCNZ/CCXNZ mode and add C variants. (negdi3): Call gen_negdi3_sp32. (negdi3_sp32): Use CCCmode for the carry. (cmp_neg patterns): Use CCNZ/CCXNZ mode and add C variants. (cmp_nz_ashift_1): Use CCNZ mode. (cmp_nz_set_ashift_1): Likewise. (ctrapsi4): Use comparison_operator predicate. (ctrapdi4): Likewise. (trapsi_insn): Use icc_comparison_operator predicate. (trapdi_insn): Likewise. (edge8 patterns): Use CCNZmode. (edge16 patterns): Likewise. (edge32 patterns): Likewise. From-SVN: r240971
2016-10-11 10:54:56 +02:00
2016-10-11 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/cbcond-1.c: New test.
* gcc.target/sparc/cbcond-2.c: Likewise.
* gcc.target/sparc/movcc-1.c: Likewise.
* gcc.target/sparc/movcc-2.c: Likewise.
* gcc.target/sparc/setcc-1.c: Adjust.
* gcc.target/sparc/setcc-2.c: Likewise.
* gcc.target/sparc/setcc-3.c: Likewise.
* gcc.target/sparc/setcc-4.c: Likewise.
* gcc.target/sparc/setcc-5.c: Likewise.
* gcc.target/sparc/setcc-6.c: New test.
* gcc.target/sparc/setcc-7.c: Likewise.
* gcc.target/sparc/setcc-8.c: Likewise.
* gcc.target/sparc/setcc-9.c: Likewise.
* gcc.target/sparc/setcc-10.c: Likewise.
2016-10-10 Jeff Law <law@redhat.com>
PR tree-optimization/71947
* gcc.dg/tree-ssa/pr71947-1.c: New test.
* gcc.dg/tree-ssa/pr71947-2.c: New test.
* gcc.dg/tree-ssa/pr71947-3.c: New test.
* gcc.dg/tree-ssa/pr71947-4.c: New test.
* gcc.dg/tree-ssa/pr71947-5.c: New test.
* gcc.dg/tree-ssa/pr71947-6.c: New test.
2016-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/77915
* gfortran.dg/matmul_11.f90: New test.
[4/4] ARMv8.2-A testsuite for new scalar intrinsics gcc/testsuite/ * gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: Support FMT64. * gcc.target/aarch64/advsimd-intrinsics/vabdh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcageh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcagth_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcaleh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcalth_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vceqh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vceqzh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgeh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgezh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgth_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcgtzh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcleh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vclezh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vclth_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcltzh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_s64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_u64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s64_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u64_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s64_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u64_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_s64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_u64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_s16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_s64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_u16_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_u64_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfmash_lane_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmaxh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vminh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmulh_lane_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmulxh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmulxh_lane_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrecpeh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrecpsh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrecpxh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrsqrteh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrsqrtsh_f16_1.c: New. From-SVN: r240924
2016-10-10 15:50:10 +02:00
2016-10-10 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: Support FMT64.
* gcc.target/aarch64/advsimd-intrinsics/vabdh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcageh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcagth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcaleh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcalth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vceqh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vceqzh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgeh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgezh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcgtzh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcleh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vclezh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vclth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcltzh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u64_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u16_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u64_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmash_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulh_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulxh_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrecpeh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrecpsh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrecpxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrsqrteh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrsqrtsh_f16_1.c: New.
2016-10-10 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/vdiv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmas_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmas_n_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxnmv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminnmv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminv_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmul_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_lane_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulx_n_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vpminmaxnm_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndi_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vsqrt_f16_1.c: New.
2016-10-10 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (FP16_SUPPORTED):
Enable AArch64.
* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Add support for
vdup*_laneq.
* gcc.target/aarch64/advsimd-intrinsics/vduph_lane.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vtrn_half.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vuzp_half.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vzip_half.c: New.
2016-10-10 Matthew Wahab <matthew.wahab@arm.com>
Jiong Wang <jiong.wang@arm.com>
* target-supports.exp (add_options_for_arm_v8_2a_fp16_scalar): Mention
AArch64 support.
(add_options_for_arm_v8_2a_fp16_neon): Likewise.
(check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): Support
AArch64 targets.
(check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): Support
AArch64 targets.
(check_effective_target_arm_v8_2a_fp16_scalar_hw): Support AArch64
targets.
(check_effective_target_arm_v8_2a_fp16_neon_hw): Likewise.
2016-10-10 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/vfa.ads: New test.
2016-10-10 Eric Botgazou <ebotcazou@adacore.com>
* gnat.dg/inline13.ad[sb]: New test.
* gnat.dg/inline13_pkg.ad[sb]: New helper.
2016-10-10 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/biased_subtype.adb: New test.
2016-10-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/77901
* gcc.c-torture/compile/pr77901.c: New test.
ipa-cp.c (ipcp_alignment_lattice): Remove. 2016-10-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * ipa-cp.c (ipcp_alignment_lattice): Remove. (ipcp_param_lattices): Remove field alignment. (print_all_lattices): Remove call to ipcp_alignment_lattice::print. (set_all_contains_variable): Remove call to ipcp_alignment_lattice::set_to_bottom. (initialize_node_lattices): Likewise. (propagate_alignment_accross_jump_function): Remove. (propagate_constants_accross_call): Remove call to propagate_alignment_accross_jump_function. (ipcp_store_alignment_results): Remove. (ipcp_driver): Remove call to ipcp_store_alignment_results. (propagate_bits_accross_jump_function): Handle ancestor jump function. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Remove pretty-printing of alignment jump function. (ipa_set_jf_unknown): Remove assignment to jfunc->alignment.known. (ipa_compute_jump_functions_for_edge): Adjust ipa_bits jump function for alignments and remove computing ipa_alignment jump function. (ipa_node_params_t::duplicate): Remove copying of src_trans->alignments. (ipa_write_jump_functions): Remove streaming for ipa_alignment. (ipa_read_jump_function): Remove reading of ipa_alignment. (write_ipcp_transformation_info): Remove streaming for alignment propagation summary. (read_ipcp_transformation_info): Remove reading of alignment propagation summary. (ipcp_update_alignments): Remove. (ipcp_update_bits): Adjust to set alignment for parameters of pointer type. (ipcp_transform_function): Remove call to ipcp_update_alignments() and remove assignment to (*ipcp_transformations)[node->uid].alignments. * ipa-prop.h (ipa_alignment): Remove. (ipa_jump_func): Remove field alignment. (ipcp_transformation_summary): Remove field alignments. * doc/invoke.texi: Mark fipa-cp-alignment as obsolete. * opts.c (default_options_table): Remove entry for fipa-cp-alignment. (enable_fdo_optimizations): Remove checking for fipa-cp-alignment. testsuite/ * gcc.dg/ipa/propalign-1.c: Adjust scan-ipa-dump. * gcc.dg/ipa/propalign-2.c: Likewise * gcc.dg/ipa/propalign-3.c: Likewise. * gcc.dg/ipa/propalign-4.c: Likewise. * gcc.dg/ipa/propalign-5.c: Likewise. From-SVN: r240898
2016-10-09 06:48:50 +02:00
2016-10-09 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/ipa/propalign-1.c: Adjust scan-ipa-dump.
* gcc.dg/ipa/propalign-2.c: Likewise
* gcc.dg/ipa/propalign-3.c: Likewise.
* gcc.dg/ipa/propalign-4.c: Likewise.
* gcc.dg/ipa/propalign-5.c: Likewise.
2016-10-08 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.
* c-c++-common/Wimplicit-fallthrough-23.c (foo): Add further tests.
* c-c++-common/Wimplicit-fallthrough-23.c: New test.
* c-c++-common/Wimplicit-fallthrough-24.c: New test.
2016-10-07 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_union_11.f90: New testcase.
2016-10-07 Nathan Sidwell <nathan@acm.org>
PR c++/66443
* g++.dg/cpp0x/pr66443-cxx11.C: New.
* g++.dg/cpp0x/pr66443-cxx11-2.C: New.
* g++.dg/cpp1y/pr66443-cxx14.C: New
* g++.dg/cpp1y/pr66443-cxx14-2.C: New.
* g++.dg/cpp1y/pr66443-cxx14-3.C: New.
2016-10-07 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp0x/addressof1.C: New test.
* g++.dg/cpp0x/addressof2.C: New test.
rs6000-c.c (rs6000_cpu_cpp_builtins): Split -mfloat128 into -mfloat128-type that enables the IEEE 128-bit floating... [gcc] 2016-10-06 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Split -mfloat128 into -mfloat128-type that enables the IEEE 128-bit floating point type infrastructre, and -mfloat128 that enables the keyword. Define __FLOAT128__ if -mfloat128, and __FLOAT128_TYPE__ if -mfloat128-type. Define __ibm128 to be long double by default. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print whether the IEEE 128-bit floating point type infrastructure should automatically be enabled. (rs6000_init_hard_regno_mode_ok): Switch to use -mfloat128-type instead of -mfloat128 to enable KFmode. (rs6000_option_override_internal): Split the option -mfloat128 into -mfloat128-type and -mfloat128. On Linux PowerPC 64-bit systems, automatically set -mfloat128-type, but don't enable it on other operating systems. Move setting the long double size and IEEE quad support before the IEEE 128-bit floating point changes. (rs6000_init_builtins): Do not create a unique type for __ibm128 if long double is IBM extended double, instead rely on __ibm128 being defined as 'long double'. If -mfloat128-type and not -mfloat128, create the KFmode type with an undocumented __ieee128 keyword. (rs6000_init_libfuncs): Use -mfloat128-type instead of -mfloat128 for tests about the types, but keep tests for -mfloat128 to enable the keyword support. (rs6000_complex_function_value): Likewise. (rs6000_scalar_mode_supported_p): Likewise. (rs6000_floatn_mode): Likewise. (rs6000_c_mode_for_suffix): Likewise. (rs6000_opt_masks): Add -mfloat128-type. * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add support for -mfloat128-type being split from -mfloat128. Add -mfloat128-hardware, which was missing. * config/rs6000/rs6000.opt (-mfloat128): Split -mfloat128 into -mfloat128 and -mfloat128-type: (-mfloat128-type): Likewise. * config/rs6000/linux64.h (TARGET_FLOAT128_ENABLE_TYPE): Define so that 64-bit Linux systems with enable -mfloat128-type by default on VSX systems. * config/rs6000/rs6000.h (TARGET_FLOAT128_ENABLE_TYPE): Likewise. (FLOAT128_VECTOR_P): Switch IEEE 128-bit floating points to use -mfloat128-type instead of -mfloat128. (FLOAT128_2REG_P): Likewise. (MASK_FLOAT128_TYPE): Likewise. (ALTIVEC_ARG_MAX_RETURN): Likewise. (RS6000_BTM_FLOAT128): Likewise. (TARGET_FLOAT128): Poison old identifiers. (OPTION_MASK_FLOAT128): Likewise. (MASK_FLOAT128): Likewise. * config/rs6000/rs6000.md (FP): Likewise. (FLOAT128): Likewise. (fix_trunc<mode>di2): Likewise. (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise. (floatdi<mode>2): Likewise. (floatuns<SDI:mode><IEEE128:mode>2): Likewise. (neg<mode>2, FLOAT128 iterator): Likewise. (abs<mode>2, FLOAT128 iterator): Likewise. (ieee_128bit_negative_zero): Likewise. (ieee_128bit_vsx_neg<mode>2): Likewise. (ieee_128bit_vsx_neg<mode>2_internal): Likewise. (ieee_128bit_vsx_abs<mode>2): Likewise. (ieee_128bit_vsx_abs<mode>2_internal): Likewise. (ieee_128bit_vsx_nabs<mode>2): Likewise. (ieee_128bit_vsx_nabs<mode>2_internal): Likewise. (extendiftf2): Likewise. (extendifkf2): Likewise. (extendtfkf2): Likewise. (trunciftf2): Likewise. (truncifkf2): Likewise. (trunckftf2): Likewise. (trunctfif2): Likewise. (extendkftf2): Likewise. (trunctfkf2): Likewise. [gcc/testsuite] 2016-10-06 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/float128-type-1.c: New test to check that PowerPC 64-bit Linux enables -mfloat128-type by default. * gcc.target/powerpc/float128-type-2.c: Likewise. * gcc.target/powerpc/float128-mix.c: Change error message to reflect that __ibm128 is now #define'ed to be long double. From-SVN: r240872
2016-10-07 20:58:10 +02:00
2016-10-06 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/float128-type-1.c: New test to check that
PowerPC 64-bit Linux enables -mfloat128-type by default.
* gcc.target/powerpc/float128-type-2.c: Likewise.
* gcc.target/powerpc/float128-mix.c: Change error message to
reflect that __ibm128 is now #define'ed to be long double.
2016-10-07 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77406
* gfortran.dg/pr77406.f90: New test.
* gfortran.dg/assumed_type_3.f90: Update error messages.
* gfortran.dg/defined_operators_1.f90: Ditto.
* gfortran.dg/generic_26.f90: Ditto.
* gfortran.dg/generic_7.f90: Ditto.
* gfortran.dg/gomp/udr5.f90: Ditto.
* gfortran.dg/gomp/udr7.f90: Ditto.
* gfortran.dg/interface_1.f90: Ditto.
* gfortran.dg/interface_37.f90: Ditto.
* gfortran.dg/interface_5.f90: Ditto.
* gfortran.dg/interface_6.f90: Ditto.
* gfortran.dg/interface_7.f90
* gfortran.dg/no_arg_check_3.f90
* gfortran.dg/operator_5.f90
* gfortran.dg/proc_ptr_comp_20.f90: Ditto.
2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77700
* c-c++-common/Wint-in-bool-context.c: Update test.
2016-10-07 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/vrp01.c: Adjust.
* gcc.dg/tree-ssa/vrp34.c: Likewise.
2016-10-07 Marek Polacek <polacek@redhat.com>
* c-c++-common/Wimplicit-fallthrough-22.c: New test.
2016-10-07 Bernd Schmidt <bschmidt@redhat.com>
PR c++/69733
* c-c++-common/pr69733.c: New test.
* gcc.dg/pr69733.c: New test.
* gcc.target/i386/pr69733.c: New test.
2016-10-07 Marek Polacek <polacek@redhat.com>
PR c++/77803
* g++.dg/warn/Wimplicit-fallthrough-1.C: New test.
2016-10-07 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/77664
* gcc.dg/tree-ssa/pr77664.c: New test.
* gcc.dg/pr77664.c: New test.
2016-10-06 Louis Krupp <louis.krupp@zoho.com>
* gfortran.dg/pr69955.f90: New test.
2016_10-06 Louis Krupp <louis.krupp@zoho.com>
PR fortran/57910
* gfortran.dg/pr57910.f90: New test.
2016-10-06 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/has-unique-obj-representations1.C: New test.
* g++.dg/cpp1z/has-unique-obj-representations2.C: New test.
2016-10-06 Kugan Vivekanandarajah <kuganv@linaro.org>
PR tree-optimization/77862
* gcc.dg/pr77862.c: New test.
2016-10-06 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/tree-ssa/evrp4.c: New test.
2016-10-06 Jeff Law <law@redhat.com>
PR tree-optimization/71661
* gcc.dg/tree-ssa/pr71661.c: New test.
2016-10-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/77855
* gcc.dg/torture/pr77855.c: New testcase.
2016-10-06 James Clarke <jrtc27@jrtc27.com>
Eric Botcazou <ebotcazou@adacore.com>
* g++.dg/other/pr77759.C: New test.
2016-10-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/77839
* gcc.dg/torture/pr77839.c: New testcase.
2016-10-06 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp1z/init-statement9.C: New test.
Delete x86 deprecated pcommit instruction support Delete x86 pcommit instruction support, which has been deprecated: https://software.intel.com/en-us/blogs/2016/09/12/deprecate-pcommit-instruction gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PCOMMIT_UNSET, OPTION_MASK_ISA_PCOMMIT_SET): Deleted definitions. (ix86_handle_option): Deleted handle of OPT_mpcommit. * config.gcc: Deleted pcommitintrin.h * config/i386/pcommitintrin.h: Deleted file. * config/i386/cpuid.h (bit_PCOMMIT): Deleted. * config/i386/driver-i386.c (host_detect_local_cpu): Deleted pcommit detection. * config/i386/i386-c.c (ix86_target_macros_internal): Deleted define __PCOMMIT__. * config/i386/i386.c (ix86_target_string): Deleted -mpcommit. (PTA_PCOMMIT): Deleted define. (ix86_option_override_internal): Deleted handle of option. (ix86_valid_target_attribute_inner_p): Deleted pcommit. * config/i386/i386-builtin.def (IX86_BUILTIN_PCOMMIT, __builtin_ia32_pcommit): Deleted. * config/i386/i386.h (TARGET_PCOMMIT, TARGET_PCOMMIT_P): Deleted. * config/i386/i386.md (unspecv): Deleted UNSPECV_PCOMMIT. (pcommit): Deleted instruction. * config/i386/i386.opt: Mention -mpcommit deprecation. * config/i386/x86intrin.h: Deleted inclusion of pcommitintrin.h. gcc/testsuite/ * gcc.target/i386/pcommit-1.c: Deleted. * gcc.target/i386/sse-12.c: Deleted -pcommit option. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-23.c: Ditto. * g++.dg/other/i386-2.C: Ditto. From-SVN: r240816
2016-10-06 00:08:48 +02:00
2016-10-05 Andrew Senkevich <andrew.senkevich@intel.com>
* gcc.target/i386/pcommit-1.c: Deleted.
* gcc.target/i386/sse-12.c: Deleted -pcommit option.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Ditto.
* gcc.target/i386/sse-23.c: Ditto.
* g++.dg/other/i386-2.C: Ditto.
2016-10-05 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/pr77833.c: Require int128 effective target.
2016-10-05 Steven G. Kargl <kargls@gcc.gnu.org>
PR fortran/58991
PR fortran/58992
* gfortran.dg/associate_22.f90: New test.
2016-10-05 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_union_9.f90: New testcase.
* gfortran.dg/dec_union_10.f90: New testcase.
2016-10-05 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/66343
* gcc.dg/pch/pr66343-3.c: New test.
* gcc.dg/pch/pr66343-3.hs: New file.
PR sanitizer/66343
* gcc.dg/pch/pr66343-1.c: New test.
* gcc.dg/pch/pr66343-1.hs: New file.
* gcc.dg/pch/pr66343-2.c: New test.
* gcc.dg/pch/pr66343-2.hs: New file.
2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/Wint-in-bool-context.c: Update test.
Implement P0305R1, Selection statements with initializer. * cp-array-notation.c (create_an_loop): Call finish_init_stmt instead of finish_for_init_stmt. * cp-tree.h (finish_for_init_stmt): Rename to finish_init_stmt. * decl.c (poplevel): Adjust a comment. * init.c (build_vec_init): Call finish_init_stmt instead of finish_for_init_stmt. * name-lookup.c (pushdecl_maybe_friend_1): Adjust a comment. * name-lookup.h (enum scope_kind): Likewise. * parser.c (cp_parser_statement): Update commentary. (cp_parser_init_statement_p): New function. (cp_parser_selection_statement): Parse the optional init-statement. (cp_parser_for): Call finish_init_stmt instead of finish_for_init_stmt. (cp_parser_c_for): Likewise. (cp_convert_range_for): Call finish_init_stmt instead of finish_for_init_stmt. (cp_parser_range_for_member_function): Update commentary. (cp_parser_iteration_statement): (cp_parser_for_init_statement): Rename to cp_parser_init_statement. * pt.c (tsubst_omp_for_iterator): Update commentary. (tsubst_expr): Call finish_init_stmt instead of finish_for_init_stmt. * semantics.c (finish_for_init_stmt): Rename to finish_init_stmt. Update commentary. * g++.dg/cpp1z/init-statement1.C: New test. * g++.dg/cpp1z/init-statement2.C: New test. * g++.dg/cpp1z/init-statement3.C: New test. * g++.dg/cpp1z/init-statement4.C: New test. * g++.dg/cpp1z/init-statement5.C: New test. * g++.dg/cpp1z/init-statement6.C: New test. * g++.dg/cpp1z/init-statement7.C: New test. * g++.dg/cpp1z/init-statement8.C: New test. From-SVN: r240798
2016-10-05 20:02:06 +02:00
2016-10-05 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp1z/init-statement1.C: New test.
* g++.dg/cpp1z/init-statement2.C: New test.
* g++.dg/cpp1z/init-statement3.C: New test.
* g++.dg/cpp1z/init-statement4.C: New test.
* g++.dg/cpp1z/init-statement5.C: New test.
* g++.dg/cpp1z/init-statement6.C: New test.
* g++.dg/cpp1z/init-statement7.C: New test.
* g++.dg/cpp1z/init-statement8.C: New test.
2016-10-05 Louis Krupp <louis.krupp@zoho.com>
PR fortran/67524
* gfortran.dg/pr67524.f90: New test.
2016-10-05 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/77823
* c-c++-common/ubsan/shift-9.c: New test.
2016-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/pr69941.c: Use __INT32_TYPE__ instead
of int if __SIZEOF_INT__ is less than 4 bytes.
2016-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/dtio_15.f90: Fix spaces in dg-do.
* gfortran.dg/class_array_20.f03: Likewise.
* gfortran.dg/class_array_21.f03: Likewise.
* gfortran.dg/finalize_29.f08: Likewise.
* gfortran.dg/unlimited_polymorphic_23.f90: Likewise.
2016-10-05 Richard Biener <rguenther@suse.de>
PR middle-end/77826
* gcc.dg/torture/pr77826.c: New testcase.
2016-10-05 Richard Biener <rguenther@suse.de>
* gcc.dg/fold-copysign-1.c: New testcase.
2016-10-05 Andreas Schwab <schwab@suse.de>
* g++.dg/pr49847-2.C: Remove.
2016-10-05 Pierre-Marie de Rodat <derodat@adacore.com>
* gnat.dg/debug7.adb, gnat.dg/debug7.ads: New testcase.
2016-10-05 Richard Biener <rguenther@suse.de>
PR middle-end/55152
* gcc.dg/pr55152-2.c: New testcase.
2016-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/dtio_15.f90: New test.
2016-10-04 Ian Lance Taylor <iant@golang.org>
* gcc.dg/split-7.c: New test.
2016-10-04 Martin Sebor <msebor@redhat.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Cast int argument to
%lc directive to wint_t to silence -Wformat warnings on targets
where the latter is a distinct type such as long.
2016-10-04 Martin Sebor <msebor@redhat.com>
PR c++/77804
* g++.dg/warn/Wplacement-new-size-4.C: New test.
extend.texi (Java Exceptions): Remove. * doc/extend.texi (Java Exceptions): Remove. (java_interface): Remove. cp/ * cp-tree.h (enum cp_tree_index): Remove CPTI_JAVA_*, CPTI_LANG_NAME_JAVA and CPTI_JCLASS. (java_byte_type_node, java_short_type_node, java_int_type_node, java_long_type_node, java_float_type_node, java_double_type_node, java_char_type_node, java_boolean_type_node, lang_name_java, jclass_node): Remove. (enum languages): Remove lang_java. (TYPE_FOR_JAVA): Remove. (struct lang_type_class): Remove java_interface bit-field. (TYPE_JAVA_INTERFACE): Remove. (pragma_java_exceptions): Remove. (check_java_method, build_java_class_ref): Remove prototypes. * name-lookup.c (pushtag_1): Don't set TYPE_FOR_JAVA. * decl2.c (acceptable_java_type, check_java_method): Remove. (import_export_decl): Remove TYPE_FOR_JAVA handling. (build_java_method_aliases): Remove. (c_parse_final_cleanups): Don't call build_java_method_aliases. (possibly_inlined_p): Don't test pragma_java_exceptions. * init.c (build_new_1): Remove TYPE_FOR_JAVA handling. (build_java_class_ref): Remove. * pt.c (maybe_new_partial_specialization, lookup_template_class_1, instantiate_class_template_1): Don't copy TYPE_FOR_JAVA. * except.c (eh_type_info): Remove java type handling. (decl_is_java_type, choose_personality_routine): Remove. (initialize_handler_parm): Don't call choose_personality_routine. (expand_start_catch_block): Don't handle java types. (build_throw): Likewise. * cp-lang.c (cp_eh_personality): Don't handle pragma_java_exceptions. * typeck.c (structural_comptypes): Don't compare TYPE_FOR_JAVA. * call.c (build_over_call): Don't handle TYPE_JAVA_INTERFACE. (java_iface_lookup_fn): Remove. (build_java_interface_fn_ref): Remove. * tree.c (cxx_attribute_table): Remove java_interface. (handle_java_interface_attribute): Remove. * lex.c (pragma_java_exceptions): Remove. (init_cp_pragma): Don't register GCC java_exceptions pragma. (handle_pragma_java_exceptions): Remove. (retrofit_lang_decl): Don't handle lang_name_java. * method.c (implicitly_declare_fn): Don't handle TYPE_FOR_JAVA. * error.c (language_to_string): Don't handle lang_java. * decl.c (record_builtin_java_type): Remove. (initialize_predefined_identifiers): Remove Java. (cxx_init_decl_processing): Remove java_*_type_node. (cp_finish_decl): Don't handle TYPE_FOR_JAVA. (grokfndecl): Likewise. (check_special_function_return_type): Likewise. (grokdeclarator): Don't set TYPE_FOR_JAVA. (grokparms): Don't handle TYPE_FOR_JAVA. (xref_basetypes): Likewise. (check_function_type): Likewise. (finish_constructor_body): Likewise. * mangle.c (write_builtin_type): Don't handle TYPE_FOR_JAVA and java_*_type_node. (write_bare_function_type): Don't handle TYPE_FOR_JAVA. (write_java_integer_type_codes): Remove. * class.c (add_method): Don't handle TYPE_FOR_JAVA. (add_implicitly_declared_members, determine_key_method, finish_struct_1): Likewise. (push_lang_context): Don't handle lang_name_java. testsuite/ * g++.dg/other/java3.C: Remove. * g++.dg/other/java1.C: Remove. * g++.dg/other/error12.C: Remove. * g++.dg/other/java2.C: Remove. * g++.dg/warn/Wnvdtor.C: Remove. * g++.dg/lookup/java1.C: Remove. * g++.dg/lookup/java2.C: Remove. * g++.dg/ext/pr34829.C: Remove. * g++.dg/ext/java-3.C: Remove. * g++.dg/ext/java-1.C: Remove. * g++.dg/ext/java-2.C: Remove. * g++.old-deja/g++.oliva/dwarf2.C: Remove. From-SVN: r240750
2016-10-04 17:32:31 +02:00
2016-10-04 Jakub Jelinek <jakub@redhat.com>
PR c++/77791
* g++.dg/cpp0x/lambda/lambda-77791.C: New test.
extend.texi (Java Exceptions): Remove. * doc/extend.texi (Java Exceptions): Remove. (java_interface): Remove. cp/ * cp-tree.h (enum cp_tree_index): Remove CPTI_JAVA_*, CPTI_LANG_NAME_JAVA and CPTI_JCLASS. (java_byte_type_node, java_short_type_node, java_int_type_node, java_long_type_node, java_float_type_node, java_double_type_node, java_char_type_node, java_boolean_type_node, lang_name_java, jclass_node): Remove. (enum languages): Remove lang_java. (TYPE_FOR_JAVA): Remove. (struct lang_type_class): Remove java_interface bit-field. (TYPE_JAVA_INTERFACE): Remove. (pragma_java_exceptions): Remove. (check_java_method, build_java_class_ref): Remove prototypes. * name-lookup.c (pushtag_1): Don't set TYPE_FOR_JAVA. * decl2.c (acceptable_java_type, check_java_method): Remove. (import_export_decl): Remove TYPE_FOR_JAVA handling. (build_java_method_aliases): Remove. (c_parse_final_cleanups): Don't call build_java_method_aliases. (possibly_inlined_p): Don't test pragma_java_exceptions. * init.c (build_new_1): Remove TYPE_FOR_JAVA handling. (build_java_class_ref): Remove. * pt.c (maybe_new_partial_specialization, lookup_template_class_1, instantiate_class_template_1): Don't copy TYPE_FOR_JAVA. * except.c (eh_type_info): Remove java type handling. (decl_is_java_type, choose_personality_routine): Remove. (initialize_handler_parm): Don't call choose_personality_routine. (expand_start_catch_block): Don't handle java types. (build_throw): Likewise. * cp-lang.c (cp_eh_personality): Don't handle pragma_java_exceptions. * typeck.c (structural_comptypes): Don't compare TYPE_FOR_JAVA. * call.c (build_over_call): Don't handle TYPE_JAVA_INTERFACE. (java_iface_lookup_fn): Remove. (build_java_interface_fn_ref): Remove. * tree.c (cxx_attribute_table): Remove java_interface. (handle_java_interface_attribute): Remove. * lex.c (pragma_java_exceptions): Remove. (init_cp_pragma): Don't register GCC java_exceptions pragma. (handle_pragma_java_exceptions): Remove. (retrofit_lang_decl): Don't handle lang_name_java. * method.c (implicitly_declare_fn): Don't handle TYPE_FOR_JAVA. * error.c (language_to_string): Don't handle lang_java. * decl.c (record_builtin_java_type): Remove. (initialize_predefined_identifiers): Remove Java. (cxx_init_decl_processing): Remove java_*_type_node. (cp_finish_decl): Don't handle TYPE_FOR_JAVA. (grokfndecl): Likewise. (check_special_function_return_type): Likewise. (grokdeclarator): Don't set TYPE_FOR_JAVA. (grokparms): Don't handle TYPE_FOR_JAVA. (xref_basetypes): Likewise. (check_function_type): Likewise. (finish_constructor_body): Likewise. * mangle.c (write_builtin_type): Don't handle TYPE_FOR_JAVA and java_*_type_node. (write_bare_function_type): Don't handle TYPE_FOR_JAVA. (write_java_integer_type_codes): Remove. * class.c (add_method): Don't handle TYPE_FOR_JAVA. (add_implicitly_declared_members, determine_key_method, finish_struct_1): Likewise. (push_lang_context): Don't handle lang_name_java. testsuite/ * g++.dg/other/java3.C: Remove. * g++.dg/other/java1.C: Remove. * g++.dg/other/error12.C: Remove. * g++.dg/other/java2.C: Remove. * g++.dg/warn/Wnvdtor.C: Remove. * g++.dg/lookup/java1.C: Remove. * g++.dg/lookup/java2.C: Remove. * g++.dg/ext/pr34829.C: Remove. * g++.dg/ext/java-3.C: Remove. * g++.dg/ext/java-1.C: Remove. * g++.dg/ext/java-2.C: Remove. * g++.old-deja/g++.oliva/dwarf2.C: Remove. From-SVN: r240750
2016-10-04 17:32:31 +02:00
* g++.dg/other/java3.C: Remove.
* g++.dg/other/java1.C: Remove.
* g++.dg/other/error12.C: Remove.
* g++.dg/other/java2.C: Remove.
* g++.dg/warn/Wnvdtor.C: Remove.
* g++.dg/lookup/java1.C: Remove.
* g++.dg/lookup/java2.C: Remove.
* g++.dg/ext/pr34829.C: Remove.
* g++.dg/ext/java-3.C: Remove.
* g++.dg/ext/java-1.C: Remove.
* g++.dg/ext/java-2.C: Remove.
* g++.old-deja/g++.oliva/dwarf2.C: Remove.
2016-10-04 Doug Gilmore <doug.gilmore@imgtec.com>
PR tree-optimization/77808
* gcc.dg/tree-ssa/pr77808.c: New testcase.
2016-10-04 Richard Biener <rguenther@suse.de>
PR tree-optimization/77399
* gcc.dg/tree-ssa/forwprop-35.c: Adjust.
2016-10-04 Richard Biener <rguenther@suse.de>
PR middle-end/77833
* gcc.target/i386/pr77833.c: New testcase.
2016-09-26 Jeff Law <law@redhat.com>
PR tree-optimization/71550
PR tree-optimization/71403
* gcc.c-torture/execute/pr71550.c: New test.
2016-10-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.target/avr/torture/builtins-error.c: Add -ffat-lto-objects
option.
2016-10-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Revert
2016-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ifcvt_avoid_const_materialization_1.c: New test.
2016-10-03 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp0x/nullptr37.C: New test.
2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/Wint-in-bool-context.c: Update test.
2016-10-02 Jakub Jelinek <jakub@redhat.com>
* g++.dg/ext/asm3.C (two): Only use register keyword for C++14 and
earlier.
* g++.dg/charset/asm2.c (memmove): Likewise.
* g++.dg/tls/diag-2.C (foo): Expect -Wregister error for C++17.
* g++.dg/tls/diag-4.C (foo): Likewise.
* c-c++-common/vector-subscript-2.c (vf): Change dg-error to
dg-warning, fix up regex.
* g++.old-deja/g++.brendan/warnings4.C: Limit to c++14_down targets.
* g++.old-deja/g++.mike/p700.C: Add -Wno-register.
* g++.old-deja/g++.mike/net31.C: Likewise.
* g++.old-deja/g++.other/regstack.C (foo): Expect -Wregister warning
for C++17.
* g++.old-deja/g++.jason/enum3.C: Add -Wno-register.
* g++.old-deja/g++.eh/ia64-1.C: Likewise.
2016-10-01 Richard Biener <rguenther@suse.de>
PR middle-end/77798
* gfortran.fortran-torture/compile/pr77798.f90: New testcase.
2016-10-01 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/77663
* gfortran.dg/coarray_send_by_ref_1.f08: New test.
2016-10-01 Jakub Jelinek <jakub@redhat.com>
PR c/77490
* c-c++-common/Wbool-operation-1.c: Add -Wno-psabi to dg-options.
Add dg-prune-output directive.
2016-09-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/66643
* gfortran.fortran-torture/compile/arrayio.f90: Update test.
* gfortran.fortran-torture/compile/write.f90: Update test.
2016-09-30 Matthew Wawhab <matthew.wahab@arm.com>
* gcc.target/arm/fp16-aapcs-3.c: Replace arm_fp16_ok with
arm_fp16_alternative_ok as the required effective target.
* gcc.target/arm/fp16-aapcs-4.c: Likewise. Also add
-mfp16-format=alternative to the dg-options directive and remove
the dg-add-options directive.
2016-09-30 Fritz Reese <fritzoreese@gmail.com>
PR fortran/77764
* gfortran.dg/dec_union_8.f90: New testcase.
2016-09-30 Fritz Reese <fritzoreese@gmail.com>
PR fortran/77782
* gfortran.dg/dec_structure_16.f90: New testcase.
2016-09-30 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_allocate_10.f08: New test.
* gfortran.dg/coindexed_1.f90: Above fixes allow execution.
2016-09-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ifcvt_avoid_const_materialization_1.c: New test.
2016-09-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/77399
* gcc.dg/tree-ssa/forwprop-35.c: New testcase.
2016-09-29 Sandra Loosemore <sandra@codesourcery.com>
* c-c++-common/pr27336.c: Make dependency on
-fdelete-null-pointer-checks explicit.
* g++.dg/cpp0x/constexpr-array-ptr10.C: Likewise.
* g++.dg/cpp0x/constexpr-nullptr-1.C: Likewise.
* g++.dg/lto/pr69589_0.C: Add nios2-*-elf to unsupported targets.
* gcc.dg/pic-1.c: Require fpic target support.
* gcc.dg/pic-2.c: Likewise.
2016-09-29 22:54:56 +02:00
2016-09-29 Jakub Jelinek <jakub@redhat.com>
Implement P0001R1 - C++17 removal of register storage class specifier
* c-c++-common/Wvarargs-2.c (foo1): Except new warning for C++17.
* c-c++-common/vector-subscript-2.c (vf): Expect new error for
C++17.
* c-c++-common/vector-subscript-5.c (foo): Don't use register
keyword if not __SSE2__.
* c-c++-common/Wvarargs.c (foo1, foo3): Expect new warnings for
C++17.
* g++.dg/compat/struct-layout-1_generate.c (iterative_hash): Remove
register keywords.
* g++.dg/eh/pr29166.C: Add -Wno-register option.
* g++.dg/warn/register-parm-1.C (erroneous_warning,
no_erroneous_warning): Expect new warnings for C++17.
* g++.dg/warn/register-var-2.C (f): Likewise.
* g++.dg/parse/register1.C (f): Expect new error for C++17.
* g++.dg/parse/linkage2.C (foo): Likewise.
* g++.dg/torture/pr36826.C (CoinMin, CoinMax): Avoid register
keyword on parameters for C++17.
* g++.dg/cpp1z/register1.C: New test.
* g++.dg/cpp1z/register2.C: New test.
* g++.dg/cpp1z/register3.C: New test.
2016-09-29 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/adx-check.h (main): Simplify feature bit tests.
* gcc.target/i386/avx2-check.h (main): Ditto.
* gcc.target/i386/avx512bw-check.h (main): Ditto.
* gcc.target/i386/avx512cd-check.h (main): Ditto.
* gcc.target/i386/avx512dq-check.h (main): Ditto.
* gcc.target/i386/avx512er-check.h (main): Ditto.
* gcc.target/i386/avx512f-check.h (main): Ditto.
* gcc.target/i386/avx512ifma-check.h (main): Ditto.
* gcc.target/i386/avx512vbmi-check.h (main): Ditto.
* gcc.target/i386/avx512vl-check.h (main): Ditto.
2016-09-29 Uros Bizjak <ubizjak@gmail.com>
PR target/77756
* gcc.target/i386/pr77756.c: New test.
2016-09-29 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp0x/fallthrough2.C: Use the c++14_down target.
2016-09-29 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp0x/fallthrough2.C: Only expect the warning in C++11 and
C++14.
2016-09-29 Martin Liska <mliska@suse.cz>
* objc/execute/construct1.m: New test.
2016-09-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/77768
* gcc.dg/torture/pr77768.c: New testcase.
2016-09-28 Richard Biener <rguenther@suse.de>
PR middle-end/77407
* gcc.dg/pr77407.c: New testcase.
2016-09-29 Richard Biener <rguenther@suse.de>
PR middle-end/55152
* gcc.dg/pr55152.c: New testcase.
* gcc.dg/tree-ssa/phi-opt-5.c: Adjust.
2016-09-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/profile-update-warning.c: Restrict to ia32.
(dg-options): Remove -m32.
2016-09-28 Martin Sebor <msebor@redhat.com>
PR middle-end/77721
* gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: New test.
2016-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77707
* gfortran.dg/inquire_17.f90: New test.
2016-09-28 Jakub Jelinek <jakub@redhat.com>
PR c++/77467
* g++.dg/cpp1y/constexpr-77467.C: New test.
2016-09-28 Martin Sebor <msebor@redhat.com>
PR c/77762
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c (test_vsnprintf_chk_s):
Call __builtin___vsnprintf_chk, not __builtin___snprintf_chk.
(test_sprintf_p_const): Adjust line numbers to avoid failures
introduced in r240503.
2016-09-28 Martin Sebor <msebor@redhat.com>
PR middle-end/77683
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Add test cases.
2016-09-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77748
* g++.dg/pr77550.C: Avoid undefined behavior.
* gcc.dg/tree-ssa/pr68198.c: Fix dg-final.
2016-09-28 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.dg/strlenopt-20.c: Update test.
* gcc.dg/strlenopt-21.c: Likewise.
* gcc.dg/strlenopt-22.c: Likewise.
* gcc.dg/strlenopt-22g.c: Likewise.
* gcc.dg/strlenopt-26.c: Likewise.
* gcc.dg/strlenopt-5.c: Likewise.
* gcc.dg/strlenopt-7.c: Likewise.
* gcc.dg/strlenopt-9.c: Likewise.
2016-09-27 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp1z/feat-cxx1z.C: Add __cpp_capture_star_this test.
* g++.dg/cpp1z/lambda-this1.C: New test.
* g++.dg/cpp1z/lambda-this2.C: New test.
PR c++/77722
* g++.dg/ubsan/return-4.C: New test.
* g++.dg/ubsan/return-5.C: New test.
* g++.dg/ubsan/return-6.C: New test.
2016-09-27 Jiong Wang <jiong.wang@arm.com>
* lib/target-supports.exp
(check_effective_target_arm_v8_2a_fp16_scalar_hw): Delete redundant word
in function comment.
2016-09-27 Martin Liska <mliska@suse.cz>
PR gcov-profile/46266
* lib/gcov.exp: Verify that <built-in>.gcov file is not
considered.
2016-09-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/77745
* g++.dg/torture/pr77745.C: New testcase.
2016-09-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/77478
* gcc.dg/torture/pr77478.c: New testcase.
2016-09-27 Martin Liska <mliska@suse.cz>
PR gcov-profile/7970
PR gcov-profile/16855
PR gcov-profile/44779
* g++.dg/gcov/pr16855.C: New test.
2016-09-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Require int32plus.
2016-09-27 Jakub Jelinek <jakub@redhat.com>
PR fortran/77666
* gfortran.dg/gomp/pr77666.f90: New test.
2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
* gcc.dg/torture/pr77677-2.c: New test.
2016-09-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77420
* gfortran.dg/pr77420_1.f90: New test.
* gfortran.dg/pr77420_2.f90: Ditto.
* gfortran.dg/pr77420_3.f90: New test. Requires ...
* gfortran.dg/pr77420_4.f90: this file.
2016-09-26 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/77719
* gfortran.dg/pr77719.f90: New test.
2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust regex to accept
singular form of byte when quantity is unknown.
2016-09-26 Marek Polacek <polacek@redhat.com>
* g++.dg/cpp1z/feat-cxx1z.C: Test attribute fallthrough.
2016-09-26 Martin Liska <mliska@suse.cz>
* c-c++-common/ubsan/sanitize-recover-1.c: New test.
* c-c++-common/ubsan/sanitize-recover-2.c: New test.
* c-c++-common/ubsan/sanitize-recover-3.c: New test.
* c-c++-common/ubsan/sanitize-recover-4.c: New test.
* c-c++-common/ubsan/sanitize-recover-5.c: New test.
* c-c++-common/ubsan/sanitize-recover-6.c: New test.
* c-c++-common/ubsan/sanitize-recover-7.c: New test.
* c-c++-common/ubsan/sanitize-recover-8.c: New test.
* c-c++-common/ubsan/sanitize-recover-9.c: New test.
2016-09-26 Marek Polacek <polacek@redhat.com>
PR c/7652
* c-c++-common/Wimplicit-fallthrough-1.c: New test.
* c-c++-common/Wimplicit-fallthrough-10.c: New test.
* c-c++-common/Wimplicit-fallthrough-11.c: New test.
* c-c++-common/Wimplicit-fallthrough-12.c: New test.
* c-c++-common/Wimplicit-fallthrough-13.c: New test.
* c-c++-common/Wimplicit-fallthrough-14.c: New test.
* c-c++-common/Wimplicit-fallthrough-15.c: New test.
* c-c++-common/Wimplicit-fallthrough-16.c: New test.
* c-c++-common/Wimplicit-fallthrough-17.c: New test.
* c-c++-common/Wimplicit-fallthrough-18.c: New test.
* c-c++-common/Wimplicit-fallthrough-19.c: New test.
* c-c++-common/Wimplicit-fallthrough-20.c: New test.
* c-c++-common/Wimplicit-fallthrough-21.c: New test.
* c-c++-common/Wimplicit-fallthrough-2.c: New test.
* c-c++-common/Wimplicit-fallthrough-3.c: New test.
* c-c++-common/Wimplicit-fallthrough-4.c: New test.
* c-c++-common/Wimplicit-fallthrough-5.c: New test.
* c-c++-common/Wimplicit-fallthrough-6.c: New test.
* c-c++-common/Wimplicit-fallthrough-7.c: New test.
* c-c++-common/Wimplicit-fallthrough-8.c: New test.
* c-c++-common/Wimplicit-fallthrough-9.c: New test.
* c-c++-common/attr-fallthrough-1.c: New test.
* c-c++-common/attr-fallthrough-2.c: New test.
* g++.dg/cpp0x/fallthrough1.C: New test.
* g++.dg/cpp0x/fallthrough2.C: New test.
* g++.dg/cpp1z/fallthrough1.C: New test.
* g++.dg/warn/Wunused-label-1.C: Turn dg-error into dg-warning.
* gcc.dg/Wimplicit-fallthrough-1.c: New test.
* obj-c++.dg/Wimplicit-fallthrough-1.mm: New test.
* objc.dg/Wimplicit-fallthrough-1.m: New test.
2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77429
* gfortran.dg/pr77429.f90: New test.
2016-09-25 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77694
* gfortran.dg/pr77694.f90: New test.
2016-09-25 Oleg Endo <olegendo@gcc.gnu.org>
PR target/51244
* gcc.target/sh/pr51244-11.c: Add more detailed expected insn matching.
2016-09-24 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/coarray_lib_comm_1.f90: Really fix test
for 32-bit mode.
2016-09-24 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/coarray_lib_comm_1.f90: Fix test
for 32-bit mode.
2016-09-24 Marek Polacek <polacek@redhat.com>
PR c/77490
* c-c++-common/Wbool-operation-1.c: New test.
* gcc.dg/Wbool-operation-1.c: New test.
2016-09-23 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_static_1.f90: New.
* gfortran.dg/dec_static_2.f90: New.
* gfortran.dg/dec_static_3.f90: New.
* gfortran.dg/dec_static_4.f90: New.
re PR fortran/48298 ([F03] User-Defined Derived-Type IO (DTIO)) 2016-09-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/48298 * io/inquire.c (inquire_via_unit): Adjust error check for the two possible internal unit KINDs. * io/io.h: Adjust defines for is_internal_unit and is_char4_unit. (gfc_unit): Add internal unit data to structure. (get_internal_unit): Change declaration to set_internal_unit. (free_internal_unit): Change name to stash_internal_unit_number. (get_unique_unit_number): Adjust parameter argument. Define IOPARM_DT_HAS_UDTIO. (gfc_saved_unit): New structure. * io/list_read.c (next_char_internal): Use is_char4_unit. * io/open.c (st_open): Adjust call to get_unique_unit_number. * io/transfer.c (write_block): Use is_char4_unit. (data_transfer_init): Update check for unit numbers. (st_read_done): Free the various allocated memories used for the internal units and stash the negative unit number and pointer to unit structure to allow reuse. (st_write_done): Likewise stash the freed unit. * io/unit.c: Create a fixed size buffer of 16 gfc_saved_unit's to use as a stack to save newunit unit numbers and unit structure for reuse. (get_external_unit): Change name to get_gfc_unit to better reflect what it does. (find_unit): Change call to get_gfc_unit. (find_or_create_unit): Likewise. (get_internal_unit): Change name to set_internal_unit. Move internal unit from the dtp structure to the gfc_unit structure so that it can be passed to child I/O statements through the UNIT. (free_internal_unit): Change name to stash_internal_unit_number. Push the common.unit number onto the newunit stack, saving it for possible reuse later. (get_unit): Set the internal unit KIND. Use get_unique_unit_number to get a negative unit number for the internal unit. Use get_gfc_unit to get the unit structure and use set_internal_unit to initialize it. (init_units): Initialize the newunit stack. (get_unique_unit_number): Check the stack for an available unit number and use it. If none there get the next most negative number. (close_units): Free any unit structures pointed to from the save stack. 2016-09-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/48298 * gfortran.h (gfc_dt): Add *udtio. * ioparm.def: Add bit IOPARM_dt_f2003 to align with library use of bit 25. Add IOPARM_dt_dtio bit to common flags. * resolve.c (resolve_transfer): Set dt->udtio to expression. * io.c (gfc_match_inquire): Adjust error message for internal unit KIND. * libgfortran.h: Adjust defines for GFC_INTERNAL_UNIT4, GFC_INTERNAL_UNIT, and GFC_INVALID_UNIT. * trans-io.c (build_dt): Set common_unit to reflect the KIND of the internal unit. Set mask bit for presence of dt->udtio. 2016-09-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/48298 * gfortran.dg/negative_unit_check.f90: Update test. * gfortran.dg/dtio_14.f90: New test. From-SVN: r240456
2016-09-23 22:36:21 +02:00
2016-09-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/48298
* gfortran.dg/negative_unit_check.f90: Update test.
* gfortran.dg/dtio_14.f90: New test.
2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/hotpatch-compile-1.c: Fixed dg-error test.
* gcc.target/s390/hotpatch-compile-2.c: Likewise.
* gcc.target/s390/hotpatch-compile-3.c: Likewise.
* gcc.target/s390/hotpatch-compile-4.c: Likewise.
* gcc.target/s390/hotpatch-compile-5.c: Likewise.
* gcc.target/s390/hotpatch-compile-6.c: Likewise.
* gcc.target/s390/hotpatch-compile-14.c: Likewise.
2016-09-23 Martin Sebor <msebor@redhat.com>
PR testsuite/77713
* gcc.dg/tree-ssa/builtin-sprintf.c (test_e_long_double): Avoid
assuming long double is bigger than double.
2016-09-23 Jakub Jelinek <jakub@redhat.com>
Implement P0138R2, C++17 construction rules for enum class values
* g++.dg/cpp1z/direct-enum-init1.C: New test.
2016-09-23 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/77672
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c (test): Update
expected multiline output from first warning to reflect change
in r240434.
2016-09-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Fix xfail pattern.
2016-09-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
Tom de Vries <tom@codesourcery.com>
PR testsuite/77411
* c-c++-common/ubsan/object-size-9.c: Call __builtin_exit in C++.
2016-09-23 Marek Polacek <polacek@redhat.com>
* c-c++-common/gomp/atomic-12.c: Skip for C++1z.
* c-c++-common/gomp/atomic-13.c: Likewise.
* c-c++-common/gomp/atomic-14.c: Likewise.
* c-c++-common/pr60439.c: Remove invalid code.
* g++.dg/expr/bitfield4.C: Robustify for C++1z.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
* g++.dg/expr/bool1.C: Likewise.
* g++.dg/expr/bool3.C: Likewise.
* g++.dg/expr/lval3.C: Likewise.
* g++.dg/expr/lval4.C: Likewise.
* g++.old-deja/g++.jason/bool5.C: Likewise.
Provide location information for terminator characters (PR preprocessor/77672) substring_loc::get_location currently fails for the final terminator character in a STRING_CST from the C frontend, so that format_warning_va falls back to using the location of the string as a whole. This patch tweaks things [1] so that we use the final closing quote as the location of the terminator character, as requested in PR preprocessor/77672. [1] specifically, cpp_interpret_string_1. gcc/ChangeLog: PR preprocessor/77672 * input.c (selftest::test_lexer_string_locations_simple): Update test to expect location information of the terminator character at the location of the final closing quote. (selftest::test_lexer_string_locations_hex): Likewise. (selftest::test_lexer_string_locations_oct): Likewise. (selftest::test_lexer_string_locations_letter_escape_1): Likewise. (selftest::test_lexer_string_locations_letter_escape_2): Likewise. (selftest::test_lexer_string_locations_ucn4): Likewise. (selftest::test_lexer_string_locations_ucn8): Likewise. (selftest::test_lexer_string_locations_u8): Likewise. (selftest::test_lexer_string_locations_utf8_source): Likewise. (selftest::test_lexer_string_locations_concatenation_1): Likewise. (selftest::test_lexer_string_locations_concatenation_2): Likewise. (selftest::test_lexer_string_locations_concatenation_3): Likewise. (selftest::test_lexer_string_locations_macro): Likewise. (selftest::test_lexer_string_locations_long_line): Likewise. gcc/testsuite/ChangeLog: PR preprocessor/77672 * gcc.dg/plugin/diagnostic-test-string-literals-1.c (test_terminator_location): New function. libcpp/ChangeLog: PR preprocessor/77672 * charset.c (cpp_interpret_string_1): Add a source_range for the NUL-terminator, using the location of the trailing quote of the final string. From-SVN: r240434
2016-09-23 16:14:52 +02:00
2016-09-23 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/77672
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(test_terminator_location): New function.
2016-09-23 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ssa-fre-56.c: New testcase.
[PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable -march=armv8.2-a+fp16 when supported by the hardware. * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add semi-colons to a macro invocations. * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some white-space. * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. From-SVN: r240427
2016-09-23 12:57:20 +02:00
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable
-march=armv8.2-a+fp16 when supported by the hardware.
* gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc:
Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add
semi-colons to a macro invocations.
* gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined. Also fix some white-space.
* gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined. Also fix some long lines and white-space.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined. Also fix some long lines and white-space.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16
tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is
defined.
* gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise.
[PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable -march=armv8.2-a+fp16 when supported by the hardware. * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add semi-colons to a macro invocations. * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some white-space. * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. From-SVN: r240427
2016-09-23 12:57:20 +02:00
* gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise.
[PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable -march=armv8.2-a+fp16 when supported by the hardware. * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add semi-colons to a macro invocations. * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some white-space. * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. From-SVN: r240427
2016-09-23 12:57:20 +02:00
* gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise.
[PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable -march=armv8.2-a+fp16 when supported by the hardware. * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add semi-colons to a macro invocations. * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some white-space. * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. From-SVN: r240427
2016-09-23 12:57:20 +02:00
* gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise.
* gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise.
[PATCH 17/17][ARM] Add tests for NEON FP16 ACLE intrinsics. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable -march=armv8.2-a+fp16 when supported by the hardware. * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add semi-colons to a macro invocations. * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some white-space. * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. From-SVN: r240427
2016-09-23 12:57:20 +02:00
[PATCH 16/17][ARM] Add tests for VFP FP16 ACLE instrinsics. testsuite/ 2016-09-23 Jiong Wang <jiong.wang@arm.com> Matthew Wahab <matthew.wahab@arm.com> * gcc.target/aarch64/advsimd-intrinsics/binary_scalar_op.inc: New. * gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: New. * gcc.target/aarch64/advsimd-intrinsics/ternary_scalar_op.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vabsh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vaddh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vdivh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfmah_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfmsh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmaxnmh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vminnmh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmulh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vnegh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndah_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndih_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndmh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndnh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndph_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndxh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vsqrth_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vsubh_f16_1.c: New. Co-Authored-By: Matthew Wahab <matthew.wahab@arm.com> From-SVN: r240426
2016-09-23 12:54:14 +02:00
2016-09-23 Jiong Wang <jiong.wang@arm.com>
Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/binary_scalar_op.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/ternary_scalar_op.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/vabsh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vaddh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_s32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtah_u32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s32_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u32_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s32_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u32_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_s32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvth_u32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_s32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vcvtph_u32_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vdivh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmah_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vfmsh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmaxnmh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vminnmh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vmulh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vnegh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndah_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndih_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndmh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndnh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndph_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndxh_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vsqrth_f16_1.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vsubh_f16_1.c: New.
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8_2-fp16-neon-1.c: New.
* gcc.target/arm/armv8_2-fp16-scalar-1.c: New.
* gcc.target/arm/armv8_2-fp16-scalar-2.c: New.
* gcc.target/arm/attr-fp16-arith-1.c: Add a test of intrinsics
support.
2016-09-23 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
* gcc.dg/torture/pr77677.c: New test.
2016-09-23 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_lib_comm_1.f90: Using the old caf-interface
here now.
[PATCH 9/17][ARM] Add NEON FP16 arithmetic instructions. gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/iterators.md (VCVTHI): New. (NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE. Fix a long line. (NEON_VAGLTE): New. (VFM_LANE_AS): New. (VH_CVTTO): New. (V_reg): Add HF, V4HF and V8HF. Fix white-space. (V_HALF): Add V4HF. Fix white-space. (V_if_elem): Add HF, V4HF and V8HF. Fix white-space. (V_s_elem): Likewise. (V_sz_elem): Fix white-space. (V_elem_ch): Likewise. (VH_elem_ch): New. (scalar_mul_constraint): Add V8HF and V4HF. (Is_float_mode): Fix white-space. (Is_d_reg): Add V4HF and V8HF. Fix white-space. (q): Add HF. Fix white-space. (float_sup): New. (float_SUP): New. (cmp_op_unsp): Add UNSPEC_VCALE and UNSPEC_VCALT. (neon_vfm_lane_as): New. * config/arm/neon.md (add<mode>3_fp16): New. (sub<mode>3_fp16): New. (mul<mode>3add<mode>_neon): New. (fma<VH:mode>4_intrinsic): New. (fmsub<VCVTF:mode>4_intrinsic): Fix white-space. (fmsub<VH:mode>4_intrinsic): New. (<absneg_str><mode>2): New. (neon_v<absneg_str><mode>): New. (neon_v<fp16_rnd_str><mode>): New. (neon_vrsqrte<mode>): New. (neon_vpaddv4hf): New. (neon_vadd<mode>): New. (neon_vsub<mode>): New. (neon_vmulf<mode>): New. (neon_vfma<VH:mode>): New. (neon_vfms<VH:mode>): New. (neon_vc<cmp_op><mode>): New. (neon_vc<cmp_op><mode>_fp16insn): New (neon_vc<cmp_op_unsp><mode>_fp16insn_unspec): New. (neon_vca<cmp_op><mode>): New. (neon_vca<cmp_op><mode>_fp16insn): New. (neon_vca<cmp_op_unsp><mode>_fp16insn_unspec): New. (neon_vc<cmp_op>z<mode>): New. (neon_vabd<mode>): New. (neon_v<maxmin>f<mode>): New. (neon_vp<maxmin>fv4hf: New. (neon_<fmaxmin_op><mode>): New. (neon_vrecps<mode>): New. (neon_vrsqrts<mode>): New. (neon_vrecpe<mode>): New (VH variant). (neon_vdup_lane<mode>_internal): New. (neon_vdup_lane<mode>): New. (neon_vcvt<sup><mode>): New (VCVTHI variant). (neon_vcvt<sup><mode>): New (VH variant). (neon_vcvt<sup>_n<mode>): New (VH variant). (neon_vcvt<sup>_n<mode>): New (VCVTHI variant). (neon_vcvt<vcvth_op><sup><mode>): New. (neon_vmul_lane<mode>): New. (neon_vmul_n<mode>): New. * config/arm/unspecs.md (UNSPEC_VCALE): New (UNSPEC_VCALT): New. (UNSPEC_VFMA_LANE): New. (UNSPECS_VFMS_LANE): New. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2-fp16-arith-1.c: Use arm_v8_2a_fp16_neon options. Add tests for float16x4_t and float16x8_t. From-SVN: r240415
2016-09-23 11:54:44 +02:00
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8_2-fp16-arith-1.c: Use arm_v8_2a_fp16_neon
options. Add tests for float16x4_t and float16x8_t.
S/390: Improved risbg usage. gcc/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.md ("*extzv<mode>_zEC12", "*extzv<mode>_z10") ("*extzv<mode><clobbercc_or_nocc>"): Correct a typo in a comment. Merged patterns. ("*insv<mode>_zEC12", "*insv<mode>_z10") ("*insv<mode><clobbercc_or_nocc>"): Ditto. ("*insv<mode>_zEC12_appendbitsleft") ("*insv<mode><clobbercc_or_nocc>_appendbitsleft") ("*insv<mode>_z10_appendbitsleft"): Ditto. ("*insv<mode>_zEC12_noshift", "*insv<mode>_z10_noshift") ("*insv<mode><clobbercc_or_nocc>_noshift"): Ditto. Provide pattern with operands switched. ("*pre_z10_extv<mode>"): Use new subst patterns. ("*extzvdi<clobbercc_or_nocc>_lshiftrt", "*<risbg_n>_ior_and_sr_ze") ("*extvsidi<clobbercc_or_nocc>", "*<risbg_n>_and_subregdi_rotr") ("*<risbg_n>_and_subregdi_rotl", "*<risbg_n>_di_and_rot") ("*insv_z10_noshift_cc", "*insv_z10_noshift_cconly") ("*<risbg_n>_<mode>_ior_and_lshiftrt") ("*<risbg_n>_sidi_ior_and_lshiftrt") ("*trunc_sidi_and_subreg_lshrt<clobbercc_or_nocc>"): New patterns. ("*extzv_<mode>_sll", "*extzv_<mode>_srl") ("*extzv_<mode>_srl<clobbercc_or_nocc>") ("*extzv_<mode>_sll<clobbercc_or_nocc>"): Renamed patterns, use risbgn on zEC12. ("SINT"): New mode_iterator with SI, HI, QI. * config/s390/subst.md ("clobbercc_or_nocc_subst", "z10_or_zEC12_cond") ("clobbercc_or_nocc", "risbg_n"): New constructs for risbg pattern duplication. gcc/testsuite/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/risbg-ll-1.c: Ported risbg tests from llvm. * gcc.target/s390/risbg-ll-2.c: Ditto. * gcc.target/s390/risbg-ll-3.c: Ditto. From-SVN: r240414
2016-09-23 11:53:29 +02:00
2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/risbg-ll-1.c: Ported risbg tests from llvm.
* gcc.target/s390/risbg-ll-2.c: Ditto.
* gcc.target/s390/risbg-ll-3.c: Ditto.
[PATCH 8/17][ARM] Add VFP FP16 arithmetic instructions. gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/iterators.md (Code iterators): Fix some white-space in the comments. (GLTE): New. (ABSNEG): New (FCVT): Moved from vfp.md. (VCVT_HF_US_N): New. (VCVT_SI_US_N): New. (VCVT_HF_US): New. (VCVTH_US): New. (FP16_RND): New. (absneg_str): New. (FCVTI32typename): Moved from vfp.md. (sup): Add UNSPEC_VCVTA_S, UNSPEC_VCVTA_U, UNSPEC_VCVTM_S, UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U, UNSPEC_VCVTP_S, UNSPEC_VCVTP_U, UNSPEC_VCVT_HF_S_N, UNSPEC_VCVT_HF_U_N, UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N, UNSPEC_VCVTH_S_N, UNSPEC_VCVTH_U_N, UNSPEC_VCVTH_S and UNSPEC_VCVTH_U. (vcvth_op): New. (fp16_rnd_str): New. (fp16_rnd_insn): New. * config/arm/unspecs.md (UNSPEC_VCVT_HF_S_N): New. (UNSPEC_VCVT_HF_U_N): New. (UNSPEC_VCVT_SI_S_N): New. (UNSPEC_VCVT_SI_U_N): New. (UNSPEC_VCVTH_S): New. (UNSPEC_VCVTH_U): New. (UNSPEC_VCVTA_S): New. (UNSPEC_VCVTA_U): New. (UNSPEC_VCVTM_S): New. (UNSPEC_VCVTM_U): New. (UNSPEC_VCVTN_S): New. (UNSPEC_VCVTN_U): New. (UNSPEC_VCVTP_S): New. (UNSPEC_VCVTP_U): New. (UNSPEC_VCVTP_S): New. (UNSPEC_VCVTP_U): New. (UNSPEC_VRND): New. (UNSPEC_VRNDA): New. (UNSPEC_VRNDI): New. (UNSPEC_VRNDM): New. (UNSPEC_VRNDN): New. (UNSPEC_VRNDP): New. (UNSPEC_VRNDX): New. * config/arm/vfp.md (<absneg_str>hf2): New. (neon_vabshf): New. (neon_v<fp16_rnd_str>hf): New. (neon_vrndihf): New. (addhf3): New. (subhf3): New. (divhf3): New. (mulhf3): New. (*mulsf3neghf_vfp): New. (*negmulhf3_vfp): New. (*mulsf3addhf_vfp): New. (*mulhf3subhf_vfp): New. (*mulhf3neghfaddhf_vfp): New. (*mulhf3neghfsubhf_vfp): New. (fmahf4): New. (neon_vfmahf): New. (fmsubhf4_fp16): New. (neon_vfmshf): New. (*fnmsubhf4): New. (*fnmaddhf4): New. (neon_vsqrthf): New. (neon_vrsqrtshf): New. (FCVT): Move to iterators.md. (FCVTI32typename): Likewise. (neon_vcvth<sup>hf): New. (neon_vcvth<sup>si): New. (neon_vcvth<sup>_nhf_unspec): New. (neon_vcvth<sup>_nhf): New. (neon_vcvth<sup>_nsi_unspec): New. (neon_vcvth<sup>_nsi): New. (neon_vcvt<vcvth_op>h<sup>si): New. (neon_<fmaxmin_op>hf): New. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2-fp16-arith-1.c: New. * gcc.target/arm/armv8_2-fp16-conv-1.c: New. From-SVN: r240411
2016-09-23 11:46:26 +02:00
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8_2-fp16-arith-1.c: New.
* gcc.target/arm/armv8_2-fp16-conv-1.c: New.
2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/rXsbg_mode_sXl.c: Adapt expected assembly
output to the simplified instructions.
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/armv8_2_fp16-move-1.c: New.
* gcc.target/arm/fp16-aapcs-1.c: Update expected output.
[PATCH 6/17][ARM] Add data processing intrinsics for float16_t. gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/arm.c (arm_evpc_neon_vuzp): Add support for V8HF and V4HF modes. (arm_evpc_neon_vtrn): Likewise. (arm_evpc_neon_vrev): Likewise. (arm_evpc_neon_vext): Likewise. * config/arm/arm_neon.h (vbsl_f16): New. (vbslq_f16): New. (vdup_n_f16): New. (vdupq_n_f16): New. (vdup_lane_f16): New. (vdupq_lane_f16): New. (vext_f16): New. (vextq_f16): New. (vmov_n_f16): New. (vmovq_n_f16): New. (vrev64_f16): New. (vrev64q_f16): New. (vtrn_f16): New. (vtrnq_f16): New. (vuzp_f16): New. (vuzpq_f16): New. (vzip_f16): New. (vzipq_f16): New. * config/arm/arm_neon_buillins.def (vdup_n): New (v8hf, v4hf variants). (vdup_lane): New (v8hf, v4hf variants). (vext): New (v8hf, v4hf variants). (vbsl): New (v8hf, v4hf variants). * config/arm/iterators.md (VDQWH): New. (VH): New. (V_double_vector_mode): Add V8HF and V4HF. Fix white-space. (Scalar_mul_8_16): Fix white-space. (Is_d_reg): Add V4HF and V8HF. * config/arm/neon.md (neon_vdup_lane<mode>_internal): New. (neon_vdup_lane<mode>): New. (neon_vtrn<mode>_internal): Replace VDQW with VDQWH. (*neon_vtrn<mode>_insn): Likewise. (neon_vzip<mode>_internal): Likewise. Also fix white-space. (*neon_vzip<mode>_insn): Likewise (neon_vuzp<mode>_internal): Likewise. (*neon_vuzp<mode>_insn): Likewise * config/arm/vec-common.md (vec_perm_const<mode>): New. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (FP16_SUPPORTED): New (expected-hfloat-16x4): Make conditional on __fp16 support. (expected-hfloat-16x8): Likewise. (vdup_n_f16): Disable for non-AArch64 targets. * gcc.target/aarch64/advsimd-intrinsics/vbsl.c: Add __fp16 tests, conditional on FP16_SUPPORTED. * gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vext.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrev.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Add support for testing __fp16. * gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Add __fp16 tests, conditional on FP16_SUPPORTED. * gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise. From-SVN: r240404
2016-09-23 11:23:01 +02:00
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h
(FP16_SUPPORTED): New
(expected-hfloat-16x4): Make conditional on __fp16 support.
(expected-hfloat-16x8): Likewise.
(vdup_n_f16): Disable for non-AArch64 targets.
* gcc.target/aarch64/advsimd-intrinsics/vbsl.c: Add __fp16 tests,
conditional on FP16_SUPPORTED.
* gcc.target/aarch64/advsimd-intrinsics/vdup-vmov.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vdup_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vext.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrev.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Add support
for testing __fp16.
* gcc.target/aarch64/advsimd-intrinsics/vtrn.c: Add __fp16 tests,
conditional on FP16_SUPPORTED.
* gcc.target/aarch64/advsimd-intrinsics/vuzp.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vzip.c: Likewise.
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/short-vfp-1.c: New.
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/attr-fp16-arith-1.c: New.
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* lib/target-supports.exp (add_options_for_arm_v8_2a_fp16_scalar):
New.
(add_options_for_arm_v8_2a_fp16_neon): New.
(check_effective_target_arm_arch_v8_2a_ok): Auto-generate.
(add_options_for_arm_arch_v8_2a): Auto-generate.
(check_effective_target_arm_arch_v8_2a_multilib): Auto-generate.
(check_effective_target_arm_v8_2a_fp16_scalar_ok_nocache): New.
(check_effective_target_arm_v8_2a_fp16_scalar_ok): New.
(check_effective_target_arm_v8_2a_fp16_neon_ok_nocache): New.
(check_effective_target_arm_v8_2a_fp16_neon_ok): New.
(check_effective_target_arm_v8_2a_fp16_scalar_hw): New.
(check_effective_target_arm_v8_2a_fp16_neon_hw): New.
[PATCH 2/17][Testsuite] Add a selector for ARM FP16 alternative format support. 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * doc/sourcebuild.texi (ARM-specific attributes): Add entries for arm_fp16_alternative_ok and arm_fp16_none_ok. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: Use arm_fp16_alternative_ok. * g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: Likewise. * gcc.dg/torture/arm-fp16-int-convert-alt.c: Likewise. * gcc/testsuite/gcc.dg/torture/arm-fp16-ops-3.c: Likewise. * gcc/testsuite/gcc.dg/torture/arm-fp16-ops-4.c: Likewise. * gcc.target/arm/fp16-compile-alt-1.c: Likewise. * gcc.target/arm/fp16-compile-alt-10.c: Likewise. * gcc.target/arm/fp16-compile-alt-11.c: Likewise. * gcc.target/arm/fp16-compile-alt-12.c: Likewise. * gcc.target/arm/fp16-compile-alt-2.c: Likewise. * gcc.target/arm/fp16-compile-alt-3.c: Likewise. * gcc.target/arm/fp16-compile-alt-4.c: Likewise. * gcc.target/arm/fp16-compile-alt-5.c: Likewise. * gcc.target/arm/fp16-compile-alt-6.c: Likewise. * gcc.target/arm/fp16-compile-alt-7.c: Likewise. * gcc.target/arm/fp16-compile-alt-8.c: Likewise. * gcc.target/arm/fp16-compile-alt-9.c: Likewise. * gcc.target/arm/fp16-compile-none-1.c: Use arm_fp16_none_ok. * gcc.target/arm/fp16-compile-none-2.c: Likewise. * gcc.target/arm/fp16-rounding-alt-1.c: Use arm_fp16_alternative_ok. * lib/target-supports.exp (check_effective_target_arm_fp16_alternative_ok_nocache): New. (check_effective_target_arm_fp16_alternative_ok): New. (check_effective_target_arm_fp16_none_ok_nocache): New. (check_effective_target_arm_fp16_none_ok): New. From-SVN: r240400
2016-09-23 10:52:55 +02:00
2016-09-23 Matthew Wahab <matthew.wahab@arm.com>
* g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: Use
arm_fp16_alternative_ok.
* g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: Likewise.
* gcc.dg/torture/arm-fp16-int-convert-alt.c: Likewise.
* gcc.dg/torture/arm-fp16-ops-3.c: Likewise.
* gcc.dg/torture/arm-fp16-ops-4.c: Likewise.
[PATCH 2/17][Testsuite] Add a selector for ARM FP16 alternative format support. 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * doc/sourcebuild.texi (ARM-specific attributes): Add entries for arm_fp16_alternative_ok and arm_fp16_none_ok. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * g++.dg/ext/arm-fp16/arm-fp16-ops-3.C: Use arm_fp16_alternative_ok. * g++.dg/ext/arm-fp16/arm-fp16-ops-4.C: Likewise. * gcc.dg/torture/arm-fp16-int-convert-alt.c: Likewise. * gcc/testsuite/gcc.dg/torture/arm-fp16-ops-3.c: Likewise. * gcc/testsuite/gcc.dg/torture/arm-fp16-ops-4.c: Likewise. * gcc.target/arm/fp16-compile-alt-1.c: Likewise. * gcc.target/arm/fp16-compile-alt-10.c: Likewise. * gcc.target/arm/fp16-compile-alt-11.c: Likewise. * gcc.target/arm/fp16-compile-alt-12.c: Likewise. * gcc.target/arm/fp16-compile-alt-2.c: Likewise. * gcc.target/arm/fp16-compile-alt-3.c: Likewise. * gcc.target/arm/fp16-compile-alt-4.c: Likewise. * gcc.target/arm/fp16-compile-alt-5.c: Likewise. * gcc.target/arm/fp16-compile-alt-6.c: Likewise. * gcc.target/arm/fp16-compile-alt-7.c: Likewise. * gcc.target/arm/fp16-compile-alt-8.c: Likewise. * gcc.target/arm/fp16-compile-alt-9.c: Likewise. * gcc.target/arm/fp16-compile-none-1.c: Use arm_fp16_none_ok. * gcc.target/arm/fp16-compile-none-2.c: Likewise. * gcc.target/arm/fp16-rounding-alt-1.c: Use arm_fp16_alternative_ok. * lib/target-supports.exp (check_effective_target_arm_fp16_alternative_ok_nocache): New. (check_effective_target_arm_fp16_alternative_ok): New. (check_effective_target_arm_fp16_none_ok_nocache): New. (check_effective_target_arm_fp16_none_ok): New. From-SVN: r240400
2016-09-23 10:52:55 +02:00
* gcc.target/arm/fp16-compile-alt-1.c: Likewise.
* gcc.target/arm/fp16-compile-alt-10.c: Likewise.
* gcc.target/arm/fp16-compile-alt-11.c: Likewise.
* gcc.target/arm/fp16-compile-alt-12.c: Likewise.
* gcc.target/arm/fp16-compile-alt-2.c: Likewise.
* gcc.target/arm/fp16-compile-alt-3.c: Likewise.
* gcc.target/arm/fp16-compile-alt-4.c: Likewise.
* gcc.target/arm/fp16-compile-alt-5.c: Likewise.
* gcc.target/arm/fp16-compile-alt-6.c: Likewise.
* gcc.target/arm/fp16-compile-alt-7.c: Likewise.
* gcc.target/arm/fp16-compile-alt-8.c: Likewise.
* gcc.target/arm/fp16-compile-alt-9.c: Likewise.
* gcc.target/arm/fp16-compile-none-1.c: Use arm_fp16_none_ok.
* gcc.target/arm/fp16-compile-none-2.c: Likewise.
* gcc.target/arm/fp16-rounding-alt-1.c: Use
arm_fp16_alternative_ok.
* lib/target-supports.exp
(check_effective_target_arm_fp16_alternative_ok_nocache): New.
(check_effective_target_arm_fp16_alternative_ok): New.
(check_effective_target_arm_fp16_none_ok_nocache): New.
(check_effective_target_arm_fp16_none_ok): New.
2016-09-23 Martin Liska <mliska@suse.cz>
* gcc.dg/ipa/pr77653.c: Replace adress
with address.
2016-09-23 Martin Liska <mliska@suse.cz>
* gcc.target/i386/movbe-4.c: New test.
2016-09-23 Martin Liska <mliska@suse.cz>
* gcc.target/i386/crc32-5.c: New test.
2016-09-23 Martin Liska <mliska@suse.cz>
* gcc.target/i386/pr71652.c: New test.
* gcc.target/i386/pr71652-2.c: New test.
* gcc.target/i386/pr71652-3.c: New test.
2016-09-23 Jakub Jelinek <jakub@redhat.com>
* lib/gcc-dg.exp (process-message): Support relative line number
notation - .+4 or .-1 etc.
* gcc.dg/dg-test-1.c: New test.
2016-09-22 Martin Sebor <msebor@redhat.com>
PR target/77676
* gcc.dg/tree-ssa/builtin-sprintf-1.c: Define and use wint_t.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: Fix typo.
* gcc.dg/tree-ssa/builtin-sprintf-3.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-5.c: New test.
2016-09-22 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/ifcvt-1.c: Compile also for 64-bit i?86-*-* target.
* gcc.dg/ifcvt-2.c: Ditto.
* gcc.dg/zero_bits_compound-1.c: Ditto.
* gcc.dg/zero_bits_compound-1.c: Ditto.
* gcc.dg/pr40550.c: Simplify target selectors.
Use dg-additional-options.
* gcc.dg/pr47893.c: Ditto.
* gcc.dg/pr68435.c: Compile also for i?86-*-* target. Add -march=i686
additional options for 32-bit x86 targets.
* gcc.dg/pr70955.c: Move to ...
* gcc.target/i386/pr70955.c: ... here. Simplify target selector.
2016-09-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61019
* g++.dg/cpp0x/pr61019.C: New.
2016-09-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
Terry Guo <terry.guo@arm.com>
* gcc.target/arm/pure-code/ffunction-sections.c: New.
* gcc.target/arm/pure-code/no-literal-pool.c: New.
* gcc.target/arm/pure-code/pure-code.exp: New.
2016-09-22 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/debug/dwarf2/const-2b.c: Also compile for x86_64-*-*.
Remove SSE effective target requirement.
2016-09-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71979
* g++.dg/cpp0x/pr71979.C: New.
2016-09-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
* g++.dg/pr77550.C: Use __SIZE_TYPE__.
2016-09-22 Martin Liska <mliska@suse.cz>
PR ipa/77653
* gcc.dg/ipa/pr77653.c: New test.
2016-09-22 Jakub Jelinek <jakub@redhat.com>
PR fortran/77665
* gfortran.dg/gomp/pr77665.f90: New test.
2016-09-22 Paul Thomas <pault@gcc.gnu.org>
* gfortran.dg/dtio_11.f90: Correct for changed error messages.
* gfortran.dg/dtio_13.f90: New test.
2016-09-21 Louis Krupp <louis.krupp@zoho.com>
PR fortran/66107
* gfortran.dg/pr66107.f90: New test.
compiler, runtime: replace hashmap code with Go 1.7 hashmap This change removes the gccgo-specific hashmap code and replaces it with the hashmap code from the Go 1.7 runtime. The Go 1.7 hashmap code is more efficient, does a better job on details like when to update a key, and provides some support against denial-of-service attacks. The compiler is changed to call the new hashmap functions instead of the old ones. The compiler now tracks which types are reflexive and which require updating when used as a map key, and records the information in map type descriptors. Map_index_expression is simplified. The special case for a map index on the right hand side of a tuple expression has been unnecessary for some time, and is removed. The support for specially marking a map index as an lvalue is removed, in favor of lowering an assignment to a map index into a function call. The long-obsolete support for a map index of a pointer to a map is removed. The __go_new_map_big function (known to the compiler as Runtime::MAKEMAPBIG) is no longer needed, as the new runtime.makemap function takes an int64 hint argument. The old map descriptor type and supporting expression is removed. The compiler was still supporting the long-obsolete syntax `m[k] = 0, false` to delete a value from a map. That is now removed, requiring a change to one of the gccgo-specific tests. The builtin len function applied to a map or channel p is now compiled as `p == nil ? 0 : *(*int)(p)`. The __go_chan_len function (known to the compiler as Runtime::CHAN_LEN) is removed. Support for a shared zero value for maps to large value types is introduced, along the lines of the gc compiler. The zero value is handled as a common variable. The hash function is changed to take a seed argument, changing the runtime hash functions and the compiler-generated hash functions. Unlike the gc compiler, both the hash and equal functions continue to take the type length. Types that can not be compared now store nil for the hash and equal functions, rather than pointing to functions that throw. Interface hash and comparison functions now check explicitly for nil. This matches the gc compiler and permits a simple implementation for ismapkey. The compiler is changed to permit marking struct and array types as incomparable, meaning that they have no hash or equal function. We use this for thunk types, removing the existing special code to avoid generating hash/equal functions for them. The C runtime code adds memclr, memequal, and memmove functions. The hashmap code uses go:linkname comments to make the functions visible, as otherwise the compiler would discard them. The hashmap code comments out the unused reference to the address of the first parameter in the race code, as otherwise the compiler thinks that the parameter escapes and copies it onto the heap. This is probably not needed when we enable escape analysis. Several runtime map tests that ere previously skipped for gccgo are now run. The Go runtime picks up type kind information and stubs. The type kind information causes the generated runtime header file to define some constants, including `empty`, and the C code is adjusted accordingly. A Go-callable version of runtime.throw, that takes a Go string, is added to be called from the hashmap code. Reviewed-on: https://go-review.googlesource.com/29447 * go.go-torture/execute/map-1.go: Replace old map deletion syntax with call to builtin delete function. From-SVN: r240334
2016-09-21 22:58:51 +02:00
2016-09-21 Ian Lance Taylor <iant@golang.org>
* go.go-torture/execute/map-1.go: Replace old map deletion syntax
with call to builtin delete function.
2016-09-21 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/torture/float128-tg-3.c, gcc.dg/torture/float128x-tg-3.c,
gcc.dg/torture/float16-tg-3.c, gcc.dg/torture/float32-tg-3.c,
gcc.dg/torture/float32x-tg-3.c, gcc.dg/torture/float64-tg-3.c,
gcc.dg/torture/float64x-tg-3.c, gcc.dg/torture/floatn-tg-3.h: New
tests.
2016-09-21 Uros Bizjak <ubizjak@gmail.com>
* gcc.c-torture/unsorted/dump-noaddr.x: Remove debug statements.
2016-09-21 Jakub Jelinek <jakub@redhat.com>
PR c++/77651
* g++.dg/cpp1z/aligned-new6.C: New test.
2016-09-21 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/fp16-aapcs-3.c: New.
* gcc.target/arm/fp16-aapcs-4.c: New.
* gcc.target/arm/aapcs/aapcs/vfp22.c: New.
* gcc.target/arm/aapcs/aapcs/vfp23.c: New.
* gcc.target/arm/aapcs/aapcs/vfp24.c: New.
* gcc.target/arm/aapcs/aapcs/vfp25.c: New.
2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR tree-optimization/77550
* g++.dg/pr77550.C: New test.
2016-09-21 Georg-Johann Lay <avr@gjlay.de>
PR target/77326
* gcc.target/avr/torture/pr77326.c: New test.
2016-09-21 Louis Krupp <louis.krupp@zoho.com>
* gfortran.dg/pr68078.f90: Run on x86_64_*_linux* only.
2016-09-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/77648
* gcc.dg/torture/pr77648-1.c: New testcase.
* gcc.dg/torture/pr77648-2.c: Likewise.
2016-09-21 Richard Biener <rguenther@suse.de>
Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/77621
* gcc.dg/pr77621.c: New testcase.
2016-09-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/77657
* gfortran.dg/dtio_12.f90: New test.
2016-09-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/tree-ssa/pr64130.c: Use __UINT32_TYPE__ instead of int.
2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
PR tree-optimization/72835
* gcc.dg/tree-ssa/pr72835.c: New test.
PR middle-end/49905 - Better sanity checking on sprintf src & dest to gcc/ChangeLog: PR middle-end/49905 * Makefile.in (OBJS): Add gimple-ssa-sprintf.o. * config/linux.h (TARGET_PRINTF_POINTER_FORMAT): Redefine. * config/linux.c (gnu_libc_printf_pointer_format): New function. * config/sol2.h (TARGET_PRINTF_POINTER_FORMAT): Same. * config/sol2.c (solaris_printf_pointer_format): New function. * doc/invoke.texi (-Wformat-length, -fprintf-return-value): New options. * doc/tm.texi.in (TARGET_PRINTF_POINTER_FORMAT): Document. * doc/tm.texi: Regenerate. * gimple-fold.h (get_range_strlen): New function. (get_maxval_strlen): Declare existing function. * gimple-fold.c (get_range_strlen): Add arguments and compute both maximum and minimum. (get_range_strlen): Define overload. (get_maxval_strlen): Adjust. * gimple-ssa-sprintf.c: New file and pass. * passes.def (pass_sprintf_length): Add new pass. * targhooks.h (default_printf_pointer_format): Declare new function. (gnu_libc_printf_pointer_format): Same. (solaris_libc_printf_pointer_format): Same. * targhooks.c (default_printf_pointer_format): Define new function. * tree-pass.h (make_pass_sprintf_length): Declare new function. * print-tree.c: Increase buffer size. gcc/c-family/ChangeLog: PR middle-end/49905 * c.opt: Add -Wformat-length and -fprintf-return-value. gcc/testsuite/ChangeLog: PR middle-end/49905 * gcc.dg/builtin-stringop-chk-1.c: Adjust. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: New test. * gcc.dg/tree-ssa/builtin-sprintf.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-2.c: New test. From-SVN: r240298
2016-09-21 03:39:27 +02:00
2016-09-20 Martin Sebor <msebor@redhat.com>
PR middle-end/49905
* gcc.dg/builtin-stringop-chk-1.c: Adjust.
* gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-warn-4.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf.c: New test.
* gcc.dg/tree-ssa/builtin-sprintf-2.c: New test.
2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/guality/pr54519-1.c: Add -fno-ipa-vrp. Else constant
arguments/compare will be optimized away.
* gcc.dg/torture/ftrapv-1.c: Likewise.
Add IPA VRP gcc/lto/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * lto-partition.c: Include tree-vrp.h. * lto.c: Likewise. gcc/testsuite/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * g++.dg/ipa/pure-const-3.C: Add -fno-ipa-vrp. Else constant arguments will be optimized away. * gcc.dg/ipa/vrp1.c: New test. * gcc.dg/ipa/vrp2.c: New test. * gcc.dg/ipa/vrp3.c: New test. gcc/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * common.opt: New option -fipa-vrp. * ipa-cp.c (ipa_get_vr_lat): New. (ipcp_vr_lattice::print): Likewise. (print_all_lattices): Call ipcp_vr_lattice::print. (ipcp_vr_lattice::meet_with): New. (ipcp_vr_lattice::meet_with_1): Likewise. (ipcp_vr_lattice::top_p): Likewise. (ipcp_vr_lattice::bottom_p): Likewsie. (ipcp_vr_lattice::set_to_bottom): Likewise. (set_all_contains_variable): Call VR set_to_bottom. (initialize_node_lattices): Init VR lattices. (propagate_vr_accross_jump_function): New. (propagate_constants_accross_call): Call propagate_vr_accross_jump_function. (ipcp_store_vr_results): New. (ipcp_driver): Handle VR. * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Handle VR. (ipa_set_jf_unknown): Likewise. (ipa_compute_jump_functions_for_edge): Likewise. (ipa_node_params_t::duplicate): Likewise. (ipa_write_jump_function): Likewise. (ipa_read_jump_function): Likewise. (write_ipcp_transformation_info): Likewise. (read_ipcp_transformation_info): Likewise. (ipcp_update_vr): New. (ipcp_transform_function): Handle VR. * ipa-prop.h (struct ipa_vr): New. * cgraph.c: Include tree-vrp.h. * cgraphunit.c: Likewise. * ipa-utils.c: Likewise. * ipa.c: Likewise. From-SVN: r240292
2016-09-21 01:29:05 +02:00
2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
* g++.dg/ipa/pure-const-3.C: Add -fno-ipa-vrp. Else constant arguments
will be optimized away.
* gcc.dg/ipa/vrp1.c: New test.
* gcc.dg/ipa/vrp2.c: New test.
* gcc.dg/ipa/vrp3.c: New test.
Add Early VRP gcc/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * doc/invoke.texi: Document -fdump-tree-evrp. * passes.def: Define new pass_early_vrp. * timevar.def: Define new TV_TREE_EARLY_VRP. * tree-pass.h (make_pass_early_vrp): New. * tree-ssa-propagate.c: Make replace_uses_in non static. * tree-ssa-propagate.h: Export replace_uses_in. * tree-vrp.c (extract_range_for_var_from_comparison_expr): New. (extract_range_from_assert): Factor out extract_range_for_var_from_comparison_expr. (vrp_initialize_lattice): New. (vrp_initialize): Factor out vrp_initialize_lattice. (vrp_valueize): Fix it to reject complex value ranges. (vrp_free_lattice): New. (evrp_dom_walker::before_dom_children): Likewise. (evrp_dom_walker::after_dom_children): Likewise. (evrp_dom_walker::push_value_range): Likewise. (evrp_dom_walker::pop_value_range): Likewise. (execute_early_vrp): Likewise. (execute_vrp): Call vrp_initialize_lattice and vrp_free_lattice. (make_pass_early_vrp): New. gcc/testsuite/ChangeLog: 2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org> * g++.dg/tree-ssa/pr31146-2.C: Run with -fno-tree-evrp as evrp also does the same transformation. * g++.dg/warn/pr33738.C: XFAIL as optimization now happens in ccp. * gcc.dg/tree-ssa/evrp1.c: New test. * gcc.dg/tree-ssa/evrp2.c: New test. * gcc.dg/tree-ssa/evrp3.c: New test. * gcc.dg/tree-ssa/pr20657.c: Check for the pattern in evrp dump. * gcc.dg/tree-ssa/pr22117.c: Likewise. * gcc.dg/tree-ssa/pr61839_2.c: Likewise. * gcc.dg/tree-ssa/pr64130.c: Likewise. * gcc.dg/tree-ssa/pr37508.c: Change the pattern to be checked as foling now happens early. * gcc.dg/tree-ssa/vrp04.c: Likewise. * gcc.dg/tree-ssa/vrp06.c: Likewise. * gcc.dg/tree-ssa/vrp16.c: Likewise. * gcc.dg/tree-ssa/vrp25.c: Likewise. * gcc.dg/tree-ssa/vrp67.c: Likewise. From-SVN: r240291
2016-09-21 01:23:55 +02:00
2016-09-21 Kugan Vivekanandarajah <kuganv@linaro.org>
* g++.dg/tree-ssa/pr31146-2.C: Run with -fno-tree-evrp as evrp also
does the same transformation.
* g++.dg/warn/pr33738.C: XFAIL as optimization now happens in ccp.
* gcc.dg/tree-ssa/evrp1.c: New test.
* gcc.dg/tree-ssa/evrp2.c: New test.
* gcc.dg/tree-ssa/evrp3.c: New test.
* gcc.dg/tree-ssa/pr20657.c: Check for the pattern in evrp dump.
* gcc.dg/tree-ssa/pr22117.c: Likewise.
* gcc.dg/tree-ssa/pr61839_2.c: Likewise.
* gcc.dg/tree-ssa/pr64130.c: Likewise.
* gcc.dg/tree-ssa/pr37508.c: Change the pattern to be checked as
foling now happens early.
* gcc.dg/tree-ssa/vrp04.c: Likewise.
* gcc.dg/tree-ssa/vrp06.c: Likewise.
* gcc.dg/tree-ssa/vrp16.c: Likewise.
* gcc.dg/tree-ssa/vrp25.c: Likewise.
* gcc.dg/tree-ssa/vrp67.c: Likewise.
2016-09-20 Uros Bizjak <ubizjak@gmail.com>
PR target/77621
* gcc.target/i386/pr77621.c: New test.
* gcc.target/i386/vect-double-2.c: Update scan-tree-dump-times
pattern, loop should vectorize with -mtune=atom.
2016-09-20 Maxim Ostapenko <m.ostapenko@samsung.com>
Jakub Jelinek <jakub@redhat.com>
PR testsuite/63299
* g++.old-deja/g++.jason/init3.C (My_string::~My_string): Use delete[]
instead of delete.
2016-09-20 Jakub Jelinek <jakub@redhat.com>
PR c++/77626
* g++.dg/other/pr77626.C: New test.
PR c++/77638
* g++.dg/cpp0x/udlit-tmpl-arg-neg2.C: New test.
PR c++/77637
* g++.dg/cpp0x/gen-attrs-62.C: New test.
PR middle-end/77624
* c-c++-common/pr77624-1.c: New test.
* c-c++-common/pr77624-2.c: New test.
2016-09-20 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_allocate_7.f08: Using + instead of fixed number
of digits expected.
2016-09-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/77646
* gcc.dg/torture/pr77646.c: New testcase.
2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77434
* c-c++-common/Wint-in-bool-context.c: New test.
2016-09-19 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/cr-decimal-dig-1.c: New test.
Make max_align_t respect _Float128. The _FloatN, _FloatNx, _DecimalN and _DecimalNx types are specified in such a way that they are basic types, meaning that max_align_t must be at least as aligned as those types. On 32-bit x86, max_align_t is currently 8-byte aligned, but _Decimal128 and _Float128 are 16-byte aligned, so the alignment of max_align_t needs to increase to meet the standard requirements for these types. This patch implements such an increase. Because max_align_t needs to be usable for C++ as well as for C, <stddef.h> can't actually refer to _Float128, but needs to use __float128 (or some other notation for the type) instead. And since __float128 is architecture-specific, there isn't a preprocessor conditional that means "__float128 is available" (whereas one could test __FLT128_MANT_DIG__ to see if _Float128 is available; __SIZEOF_FLOAT128__ is available on x86 only). But I believe the only case that actually has an alignment problem here is 32-bit x86, and <stddef.h> already has lots of conditional specific to particular architectures or OSes, so this patch uses a conditional on __i386__; that also is the minimal change that ensures neither size nor alignment of max_align_t is changed in any case other than where it is necessary. If any other architectures turn out to have such an issue, it will show up as failures of one of the testcases added by this patch. Such an increase is of course an ABI change, but a reasonably safe one, in that max_align_t doesn't tend to appear in library interfaces (rather, it's something to use when writing allocators and similar code; most matches found on codesearch.debian.net look like copies of the gnulib stddef.h module rather than anything actually using max_align_t at all). max_align_t_align has a corresponding change (adding _Float128 to the types considered). (I think glibc malloc alignment should also increase to 16-byte on 32-bit x86 so it works for allocating objects of these types, which is now straightforward given the fix made for 32-bit powerpc.) Bootstrapped with no regressions on x86_64-pc-linux-gnu, and spot-tested with -m32 that the new float128-align.c test now compiles where previously it didn't. gcc: * ginclude/stddef.h (max_align_t) [__i386__]: Add __float128 element. gcc/c-family: * c-common.c (max_align_t_align): Also consider alignment of float128_type_node. gcc/testsuite: * gcc.dg/float128-align.c, gcc.dg/float128x-align.c, gcc.dg/float16-align.c, gcc.dg/float32-align.c, gcc.dg/float32x-align.c, gcc.dg/float64-align.c, gcc.dg/float64x-align.c, gcc.dg/floatn-align.h: New tests. From-SVN: r240248
2016-09-19 23:51:56 +02:00
2016-09-19 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/float128-align.c, gcc.dg/float128x-align.c,
gcc.dg/float16-align.c, gcc.dg/float32-align.c,
gcc.dg/float32x-align.c, gcc.dg/float64-align.c,
gcc.dg/float64x-align.c, gcc.dg/floatn-align.h: New tests.
2016-09-19 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/77416
* gcc.target/powerpc/pr77416.c: New.
2016-09-19 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/77639
* g++.dg/template/error-recovery4.C: New test.
2016-09-19 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/pr57558-1.c: Use unsigned int instead of unsigned long.
2016-09-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/gtu_to_ltu_cmp_1.c: New test.
* gcc.target/aarch64/gtu_to_ltu_cmp_2.c: New test.
2016-09-19 Jakub Jelinek <jakub@redhat.com>
Jan Hubicka <jh@suse.cz>
PR target/77587
* gcc.dg/pr77587.c: New test.
* gcc.dg/pr77587a.c: New file.
libcaf.h: Add caf_reference_type. libgfortran/ChangeLog: 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org> * caf/libcaf.h: Add caf_reference_type. * caf/mpi.c: Adapted signature of caf_register(). * caf/single.c (struct caf_single_token): Added to keep the pointer to the memory registered and array descriptor. (caf_internal_error): Added convenience interface. (_gfortran_caf_register): Adapted to work with caf_single_token and return memory in the array descriptor. (_gfortran_caf_deregister): Same. (assign_char1_from_char4): Fixed style. (convert_type): Fixed incorrect conversion. (_gfortran_caf_get): Adapted to work with caf_single_token. (_gfortran_caf_send): Same. (_gfortran_caf_sendget): Same. (copy_data): Added to stop repeating it in all _by_ref functions. (get_for_ref): Recursive getting of coarray data using a chain of references. (_gfortran_caf_get_by_ref): Driver for computing the memory needed for the get and checking properties of the operation. (send_by_ref): Same as get_for_ref but for sending data. (_gfortran_caf_send_by_ref): Same like caf_get_by_ref but for sending. (_gfortran_caf_sendget_by_ref): Uses get_by_ref and send_by_ref to implement sendget for reference chains. (_gfortran_caf_atomic_define): Adapted to work with caf_single_token. (_gfortran_caf_atomic_ref): Likewise. (_gfortran_caf_atomic_cas): Likewise. (_gfortran_caf_atomic_op): Likewise. (_gfortran_caf_event_post): Likewise. (_gfortran_caf_event_wait): Likewise. (_gfortran_caf_event_query): Likewise. (_gfortran_caf_lock): Likewise. (_gfortran_caf_unlock): Likewise. gcc/testsuite/ChangeLog: 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray/alloc_comp_4.f90: New test. * gfortran.dg/coarray_38.f90: * gfortran.dg/coarray_alloc_comp_1.f08: New test. * gfortran.dg/coarray_alloc_comp_2.f08: New test. * gfortran.dg/coarray_allocate_7.f08: New test. * gfortran.dg/coarray_allocate_8.f08: New test. * gfortran.dg/coarray_allocate_9.f08: New test. * gfortran.dg/coarray_lib_alloc_1.f90: Adapted scan-tree-dumps to expect new caf_register. * gfortran.dg/coarray_lib_alloc_2.f90: Same. * gfortran.dg/coarray_lib_alloc_3.f90: Same. * gfortran.dg/coarray_lib_comm_1.f90: Adapted scan-tree-dumps to expect get_by_refs. * gfortran.dg/coarray_lib_token_3.f90: Same as for coarray_lib_alloc2. * gfortran.dg/coarray_lock_7.f90: Same. * gfortran.dg/coarray_poly_5.f90: Same. * gfortran.dg/coarray_poly_6.f90: Same. * gfortran.dg/coarray_poly_7.f90: Same. * gfortran.dg/coarray_poly_8.f90: Same. * gfortran.dg/coindexed_1.f90: Changed errors expected. gcc/fortran/ChangeLog: 2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org> * expr.c (gfc_check_assign): Added flag to control whether datatype conversion is allowed. * gfortran.h: Added caf-token-tree to gfc_component. Changed prototypes mostly to add whether datatype conversion is allowed. * gfortran.texi: Added documentation for the caf_reference_t and the caf_*_by_ref function. * primary.c (caf_variable_attr): Similar to gfc_variable_attr but focused on the needs of coarrays. (gfc_caf_attr): Same. * resolve.c (resolve_ordinary_assign): Set the conversion allowed flag when not in a coarray. * trans-array.c (gfc_array_init_size): Moved setting of array descriptor's datatype before the alloc, because caf_register needs it. (gfc_array_allocate): Changed notion of whether an array is a coarray. (gfc_array_deallocate): Same. (gfc_alloc_allocatable_for_assignment): Added setting of coarray's array descriptor datatype before the register. And using deregister/ register to mimmick a realloc for coarrays. * trans-decl.c (gfc_build_builtin_function_decls): Corrected signatures of old caf-functions and added signature definitions of the _by_ref ones. (generate_coarray_sym_init): Adapted to new caf_register signature. * trans-expr.c (gfc_conv_scalar_to_descriptor): Make sure a constant is translated to an lvalue expression before use in an array descriptor. (gfc_get_ultimate_alloc_ptr_comps_caf_token): New function. Get the last allocatable component's coarray token. (gfc_get_tree_for_caf_expr): For top-level object get the coarray token and check for unsupported features. (gfc_get_caf_token_offset): Getting the offset might procude new statements, which now are stored in the pre and post of the current se. (gfc_caf_get_image_index): For this image return a call to caf_this_image. (expr_may_alias_variables): Check that the result is set for testing its properties. (alloc_scalar_allocatable_for_assignment): Added auto allocation of coarray components. (gfc_trans_assignment_1): Rewrite an assign to a coarray object to be a sendget. * trans-intrinsic.c (conv_caf_vector_subscript_elem): Corrected wrong comment. (compute_component_offset): Compute the correct offset a structure member. (conv_expr_ref_to_caf_ref): Convert to a chain of refs into caf_references. (gfc_conv_intrinsic_caf_get): Call caf_get_by_ref instead of caf_get. (conv_caf_send): Call caf_*_by_ref for coarrays that need reallocation. (gfc_conv_intrinsic_function): Adapted to new signuature of the caf drivers. (conv_intrinsic_atomic_op): Add pre and post statements correctly. (conv_intrinsic_atomic_ref): Same. (conv_intrinsic_atomic_cas): Same. (conv_intrinsic_event_query): Same. * trans-stmt.c (gfc_trans_lock_unlock): Same. (gfc_trans_event_post_wait): Same. (gfc_trans_allocate): Support allocation of allocatable coarrays. (gfc_trans_deallocate): And there deallocation. * trans-types.c (gfc_typenode_for_spec): Added flag to control whether a component is part of coarray. When so, then add space to store a coarray token. (gfc_build_array_type): Same. (gfc_get_array_descriptor_base): Same. (gfc_get_array_type_bounds): Same. (gfc_sym_type): Same. (gfc_get_derived_type): Same. (gfc_get_caf_reference_type): Declare the caf_reference_type. * trans-types.h: Prototype changes only. * trans.c (gfc_allocate_using_lib): Use the updated caf_register signature. (gfc_allocate_allocatable): Same. (gfc_deallocate_with_status): Same. * trans.h: Defined the runtime types for caf_reference_t and the enums. From-SVN: r240231
2016-09-19 15:45:40 +02:00
2016-09-19 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray/alloc_comp_4.f90: New test.
* gfortran.dg/coarray_38.f90:
* gfortran.dg/coarray_alloc_comp_1.f08: New test.
* gfortran.dg/coarray_alloc_comp_2.f08: New test.
* gfortran.dg/coarray_allocate_7.f08: New test.
* gfortran.dg/coarray_allocate_8.f08: New test.
* gfortran.dg/coarray_allocate_9.f08: New test.
* gfortran.dg/coarray_lib_alloc_1.f90: Adapted scan-tree-dumps to expect
new caf_register.
* gfortran.dg/coarray_lib_alloc_2.f90: Same.
* gfortran.dg/coarray_lib_alloc_3.f90: Same.
* gfortran.dg/coarray_lib_comm_1.f90: Adapted scan-tree-dumps to expect
get_by_refs.
* gfortran.dg/coarray_lib_token_3.f90: Same as for coarray_lib_alloc2.
* gfortran.dg/coarray_lock_7.f90: Same.
* gfortran.dg/coarray_poly_5.f90: Same.
* gfortran.dg/coarray_poly_6.f90: Same.
* gfortran.dg/coarray_poly_7.f90: Same.
* gfortran.dg/coarray_poly_8.f90: Same.
* gfortran.dg/coindexed_1.f90: Changed errors expected.
2016-09-19 Fritz Reese <fritzoreese@gmail.com>
PR fortran/77584
* gfortran.dg/dec_structure_15.f90: New testcase.
2016-09-19 Richard Biener <rguenther@suse.de>
PR middle-end/77605
* gcc.dg/torture/pr77605.c: New testcase.
2016-09-18 Louis Krupp <louis.krupp@zoho.com>
* gfortran.dg/pr68078.f90: XFAIL run on Darwin
2016-09-17 Jan Hubicka <hubicka@ucw.cz>
* g++.dg/predict-loop-exit-1.C: Disable early jump threading.
* g++.dg/predict-loop-exit-2.C: Disable early jump threading.
* g++.dg/predict-loop-exit-3.C: Disable early jump threading.
* gcc.dg/tree-ssa/pr69196-1.c: Disable early jump threading.
* gcc.dg/tree-ssa/vrp01.c: Disable early jump threading.
* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Disable early jump threading.
* gcc.dg/tree-ssa/pr68198.c: Scan ethread dump.
* gcc.dg/tree-ssa/ssa-thread-13.c: Scan ethread dump.
* gcc.dg/tree-ssa/vrp56.c: Scan ethread dump.
* gcc.dg/tree-ssa/vrp92.c: Scan ethread dump.
* gcc.dg/uninit-15.c: Swap xfailed and non-xfailed alternative.
2016-09-18 Kirill Yukhin <kirill.yukhin@gmaile.com>
* gcc.target/i386/pr68633.c: Fix expected result.
2016-09-17 Louis Krupp <louis.krupp@gmail.com>
PR fortran/68078
* gfortran.dg/pr68078.f90: New test.
* gfortran.dg/set_vm_limit.c: New, called by pr68078.
2016-09-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/77613
* gcc.target/powerpc/swaps-p8-25.c: New.
2016-09-16 Jakub Jelinek <jakub@redhat.com>
PR c++/77482
* g++.dg/cpp0x/constexpr-77482.C: New test.
PR c++/77379
* g++.dg/abi/abi-tag23.C: Adjust scan-assembler regex for differing
thunk offsets.
* g++.dg/abi/abi-tag23a.C: Likewise.
PR c++/77338
* g++.dg/cpp0x/decltype-77338.C: New test.
PR c++/77375
* g++.dg/cpp0x/mutable1.C: New test.
2016-09-16 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77612
* gfortran.dg/pr77612.f90: New test.
2016-09-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/pr70421.c: Require int32plus.
2016-09-16 Jakub Jelinek <jakub@redhat.com>
PR middle-end/77475
* gcc.target/i386/pr65990.c: Adjust dg-error regexp.
PR target/77526
* gcc.target/i386/pr77526.c: New test.
2016-09-16 Jakub Jelinek <jakub@redhat.com>
Eric Botcazou <ebotcazou@adacore.com>
PR middle-end/77594
* gcc.target/i386/pr77594.c: New test.
2016-09-15 Louis Krupp <louis.krupp@zoho.com>
PR fortran/69963
* gfortran.dg/misplaced_implicit_character.f90: New test.
2016-09-15 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/77503
* gcc.dg/vect/pr77503.c: New test.
2016-09-15 Richard Biener <rguenther@suse.de>
PR middle-end/77544
* c-c++-common/torture/pr77544.c: New testcase.
2016-09-15 Jakub Jelinek <jakub@redhat.com>
PR middle-end/77475
* gcc.target/i386/pr65990.c: Adjust expected diagnostics.
* gcc.dg/march-generic.c: Likewise.
* gcc.target/i386/spellcheck-options-1.c: New test.
* gcc.target/i386/spellcheck-options-2.c: New test.
* gcc.target/i386/spellcheck-options-3.c: New test.
* gcc.target/i386/spellcheck-options-4.c: New test.
2016-09-15 Chung-Lin Tang <cltang@codesourcery.com>
PR fortran/72743
* gfortran.dg/goacc/pr72743.f90: New test.
2016-09-15 Richard Biener <rguenther@suse.de>
* gcc.dg/fold-reassoc-2.c: Fix dump scan.
2016-09-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/77514
* gcc.dg/torture/pr77514.c: New testcase.
2016-09-14 Jakub Jelinek <jakub@redhat.com>
PR c++/77549
* g++.dg/lookup/pr77549.C: New test.
2016-09-14 Marek Polacek <polacek@redhat.com>
* c-c++-common/gomp/atomic-12.c: Use -Wno-deprecated.
* c-c++-common/gomp/atomic-13.c: Likewise.
* c-c++-common/gomp/atomic-14.c: Likewise.
* g++.dg/cpp1y/lambda-init11.C: Remove invalid code.
* g++.dg/cpp1z/bool-increment1.C: New test.
* c-c++-common/pr60439.c: Add dg-warning.
* g++.dg/expr/bitfield4.C: Likewise.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
* g++.dg/expr/bool1.C: Likewise.
* g++.dg/expr/bool3.C: Likewise.
* g++.dg/expr/lval3.C: Likewise.
* g++.dg/expr/lval4.C: Likewise.
* g++.old-deja/g++.jason/bool5.C: Likewise.
* g++.dg/expr/bitfield3.C: Adjust dg-error.
* g++.dg/other/error18.C: Likewise.
* g++.dg/gomp/atomic-14.C: Likewise.
2016-09-14 Nathan Sidwell <nathan@acm.org>
PR c++/77539
* g++.dg/cpp1y/pr77539.C: New.
Fix dg-require before dg-run directives in testsuite. libstdc++-v3/ChangeLog: 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Move dg-do directive before dg-skip. * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Move dg-do directive before dg-require. * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise. * testsuite/27_io/objects/char/12048-5.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. gcc/testsuite/ChangeLog: 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> * g++.dg/cpp0x/lambda/lambda-mangle.C: Move dg-do directive before dg-require. * g++.dg/ext/builtin_alloca.C: Likewise. * g++.dg/template/spec35.C: Likewise. * gcc.dg/builtins-68.c: Likewise. * gcc.misc-tests/gcov-13.c: Likewise. * gcc.misc-tests/gcov-14.c: Likewise. From-SVN: r240135
2016-09-14 15:37:23 +02:00
2016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
* g++.dg/cpp0x/lambda/lambda-mangle.C: Move dg-do directive before
dg-require.
* g++.dg/ext/builtin_alloca.C: Likewise.
* g++.dg/template/spec35.C: Likewise.
* gcc.dg/builtins-68.c: Likewise.
* gcc.misc-tests/gcov-13.c: Likewise.
* gcc.misc-tests/gcov-14.c: Likewise.
2016-09-13 Jim MacArthur <jim.macarthur@codethink.co.uk>
* gfortran.dg/dec_structure_14.f90: New testcase.
2016-09-14 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/68260
* c-c++-common/tsan/pr68260.c: New test.
2016-09-13 Joe Seymour <joe.s@somniumtech.com>
PR target/70713
* gcc.target/msp430/function-attributes-1.c: New test.
* gcc.target/msp430/function-attributes-2.c: New test.
* gcc.target/msp430/function-attributes-3.c: New test.
2015-04-18 Martin Sebor <msebor@redhat.com>
* gfortran.dg/pr32627.f03 (strptr): Change size to match the number
of non-nul characters.
* gfortran.dg/substr_6.f90: Make the NUL character visible on stdout
2016-09-13 Jakub Jelinek <jakub@redhat.com>
* g++.dg/cpp0x/gen-attrs-61.C: New test.
* g++.dg/cpp1z/gen-attrs1.C: New test.
PR tree-optimization/77454
* gcc.dg/pr77454.c: New test.
PR c++/77553
* g++.dg/cpp1y/constexpr-77553.C: New test.
fix-it hints: insert_before vs insert_after The API for adding "insert text" fix-it hints was unclear about exactly where the text should be inserted relative to the given insertion point. This patch clarifies things by renaming the pertinent methods from richloc.add_fixit_insert to richloc.add_fixit_insert_before and adding: richloc.add_fixit_insert_after The latter allows us to consolidate some failure-handling into class rich_location, rather than having to have every such diagnostic check for it. The patch also adds a description of how fix-it hints work to the comment for class rich_location within libcpp/include/line-map.h. gcc/c-family/ChangeLog: * c-common.c (warn_logical_not_parentheses): Replace rich_location::add_fixit_insert calls with add_fixit_insert_before and add_fixit_insert_after, eliminating the "next_loc" calculation. gcc/c/ChangeLog: * c-parser.c (c_parser_declaration_or_fndef): Update for renaming of add_fixit_insert to add_fixit_insert_before. gcc/cp/ChangeLog: * parser.c (cp_parser_class_specifier_1): Update for renaming of add_fixit_insert to add_fixit_insert_before. (cp_parser_class_head): Likewise. gcc/ChangeLog: * diagnostic-show-locus.c (selftest::test_one_liner_fixit_insert): Rename to... (selftest::test_one_liner_fixit_insert_before): ...this, and update for renaming of add_fixit_insert to add_fixit_insert_before. (selftest::test_one_liner_fixit_insert_after): New function. (selftest::test_one_liner_fixit_validation_adhoc_locations): Update for renaming of add_fixit_insert to add_fixit_insert_before. (selftest::test_one_liner_many_fixits): Likewise. (selftest::test_diagnostic_show_locus_one_liner): Update for renaming, call new test function. (selftest::test_diagnostic_show_locus_fixit_lines): Update for renaming of add_fixit_insert to add_fixit_insert_before. (selftest::test_fixit_consolidation): Likewise. * diagnostic.c (selftest::test_print_parseable_fixits_insert): Likewise. * edit-context.c (selftest::test_applying_fixits_insert): Rename to... (selftest::test_applying_fixits_insert_before): ...this. (selftest::test_applying_fixits_insert): Update for renaming of add_fixit_insert to add_fixit_insert_before. (selftest::test_applying_fixits_insert_after): New function. (selftest::test_applying_fixits_insert_after_at_line_end): New function. (selftest::test_applying_fixits_insert_after_failure): New function. (selftest::test_applying_fixits_multiple): Update for renaming of add_fixit_insert to add_fixit_insert_before. (selftest::change_line): Likewise. (selftest::test_applying_fixits_unreadable_file): Likewise. (selftest::test_applying_fixits_line_out_of_range): Likewise. (selftest::test_applying_fixits_column_validation): Likewise. (selftest::test_applying_fixits_column_validation): Likewise. (selftest::edit_context_c_tests): Update for renamed test function; call new test functions. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (test_show_locus): Replace rich_location::add_fixit_insert calls with add_fixit_insert_before and add_fixit_insert_after. libcpp/ChangeLog: * include/line-map.h (class rich_location): Add description of fix-it hints to leading comment. (rich_location::add_fixit_insert): Rename both overloaded methods to.. (rich_location::add_fixit_insert_before): ...this, updating their comments. (rich_location::add_fixit_insert_after): Two new overloaded methods. (rich_location::stop_supporting_fixits): New method. * line-map.c (rich_location::add_fixit_insert): Rename both overloaded methods to.. (rich_location::add_fixit_insert_before): ...this, updating their comments. (rich_location::add_fixit_insert_after): Two new methods. (rich_location::reject_impossible_fixit): Split out failure-handling into... (rich_location::stop_supporting_fixits): New method. From-SVN: r240115
2016-09-13 18:08:59 +02:00
2016-09-13 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Replace rich_location::add_fixit_insert calls
with add_fixit_insert_before and add_fixit_insert_after.
2016-09-13 Jason Merrill <jason@redhat.com>
Tom de Vries <tom@codesourcery.com>
PR c++/77427
* g++.dg/pr77427.C: New test.
2016-09-13 Martin Liska <mliska@suse.cz>
* g++.dg/gcov/gcov-threads-1.C: Use profile_update_atomic
effective target.
* gcc.dg/tree-prof/val-profiler-threads-1.c: Likewise.
* lib/target-supports.exp: Define the new target.
2016-09-12 Andrew Pinski <apinski@cavium.com>
* gcc.target/aarch64/thunderxloadpair.c: New testcase.
* gcc.target/aarch64/thunderxnoloadpair.c: New testcase.
2016-09-12 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/compat/scalar-by-value-4_x.c: Also test passing of
variable arguments.
* gcc.dg/compat/scalar-by-value-4_y.c (testva##NAME): New.
* gcc.dg/compat/scalar-by-value-4_main.c: Update description comment.
* gcc.dg/compat/scalar-return-4_x.c: Also test returning of
variable argument.
* gcc.dg/compat/scalar-return-4_y.c (testva##NAME): New.
* gcc.dg/compat/scalar-return-4_main.c: Update description comment.
2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/77496
* c-c++-common/warn-ommitted-condop.c: Add more test cases.
* g++.dg/ext/pr77496.C: New test.
* g++.dg/warn/pr77496.C: New test.
Fix suggestions for non-trivial Wformat type cases (PR c/72858) gcc/c-family/ChangeLog: PR c/72858 * c-format.c (argument_parser::check_argument_type): Add params "type_start" and "conversion_char". Use the former to generate offset_to_type_start and pass it and conversion_char to check_format_types. (check_format_info_main): Capture the start of the type information as "type_start", and pass it an format_char to arg_parser.check_argument_type. (check_format_types): Provide an example in the leading comment. Add params "offset_to_type_start" and "conversion_char"; pass them to format_type_warning calls. (test_get_modifier_for_format_len): Likewise. (matching_type_p): New function. (get_format_for_type): Add param "conversion_char" and move implementation into... (get_format_for_type_1): ...new function, called twice. Use new function matching_type_p rather than checking for TYPE_CANONICAL equality. (get_corrected_substring): New function. (format_type_warning): Provide an example in the leading comment. Add params "offset_to_type_start" and "conversion_char". Replace call to get_format_for_type with call to get_corrected_substring and move rejection of hints for widths/precisions there. (assert_format_for_type_streq): Add param "conversion_char". (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR. (test_get_format_for_type_printf): Add conversion chars to the tests, adding coverage for various combinations of integer vs double conversions, and for preserving octal and hexadecimal conversions. (test_get_format_for_type_scanf): Add conversion chars to the tests. gcc/testsuite/ChangeLog: PR c/72858 * gcc.dg/format/diagnostic-ranges.c: Update expected suggestions to preserve conversion chars, and to preserve prefix information. * gcc.dg/format/pr72858.c: New test case. From-SVN: r240095
2016-09-12 18:01:02 +02:00
2016-09-12 David Malcolm <dmalcolm@redhat.com>
PR c/72858
* gcc.dg/format/diagnostic-ranges.c: Update expected suggestions
to preserve conversion chars, and to preserve prefix information.
* gcc.dg/format/pr72858.c: New test case.
2016-09-11 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/pr77507.f90: Move to ...
* gfortran.dg/ieee/pr77507.f90: here.
2016-08-09 Jan Hubicka <hubicka@ucw.cz>
PR ipa/61159
* compile/pr61159.c: New testcase
2016-08-09 Jan Hubicka <hubicka@ucw.cz>
PR ipa/64316
* gcc.dg/ipa/pr63416.c: New testcase.
2016-09-10 Paul Thomas <pault@gcc.gnu.org>
Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77532
2016-09-10 23:20:12 +02:00
* gfortran.dg/dtio_11.f90: new test.
2016-09-10 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77507
* gfortran.dg/c_assoc_2.f03: Update error message for revision 240050
* gfortran.dg/c_assoc_4.f90: Ditto.
2016-09-10 Tom de Vries <tom@codesourcery.com>
PR C/71602
* c-c++-common/va-arg-va-list-type.c: New test.
2016-09-09 Peter Bergner <bergner@vnet.ibm.com>
PR rtl-optimization/77289
* gcc.target/powerpc/pr77289.c: New test.
2016-09-09 Martin Sebor <msebor@redhat.com>
PR c/77520
PR c/77521
* gcc.dg/pr77520.c: New test.
* gcc.dg/pr77521.c: New test.
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77506
* gfortran.dg/pr77506.f90: New test.
2016-09-09 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77507
* gfortran.dg/pr77507.f90: New test.
Define TS 18661-1 type width macros in <limits.h> and <stdint.h>. TS 18661-1 defines <limits.h> and <stdint.h> macros for widths of standard integer types and the typedefs defined in, or whose limits are defined in, <stdint.h>. (The connection to the main floating-point subject matter of TS 18661-1 is that these are intended to be used with the fromfp functions to convert from floating point to integer types of any width in any rounding direction, though these macros may be of more general use.) This patch implements support for these macros in GCC's <limits.h> and <stdint.h>. To avoid needing to implement fixincludes for system headers where GCC wraps the system libc's <stdint.h> in hosted mode, the test for the <stdint.h> macros uses -ffreestanding (I'll add the macros to glibc's headers separately) - but as usual for new features in these headers, platforms (primarily OpenBSD) that use USER_H to avoid using GCC's headers at all will have failures until the system headers have the feature added or appropriate fixincludes are implemented. The header macros are implemented using appropriate new predefined macros, with the code avoiding defining more such macros than necessary (so one predefined macro suffices for corresponding signed and unsigned types, while no such predefined macros are needed for the exact-width types such as int8_t). Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * doc/cpp.texi (__SCHAR_WIDTH__, __SHRT_WIDTH__, __INT_WIDTH__) (__LONG_WIDTH__, __LONG_LONG_WIDTH__, __PTRDIFF_WIDTH__) (__SIG_ATOMIC_WIDTH__, __SIZE_WIDTH__, __WCHAR_WIDTH__) (__WINT_WIDTH__, __INT_LEAST8_WIDTH__, __INT_LEAST16_WIDTH__) (__INT_LEAST32_WIDTH__, __INT_LEAST64_WIDTH__) (__INT_FAST8_WIDTH__, __INT_FAST16_WIDTH__, __INT_FAST32_WIDTH__) (__INT_FAST64_WIDTH__, __INTPTR_WIDTH__, __INTMAX_WIDTH__): Document. * ginclude/stdint-gcc.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Define width macros from TS 18661-1. * glimits.h [__STDC_WANT_IEC_60559_BFP_EXT__]: Likewise. gcc/c-family: * c-cppbuiltin.c (builtin_define_type_width): New function. (builtin_define_stdint_macros, c_cpp_builtins): Define type width macros. gcc/testsuite: * gcc.dg/limits-width-1.c, gcc.dg/stdint-width-1.c: New tests. From-SVN: r240048
2016-09-09 18:59:43 +02:00
2016-09-09 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/limits-width-1.c, gcc.dg/stdint-width-1.c: New tests.
2016-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
Louis Krupp <lkrupp@gcc.gnu.org>
PR fortran/69514
* gfortran.dg/pr69514_1.f90: New test.
* gfortran.dg/pr69514_2.f90: New test.
2016-09-08 Jakub Jelinek <jakub@redhat.com>
PR fortran/77500
* gfortran.dg/gomp/pr77500.f90: New test.
PR fortran/77516
* gfortran.dg/gomp/pr77516.f90: New test.
2016-09-07 Jakub Jelinek <jakub@redhat.com>
PR middle-end/77475
* gcc.target/aarch64/arch-diagnostics-1.c: Expect error on line 0.
* gcc.target/aarch64/arch-diagnostics-2.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-1.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-2.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-3.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-4.c: Likewise.
Move class substring_loc from c-family into gcc gcc/ChangeLog: * Makefile.in (OBJS): Add substring-locations.o. * langhooks-def.h (class substring_loc): New forward decl. (lhd_get_substring_location): New decl. (LANG_HOOKS_GET_SUBSTRING_LOCATION): New macro. (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_GET_SUBSTRING_LOCATION. * langhooks.c (lhd_get_substring_location): New function. * langhooks.h (class substring_loc): New forward decl. (struct lang_hooks): Add field get_substring_location. * substring-locations.c: New file, taking definition of format_warning_va and format_warning_at_substring from c-family/c-format.c, making them non-static. * substring-locations.h (class substring_loc): Move class here from c-family/c-common.h. Add and rewrite comments. (format_warning_va): New decl. (format_warning_at_substring): New decl. (get_source_location_for_substring): Add comment. gcc/c-family/ChangeLog: * c-common.c (get_cpp_ttype_from_string_type): Handle being passed a POINTER_TYPE. (substring_loc::get_location): Move to substring-locations.c, keeping implementation as... (c_get_substring_location): New function, from the above, reworked to use accessors rather than member lookup. * c-common.h (class substring_loc): Move to substring-locations.h, replacing with a forward decl. (c_get_substring_location): New decl. * c-format.c: Include "substring-locations.h". (format_warning_va): Move to substring-locations.c. (format_warning_at_substring): Likewise. gcc/c/ChangeLog: * c-lang.c (LANG_HOOKS_GET_SUBSTRING_LOCATION): Use c_get_substring_location for this new langhook. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Include "substring-locations.h". From-SVN: r240028
2016-09-07 18:56:23 +02:00
2016-09-07 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Include
"substring-locations.h".
2016-09-07 Richard Biener <rguenther@suse.de>
PR c/77450
* c-c++-common/vector-subscript-8.c: Move ..
* gcc.dg/pr77450.c: ... here.
2016-09-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77393
* gfortran.dg/fmt_f0_2.f90: Update test.
* gfortran.dg/fmt_f0_3.f90: New test.
2016-09-07 Dominique d'Humieres <dominiq@lps.ens.fr>
PR debug/77389
* g++.dg/debug/dwarf2/template-params-12g.C: Pass -gno-strict-dwarf
in dg-options.
PR debug/57519
* g++.dg/debug/dwarf2/imported-decl-2.C: Likewise.
2016-09-06 Jakub Jelinek <jakub@redhat.com>
PR target/69255
* gcc.target/i386/pr69255-1.c: New test.
* gcc.target/i386/pr69255-2.c: New test.
* gcc.target/i386/pr69255-3.c: New test.
2016-09-06 Martin Sebor <msebor@redhat.com>
PR c/77336
* gcc.dg/format/miss-7.c: New test.
2016-09-06 Uros Bizjak <ubizjak@gmail.com>
* gfortran.dg/c_by_val_1.f: Correct the call to c_to_c and c_to_c8.
2016-09-06 Martin Liska <mliska@suse.cz>
PR gcov-profile/77378
PR gcov-profile/77466
* gcc.dg/profile-update-warning.c: New test.
2016-09-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/77479
* gcc.dg/torture/pr77479.c: New testcase.
2016-09-06 Richard Biener <rguenther@suse.de>
PR c/77450
* c-c++-common/vector-subscript-7.c: Adjust.
* c-c++-common/vector-subscript-8.c: New testcase.
2016-09-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/Wno-frame-address.c: Skip for avr-*-*.
2016-09-05 Jakub Jelinek <jakub@redhat.com>
PR target/77476
* gcc.target/i386/avx512f-pr77476.c: New test.
* gcc.target/i386/avx512bw-pr77476.c: New test.
* gcc.target/i386/avx512dq-pr77476.c: New test.
* lib/target-supports.exp (check_effective_target_vect_simd_clones):
Update comment to mention also avx512f.
PR sanitizer/77396
* g++.dg/asan/pr77396-2.C: New test.
2016-09-05 Uros Bizjak <ubizjak@gmail.com>
PR rtl-optimization/77452
* gcc.target/i386/pr77452.c: New test.
2016-09-05 Marek Polacek <polacek@redhat.com>
PR c/77423
* c-c++-common/Wlogical-not-parentheses-3.c: New test.
2016-09-04 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77391
* gfortran.dg/pr77391.f90: New test.
2016-09-04 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77460
* gfortran.dg/pr77460.f90: New test.
2016-09-03 Jakub Jelinek <jakub@redhat.com>
PR c/65467
* gcc.dg/gomp/_Atomic-4.c: Require vect_simd_clones effective target.
2016-09-02 Kirill Yukhin <kirill.yukhin@gmaile.com>
* gcc.target/i386/avx512f-klogic-2.c: Fix operand calculation order.
2016-09-02 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-show-locus-generate-patch.c: New
test case.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic-test-show-locus-generate-patch.c to the sources
for diagnostic_plugin_test_show_locus.c.
2016-09-02 Jakub Jelinek <jakub@redhat.com>
re PR c/65467 ([libgomp] sorry, unimplemented: '_Atomic' with OpenMP) PR c/65467 * gimplify.c (gimplify_adjust_omp_clauses_1): Diagnose implicit map and firstprivate clauses on target construct for _Atomic qualified decls. (gimplify_adjust_omp_clauses): Diagnose explicit firstprivate clauses on target construct for _Atomic qualified decls. * omp-low.c (use_pointer_for_field): Return true for _Atomic qualified decls. * omp-simd-clone.c (simd_clone_clauses_extract): Warn and give up for _Atomic qualified arguments not mentioned in uniform clause. c/ * c-parser.c (c_parser_declspecs): Don't sorry about _Atomic if flag_openmp. (c_parser_omp_variable_list): Use convert_lvalue_to_rvalue instead of mark_exp_read on low_bound/length expression. (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_threads, c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize, c_parser_omp_clause_priority, c_parser_omp_clause_hint, c_parser_omp_clause_num_workers, c_parser_oacc_shape_clause, c_parser_oacc_clause_tile, c_parser_omp_clause_schedule, c_parser_omp_clause_vector_length, c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit, c_parser_omp_clause_aligned, c_parser_omp_clause_linear, c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen, c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule): Use convert_lvalue_to_rvalue instead of mark_expr_read. (c_parser_omp_declare_reduction): Reject _Atomic qualified types. * c-objc-common.h (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): Redefine. * c-tree.h (c_omp_clause_copy_ctor): New prototype. * c-typeck.c (handle_omp_array_sections_1): Diagnose _Atomic qualified array section bases outside of depend clause, for depend clause use convert_lvalue_to_rvalue on the base. (c_finish_omp_clauses): Reject _Atomic qualified vars in reduction, linear, aligned, map, to and from clauses. (c_omp_clause_copy_ctor): New function. c-family/ * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions. (c_finish_omp_for): Reject _Atomic qualified iterators. testsuite/ * gcc.dg/gomp/_Atomic-1.c: New test. * gcc.dg/gomp/_Atomic-2.c: New test. * gcc.dg/gomp/_Atomic-3.c: New test. * gcc.dg/gomp/_Atomic-4.c: New test. * gcc.dg/gomp/_Atomic-5.c: New test. From-SVN: r239964
2016-09-02 20:38:07 +02:00
PR c/65467
* gcc.dg/gomp/_Atomic-1.c: New test.
* gcc.dg/gomp/_Atomic-2.c: New test.
* gcc.dg/gomp/_Atomic-3.c: New test.
* gcc.dg/gomp/_Atomic-4.c: New test.
* gcc.dg/gomp/_Atomic-5.c: New test.
PR sanitizer/77396
* g++.dg/asan/pr77396.C: New test.
2016-09-01 Martin Sebor <msebor@redhat.com>
PR tree-optimization/71831
* gcc.dg/builtin-object-size-16.c: New test.
* gcc.dg/builtin-object-size-17.c: New test.
2016-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77393
* gfortran.dg/fmt_f0_2.f90: Update tests for available kinds.
2016-09-01 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/float128-builtin.c, gcc.dg/torture/float128-floath.c,
gcc.dg/torture/float128-ieee-nan.c, gcc.dg/torture/float128-tg-2.c,
gcc.dg/torture/float128-tg.c, gcc.dg/torture/float128x-builtin.c,
gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float128x-nan.c,
gcc.dg/torture/float128x-tg-2.c, gcc.dg/torture/float128x-tg.c,
gcc.dg/torture/float16-builtin.c, gcc.dg/torture/float16-floath.c,
gcc.dg/torture/float16-nan.c, gcc.dg/torture/float16-tg-2.c,
gcc.dg/torture/float16-tg.c, gcc.dg/torture/float32-builtin.c,
gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32-nan.c,
gcc.dg/torture/float32-tg-2.c, gcc.dg/torture/float32-tg.c,
gcc.dg/torture/float32x-builtin.c, gcc.dg/torture/float32x-floath.c,
gcc.dg/torture/float32x-nan.c, gcc.dg/torture/float32x-tg-2.c,
gcc.dg/torture/float32x-tg.c, gcc.dg/torture/float64-builtin.c,
gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64-nan.c,
gcc.dg/torture/float64-tg-2.c, gcc.dg/torture/float64-tg.c,
gcc.dg/torture/float64x-builtin.c, gcc.dg/torture/float64x-floath.c,
gcc.dg/torture/float64x-nan.c, gcc.dg/torture/float64x-tg-2.c,
gcc.dg/torture/float64x-tg.c: Use dg-add-options ieee.
2016-09-01 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt58.adb: New test.
* gnat.dg/opt58_pkg.ads: New helper.
2016-09-01 Richard Biener <rguenther@suse.de>
PR middle-end/77436
* gcc.dg/torture/pr77436.c: New testcase.
2016-09-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/pr64252.c: Require int32plus.
* gcc.dg/pr66299-1.c: Likewise.
* gcc.dg/pr66299-2.c: Likewise.
* gcc.dg/torture/20131115-1.c: Skip for avr.
2016-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ands_3.c: New test.
2016-08-31 Jakub Jelinek <jakub@redhat.com>
PR fortran/77352
* gfortran.dg/gomp/pr77352.f90: New test.
PR fortran/77374
* gfortran.dg/gomp/pr77374.f08: New test.
2016-08-31 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/73714
* gcc.dg/tree-ssa/pr73714.c: New test.
2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77393
* gfortran.dg/fmt_f0_2.f90: New test.
2016-08-31 Marc Glisse <marc.glisse@inria.fr>
* gcc.target/i386/pr59539-2.c: Adapt options.
* gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm.
2016-08-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/77418
* gfortran.dg/dtio_5.f90: Remove the non-standard deallocation
of the associate entity and replace with a pointer to the
intended item on the stack.
[multiple changes] 2016-08-31 Paul Thomas <pault@gcc.gnu.org> Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/48298 * decl.c (access_attr_decl): Include case INTERFACE_DTIO as appropriate. * gfortran.h : Add INTRINSIC_FORMATTED and INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO to interface type. Add new enum 'dtio_codes'. Add bitfield 'has_dtio_procs' to symbol_attr. Add prototypes 'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'. * interface.c (dtio_op): New function. (gfc_match_generic_spec): Match generic DTIO interfaces. (gfc_match_interface): Treat DTIO interfaces in the same way as (gfc_current_interface_head): Add INTERFACE_DTIO appropriately. (check_dtio_arg_TKR_intent): New function. (check_dtio_interface1): New function. (gfc_check_dtio_interfaces): New function. (gfc_find_specific_dtio_proc): New function. * io.c : Add FMT_DT to format_token. (format_lex): Handle DTIO formatting. * match.c (gfc_op2string): Add DTIO operators. * resolve.c (derived_inaccessible): Ignore pointer components to enclosing derived type. (resolve_transfer): Resolve transfers that involve DTIO. procedures. Find the specific subroutine for the transfer and use its existence to over-ride some of the constraints on derived types. If the transfer is recursive, require that the subroutine be so qualified. (dtio_procs_present): New function. (resolve_fl_namelist): Remove inhibition of polymorphic objects in namelists if DTIO read and write subroutines exist. Likewise for derived types. (resolve_types): Invoke 'gfc_verify_dtio_procedures'. * symbol.c : Set 'dtio_procs' using 'minit'. * trans-decl.c (gfc_finish_var_decl): If a derived-type/class object is associated with DTIO procedures, make it TREE_STATIC. * trans-expr.c (gfc_get_vptr_from_expr): If the expression drills down to a PARM_DECL, extract the vptr correctly. (gfc_conv_derived_to_class): Check 'info' in the test for 'useflags'. If the se expression exists and is a pointer, use it as the class _data. * trans-io.c : Add IOCALL_X_DERIVED to iocall and the function prototype. Likewise for IOCALL_SET_NML_DTIO_VAL. (set_parameter_tree): Renamed from 'set_parameter_const', now returns void and has new tree argument. Calls modified to match new interface. (transfer_namelist_element): Transfer DTIO procedure pointer and vpointer using the new function IOCALL_SET_NML_DTIO_VAL. (get_dtio_proc): New function. (transfer_expr): Add new argument for the vptr field of class objects. Add the code to call the specific DTIO proc, convert derived types to class and call IOCALL_X_DERIVED. (trans_transfer): Add BT_CLASS to structures for treatment by the scalarizer. Obtain the vptr for the dynamic type, both for scalar and array transfer. 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR libgfortran/48298 * gfortran.map : Flag _st_set_nml_dtio_var and _gfortran_transfer_derived. * io/format.c (format_lex): Detect DTIO formatting. (parse_format_list): Parse the DTIO format. (next_format): Include FMT_DT. * io/format.h : Likewise. Add structure 'udf' to structure 'fnode' to carry the IOTYPE string and the 'vlist'. * io/io.h : Add prototypes for the two types of DTIO subroutine and a typedef for gfc_class. Also, add to 'namelist_type' fields for the pointer to the DTIO procedure and the vtable. Add fields to struct st_parameter_dt for pointers to the two types of DTIO subroutine. Add to gfc_unit DTIO specific fields. (internal_proto): Add prototype for 'read_user_defined' and 'write_user_defined'. * io/list_read.c (check_buffers): Use the 'current_unit' field. (unget_char): Likewise. (eat_spaces): Likewise. (list_formatted_read_scalar): For case BT_CLASS, call the DTIO procedure. (nml_get_obj_data): Likewise when DTIO procedure is present,. * io/transfer.c : Export prototypes for 'transfer_derived' and 'transfer_derived_write'. (unformatted_read): For case BT_CLASS, call the DTIO procedure. (unformatted_write): Likewise. (formatted_transfer_scalar_read): Likewise. (formatted_transfer_scalar_write: Likewise. (transfer_derived): New function. (data_transfer_init): Set last_char if no child_dtio. (finalize_transfer): Return if child_dtio set. (st_write_done): Add condition for child_dtio not set. Add extra arguments for st_set_nml_var prototype. (set_nml_var): New function that contains the contents of the old version of st_set_nml_var. Also sets the 'dtio_sub' and 'vtable' fields of the 'nml' structure. (st_set_nml_var): Now just calls set_nml_var with 'dtio_sub' and 'vtable' NULL. (st_set_nml_dtio_var): New function that calls set_nml_var. * io/unit.c (get_external_unit): If the found unit child_dtio is non zero, don't do any mutex locking/unlocking. Just return the unit. * io/unix.c (tempfile_open): Revert to C style comment. * io/write.c (list_formatted_write_scalar): Do the DTIO call. (nml_write_obj): Add BT_CLASS and do the DTIO call. 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR fortran/48298 * gfortran.dg/dtio_1.f90: New test. * gfortran.dg/dtio_2.f90: New test. * gfortran.dg/dtio_3.f90: New test. * gfortran.dg/dtio_4.f90: New test. * gfortran.dg/dtio_5.f90: New test. * gfortran.dg/dtio_6.f90: New test. * gfortran.dg/dtio_7.f90: New test. * gfortran.dg/dtio_8.f90: New test. * gfortran.dg/dtio_9.f90: New test. * gfortran.dg/dtio_10.f90: New test. From-SVN: r239880
2016-08-31 07:36:22 +02:00
2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Paul Thomas <pault@gcc.gnu.org>
[multiple changes] 2016-08-31 Paul Thomas <pault@gcc.gnu.org> Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/48298 * decl.c (access_attr_decl): Include case INTERFACE_DTIO as appropriate. * gfortran.h : Add INTRINSIC_FORMATTED and INTRINSIC_UNFORMATTED to gfc_intrinsic_op. Add INTERFACE_DTIO to interface type. Add new enum 'dtio_codes'. Add bitfield 'has_dtio_procs' to symbol_attr. Add prototypes 'gfc_check_dtio_interfaces' and 'gfc_find_specific_dtio_proc'. * interface.c (dtio_op): New function. (gfc_match_generic_spec): Match generic DTIO interfaces. (gfc_match_interface): Treat DTIO interfaces in the same way as (gfc_current_interface_head): Add INTERFACE_DTIO appropriately. (check_dtio_arg_TKR_intent): New function. (check_dtio_interface1): New function. (gfc_check_dtio_interfaces): New function. (gfc_find_specific_dtio_proc): New function. * io.c : Add FMT_DT to format_token. (format_lex): Handle DTIO formatting. * match.c (gfc_op2string): Add DTIO operators. * resolve.c (derived_inaccessible): Ignore pointer components to enclosing derived type. (resolve_transfer): Resolve transfers that involve DTIO. procedures. Find the specific subroutine for the transfer and use its existence to over-ride some of the constraints on derived types. If the transfer is recursive, require that the subroutine be so qualified. (dtio_procs_present): New function. (resolve_fl_namelist): Remove inhibition of polymorphic objects in namelists if DTIO read and write subroutines exist. Likewise for derived types. (resolve_types): Invoke 'gfc_verify_dtio_procedures'. * symbol.c : Set 'dtio_procs' using 'minit'. * trans-decl.c (gfc_finish_var_decl): If a derived-type/class object is associated with DTIO procedures, make it TREE_STATIC. * trans-expr.c (gfc_get_vptr_from_expr): If the expression drills down to a PARM_DECL, extract the vptr correctly. (gfc_conv_derived_to_class): Check 'info' in the test for 'useflags'. If the se expression exists and is a pointer, use it as the class _data. * trans-io.c : Add IOCALL_X_DERIVED to iocall and the function prototype. Likewise for IOCALL_SET_NML_DTIO_VAL. (set_parameter_tree): Renamed from 'set_parameter_const', now returns void and has new tree argument. Calls modified to match new interface. (transfer_namelist_element): Transfer DTIO procedure pointer and vpointer using the new function IOCALL_SET_NML_DTIO_VAL. (get_dtio_proc): New function. (transfer_expr): Add new argument for the vptr field of class objects. Add the code to call the specific DTIO proc, convert derived types to class and call IOCALL_X_DERIVED. (trans_transfer): Add BT_CLASS to structures for treatment by the scalarizer. Obtain the vptr for the dynamic type, both for scalar and array transfer. 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR libgfortran/48298 * gfortran.map : Flag _st_set_nml_dtio_var and _gfortran_transfer_derived. * io/format.c (format_lex): Detect DTIO formatting. (parse_format_list): Parse the DTIO format. (next_format): Include FMT_DT. * io/format.h : Likewise. Add structure 'udf' to structure 'fnode' to carry the IOTYPE string and the 'vlist'. * io/io.h : Add prototypes for the two types of DTIO subroutine and a typedef for gfc_class. Also, add to 'namelist_type' fields for the pointer to the DTIO procedure and the vtable. Add fields to struct st_parameter_dt for pointers to the two types of DTIO subroutine. Add to gfc_unit DTIO specific fields. (internal_proto): Add prototype for 'read_user_defined' and 'write_user_defined'. * io/list_read.c (check_buffers): Use the 'current_unit' field. (unget_char): Likewise. (eat_spaces): Likewise. (list_formatted_read_scalar): For case BT_CLASS, call the DTIO procedure. (nml_get_obj_data): Likewise when DTIO procedure is present,. * io/transfer.c : Export prototypes for 'transfer_derived' and 'transfer_derived_write'. (unformatted_read): For case BT_CLASS, call the DTIO procedure. (unformatted_write): Likewise. (formatted_transfer_scalar_read): Likewise. (formatted_transfer_scalar_write: Likewise. (transfer_derived): New function. (data_transfer_init): Set last_char if no child_dtio. (finalize_transfer): Return if child_dtio set. (st_write_done): Add condition for child_dtio not set. Add extra arguments for st_set_nml_var prototype. (set_nml_var): New function that contains the contents of the old version of st_set_nml_var. Also sets the 'dtio_sub' and 'vtable' fields of the 'nml' structure. (st_set_nml_var): Now just calls set_nml_var with 'dtio_sub' and 'vtable' NULL. (st_set_nml_dtio_var): New function that calls set_nml_var. * io/unit.c (get_external_unit): If the found unit child_dtio is non zero, don't do any mutex locking/unlocking. Just return the unit. * io/unix.c (tempfile_open): Revert to C style comment. * io/write.c (list_formatted_write_scalar): Do the DTIO call. (nml_write_obj): Add BT_CLASS and do the DTIO call. 2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> Paul Thomas <pault@gcc.gnu.org> PR fortran/48298 * gfortran.dg/dtio_1.f90: New test. * gfortran.dg/dtio_2.f90: New test. * gfortran.dg/dtio_3.f90: New test. * gfortran.dg/dtio_4.f90: New test. * gfortran.dg/dtio_5.f90: New test. * gfortran.dg/dtio_6.f90: New test. * gfortran.dg/dtio_7.f90: New test. * gfortran.dg/dtio_8.f90: New test. * gfortran.dg/dtio_9.f90: New test. * gfortran.dg/dtio_10.f90: New test. From-SVN: r239880
2016-08-31 07:36:22 +02:00
PR fortran/48298
* gfortran.dg/dtio_1.f90: New test.
* gfortran.dg/dtio_2.f90: New test.
* gfortran.dg/dtio_3.f90: New test.
* gfortran.dg/dtio_4.f90: New test.
* gfortran.dg/dtio_5.f90: New test.
* gfortran.dg/dtio_6.f90: New test.
* gfortran.dg/dtio_7.f90: New test.
* gfortran.dg/dtio_8.f90: New test.
* gfortran.dg/dtio_9.f90: New test.
* gfortran.dg/dtio_10.f90: New test.
Remove arbitrary limits from rich_location This patch eliminates the hard-coded limits within rich_location (up to 3 ranges, up to 2 fixits). The common case is still handled by embedding the values inside rich_location - it only uses dynamic allocation if these limits are exceeded, so creation of rich_location instances on the stack should still be fast. This is implemented via a new container class, semi_embedded_vec <T, N>. gcc/ChangeLog: * diagnostic-show-locus.c (colorizer::begin_state): Support more than 3 ranges per diagnostic by alternating between color 1 and color 2. (layout::layout): Replace use of rich_location::MAX_RANGES with richloc->get_num_locations (). (layout::calculate_line_spans): Replace use of rich_location::MAX_RANGES with m_layout_ranges.length (). (layout::print_annotation_line): Handle arbitrary numbers of ranges in caret-printing by defaulting to '^'. (selftest::test_one_liner_many_fixits): New function. (test_diagnostic_show_locus_one_liner): Call it. * diagnostic.c (diagnostic_initialize): Update for renaming of rich_location::MAX_RANGES to rich_location::STATICALLY_ALLOCATED_RANGES. * diagnostic.h (struct diagnostic_context): Likewise. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-bw.c (test_many_nested_locations): New function. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (test_show_locus): Handle "test_many_nested_locations". libcpp/ChangeLog: * include/line-map.h (class semi_embedded_vec): New class. (semi_embedded_vec<T, NUM_EMBEDDED>::semi_embedded_vec): New ctor. (semi_embedded_vec<T, NUM_EMBEDDED>::~semi_embedded_vec): New dtor. (semi_embedded_vec<T, NUM_EMBEDDED>::operator[]): New methods. (semi_embedded_vec<T, NUM_EMBEDDED>::push): New method. (semi_embedded_vec<T, NUM_EMBEDDED>::truncate): New method. (rich_location::get_num_locations): Reimplement in terms of m_ranges. (rich_location::get_range): Make non-inline. (rich_location::get_num_fixit_hints): Reimplement in terms of m_fixit_hints. (rich_location::add_fixit): New function. (rich_location::MAX_RANGES): Rename to... (rich_location::STATICALLY_ALLOCATED_RANGES): ...this. (rich_location::MAX_FIXIT_HINTS): Rename to... (rich_location::STATICALLY_ALLOCATED_RANGES): ...this, and make private. (rich_location::m_num_ranges): Eliminate in favor of... (rich_location::m_ranges): ...this, converting from a fixed-size array to a semi_embedded_vec. (rich_location::m_num_fixit_hints): Eliminate in favor of... (rich_location::m_fixit_hints): ...this, converting from a fixed-size array to a semi_embedded_vec. * line-map.c (rich_location::rich_location): Update for above changes. (rich_location::~rich_location): Likewise. (rich_location::get_loc): Likewise. (rich_location::get_range): New methods. (rich_location::add_range): Update for above changes. (rich_location::set_range): Likewise. (rich_location::add_fixit_insert): Likewise. (rich_location::add_fixit_replace): Likewise. (rich_location::get_last_fixit_hint): Likewise. (rich_location::reject_impossible_fixit): Likewise. (rich_location::add_fixit): New method. From-SVN: r239879
2016-08-31 02:35:01 +02:00
2016-08-30 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
(test_many_nested_locations): New function.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Handle "test_many_nested_locations".
2016-08-30 David Malcolm <dmalcolm@redhat.com>
* g++.dg/template/double-greater-than-fixit.C: New test case.
2016-08-30 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt57.ad[sb]: New test.
* gnat.dg/opt57_pkg.ads: New helper.
2016-08-30 Richard Biener <rguenther@suse.de>
PR tree-optimization/69047
* gcc.dg/pr69047.c: Fix byte-order check.
2016-08-30 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/72866
* gcc.dg/vect/pr72866.c: New test.
PR debug/77363
* g++.dg/debug/dwarf2/pr77363.C: New test.
PR middle-end/77377
* gcc.target/i386/pr77377.c: New test.
PR debug/77389
* g++.dg/debug/dwarf2/template-params-12f.C: Pass -gno-strict-dwarf
in dg-options.
2016-08-29 Steven G. Kargl <kargl@gcc.gnu.org>
* gfortran.dg/pr77372.f90: Moved to ...
* gfortran.dg/ieee/pr77372.f90: here.
2016-08-29 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-init-4.c: New runtime tests for various
vector short/char initializations.
* gcc.target/powerpc/vec-init-5.c: Likewise.
* gcc.target/powerpc/vec-init-6.c: New compile time test for
vector initialization optimizations.
* gcc.target/powerpc/vec-init-7.c: Likewise.
* gcc.target/powerpc/vec-init-8.c: New runtime tests for various
vector float/double initializations.
* gcc.target/powerpc/vec-init-9.c: Likewise.
2016-08-29 Uros Bizjak <ubizjak@gmail.com>
PR target/77403
* gcc.target/i386/pr77403.c: New test.
2016-08-29 Marek Polacek <polacek@redhat.com>
PR c/77292
* c-c++-common/Wlogical-not-parentheses-1.c: New test.
2016-08-29 Tom de Vries <tom@codesourcery.com>
PR c/77398
* g++.dg/ext/va-arg1.C: Add error check for illegal first argument.
2016-08-29 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/ipa/iinline-attr.c: XFAIL on Visium.
2016-08-29 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_structure_13.f90: New testcase.
2016-08-29 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/77261
* gfortran.dg/random_3.f90: Run testcase only when real(10) is
available.
2016-08-28 Tom de Vries <tom@codesourcery.com>
PR lto/70955
* gcc.dg/pr70955.c: New test.
* gcc.dg/lto/pr70955_0.c: Same.
* gcc.dg/lto/pr70955_1.c: Same.
2016-08-27 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/71077
* gcc.target/i386/pr71077.c: New test.
2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77380
* gfortran.dg/pr77380.f90: New test.
2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77372
gfortran.dg/pr77372.f90: New test.
Add validation and consolidation of fix-it hints The first aspect of this patch is to add some checking of fix-it hints. The idea is to put this checking within the rich_location machinery, rather than requiring every diagnostic to implement it for itself. The fixits within a rich_location are "atomic": all must be valid for any to be applicable. We reject any fixits involving locations above LINE_MAP_MAX_LOCATION_WITH_COLS. There's no guarantee that it's sane to modify a macro, so we reject any fix-its that touch them. For example, note the attempt to provide a fix-it for the definition of the macro FIELD: spellcheck-fields-2.c: In function ‘test_macro’: spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’? #define FIELD colour ^ color spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’ return ptr->FIELD; ^~~~~ After this patch, the fixit is not displayed: spellcheck-fields-2.c: In function ‘test_macro’: spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’? #define FIELD colour ^ spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’ return ptr->FIELD; ^~~~~ We might want some way for a diagnostic to opt-in to fix-its that affect macros, but for now it's simplest to reject them. The other aspect of this patch is fix-it consolidation: in some cases neighboring fix-its can be merged. For example, in a diagnostic to modernize old-style struct initializers from: struct s example = { - foo: 1, + .foo = 1, }; one approach would be to replace the "foo" with ".foo" and the ":" with " =". This would give two "replace" fix-its: foo: 1, --- FIXIT 1 .foo - FIXIT 2 = This patch allows them to be consolidated into a single "replace" fix-it: foo: 1, ---- .foo = gcc/ChangeLog: * diagnostic-show-locus.c (selftest::test_fixit_consolidation): New function. (selftest::diagnostic_show_locus_c_tests): Call it. * gcc-rich-location.h (gcc_rich_location): Eliminate unused constructor based on source_range. gcc/testsuite/ChangeLog: * gcc.dg/spellcheck-fields-2.c (test): Move dg-begin/end-multiline-output within function body. (test_macro): New function. libcpp/ChangeLog: * include/line-map.h (rich_location): Eliminate unimplemented constructor based on source_range. (rich_location::get_last_fixit_hint): New method. (rich_location::reject_impossible_fixit): New method. (rich_location): Add fields m_line_table and m_seen_impossible_fixit. (fixit_hint::maybe_append_replace): New pure virtual function. (fixit_insert::maybe_append_replace): New function. (fixit_replace::maybe_append_replace): New function. * line-map.c (rich_location::rich_location): Initialize m_line_table and m_seen_impossible_fixit. (rich_location::add_fixit_insert): Call reject_impossible_fixit and bail out if true. (column_before_p): New function. (rich_location::add_fixit_replace): Call reject_impossible_fixit and bail out if true. Attempt to consolidate with neighboring fixits. (rich_location::get_last_fixit_hint): New method. (rich_location::reject_impossible_fixit): New method. (fixit_insert::maybe_append_replace): New method. (fixit_replace::maybe_append_replace): New method. From-SVN: r239789
2016-08-26 23:25:41 +02:00
2016-08-26 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/spellcheck-fields-2.c (test): Move
dg-begin/end-multiline-output within function body.
(test_macro): New function.
Tweak to colors of fix-it hints Previous, fix-it hints were printed using the color of the severity of the diagnostic (magenta for warnings, red for errors, cyan for notes). This patch updates fix-it hints so that replacement text is printed in green, to better distinguish the suggested improvement from the current code. For example: spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'? return ptr->colour; <<< RED ^~~~~~ <<< RED color <<< GREEN It makes sense for the underlinings that indicate deletions to be printed in red, so the patch changes that also. For example: diagnostic-test-show-locus-color.c:179:9: warning: example of a removal hint int a;; <<< MAGENTA ^ <<< MAGENTA - <<< RED gcc/ChangeLog: * diagnostic-color.c (color_dict): Add "fixit-insert" and "fixit-delete". (parse_gcc_colors): Update description of default GCC_COLORS. * diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete. (colorizer::set_fixit_insert): New method. (colorizer::set_fixit_delete): New method. (colorizer::get_color_by_name): New method. (colorizer::STATE_FIXIT_INSERT): New constant. (colorizer::STATE_FIXIT_DELETE): New constant. (class colorizer): Drop "_cs" suffix from fields. Delete "_ce" fields in favor of new field "m_stop_color". Add fields "m_fixit_insert" and "m_fixit_delete". (colorizer::colorizer): Update for above changes. Replace colorize_start calls with calls to get_color_by_name. (colorizer::begin_state): Handle STATE_FIXIT_INSERT and STATE_FIXIT_DELETE. Update for field renamings. (colorizer::finish_state): Simplify by using m_stop_color, rather than multiple identical "*_ce" fields. (colorizer::get_color_by_name): New method. (layout::print_any_fixits): Print insertions and replacements using the "fixit-insert" color, and deletions using the "fixit-delete" color. * doc/invoke.texi (-fdiagnostics-color): Update description of default GCC_COLORS, and of the supported capabilities. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-color.c (test_fixit_insert): Update expected output. (test_fixit_remove): Likewise. (test_fixit_replace): Likewise. From-SVN: r239787
2016-08-26 19:59:08 +02:00
2016-08-26 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-show-locus-color.c
(test_fixit_insert): Update expected output.
(test_fixit_remove): Likewise.
(test_fixit_replace): Likewise.
2016-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/ipa/propbits-2.c: Add -fdump-tree-optimized to dg-options.
Fix typo.
2016-08-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/69047
* gcc.dg/pr69047.c: New testcase.
Patch for performing interprocedural bitwise constant propagation. 2016-08-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> Martin Jambhor <mjambor@suse.cz> * common.opt: New option -fipa-bit-cp. * doc/invoke.texi: Document -fipa-bit-cp. * opts.c (default_options_table): Add entry for -fipa-bit-cp. (enable_fdo_optimizations): Check for flag_ipa_bit_cp. * tree-ssa-ccp.h: New header file. * tree-ssa-ccp.c: Include tree-ssa-ccp.h (bit_value_binop_1): Change to bit_value_binop_1 and export it. Replace all occurences of tree parameter by two new params: signop, int. (bit_value_unop_1): Change to bit_value_unop and export it. Replace all occurences of tree parameter by two new params: signop, int. (bit_value_binop): Change call from bit_value_binop_1 to bit_value_binop. (bit_value_assume_aligned): Likewise. (bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop. (do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p to ccp_finalize. (ccp_finalize): Skip processing if val->mask == 0. * ipa-cp.c: Include tree-ssa-ccp.h (ipcp_bits_lattice): New class. (ipcp_param_lattice (bits_lattice): New member. (print_all_lattices): Call ipcp_bits_lattice::print. (set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom. (initialize_node_lattices): Likewise. (propagate_bits_accross_jump_function): New function. (propagate_constants_accross_call): Call propagate_bits_accross_jump_function. (ipcp_propagate_stage): Store parameter types when in_lto_p is true. (ipcp_store_bits_results): New function. (ipcp_driver): Call ipcp_store_bits_results. * ipa-prop.h (ipa_bits): New struct. (ipa_jump_func): Add new member bits of type ipa_bits. (ipa_param_descriptor): Change decl to decl_or_type. (ipa_get_param): Change decl to decl_or_type and assert on PARM_DECL. (ipa_get_type): New function. (ipcp_transformation_summary): New member bits. * ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type. (ipa_populate_param_decls): Likewise. (ipa_dump_param): Likewise. (ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump function. (ipa_set_jf_unknown): Set ipa_bits::known to false. (ipa_compute_jump_functions_for_edge): Compute jump function for bits propagation. (ipa_node_params_t::duplicate): Copy src->bits into dst->bits. (ipa_write_jump_function): Add streaming for ipa_bits. (ipa_read_jump_function): Add support for reading streamed ipa_bits. (write_ipcp_transformation_info): Add streaming for ipa_bits summary for ltrans. (read_ipcp_transfomration_info): Add support for reading streamed ipa_bits. (ipcp_update_bits): New function. (ipcp_transform_function): Call ipcp_update_bits. testsuite/ * gcc.dg/ipa/propbits-1.c: New test-case. * gcc.dg/ipa/propbits-2.c: Likewise. * gcc.dg/ipa/propbits-3.c: Likewise. Co-Authored-By: Martin Jambor <mjambor@suse.cz> From-SVN: r239769
2016-08-26 10:05:39 +02:00
2016-08-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Martin Jambhor <mjambor@suse.cz>
Patch for performing interprocedural bitwise constant propagation. 2016-08-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> Martin Jambhor <mjambor@suse.cz> * common.opt: New option -fipa-bit-cp. * doc/invoke.texi: Document -fipa-bit-cp. * opts.c (default_options_table): Add entry for -fipa-bit-cp. (enable_fdo_optimizations): Check for flag_ipa_bit_cp. * tree-ssa-ccp.h: New header file. * tree-ssa-ccp.c: Include tree-ssa-ccp.h (bit_value_binop_1): Change to bit_value_binop_1 and export it. Replace all occurences of tree parameter by two new params: signop, int. (bit_value_unop_1): Change to bit_value_unop and export it. Replace all occurences of tree parameter by two new params: signop, int. (bit_value_binop): Change call from bit_value_binop_1 to bit_value_binop. (bit_value_assume_aligned): Likewise. (bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop. (do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p to ccp_finalize. (ccp_finalize): Skip processing if val->mask == 0. * ipa-cp.c: Include tree-ssa-ccp.h (ipcp_bits_lattice): New class. (ipcp_param_lattice (bits_lattice): New member. (print_all_lattices): Call ipcp_bits_lattice::print. (set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom. (initialize_node_lattices): Likewise. (propagate_bits_accross_jump_function): New function. (propagate_constants_accross_call): Call propagate_bits_accross_jump_function. (ipcp_propagate_stage): Store parameter types when in_lto_p is true. (ipcp_store_bits_results): New function. (ipcp_driver): Call ipcp_store_bits_results. * ipa-prop.h (ipa_bits): New struct. (ipa_jump_func): Add new member bits of type ipa_bits. (ipa_param_descriptor): Change decl to decl_or_type. (ipa_get_param): Change decl to decl_or_type and assert on PARM_DECL. (ipa_get_type): New function. (ipcp_transformation_summary): New member bits. * ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type. (ipa_populate_param_decls): Likewise. (ipa_dump_param): Likewise. (ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump function. (ipa_set_jf_unknown): Set ipa_bits::known to false. (ipa_compute_jump_functions_for_edge): Compute jump function for bits propagation. (ipa_node_params_t::duplicate): Copy src->bits into dst->bits. (ipa_write_jump_function): Add streaming for ipa_bits. (ipa_read_jump_function): Add support for reading streamed ipa_bits. (write_ipcp_transformation_info): Add streaming for ipa_bits summary for ltrans. (read_ipcp_transfomration_info): Add support for reading streamed ipa_bits. (ipcp_update_bits): New function. (ipcp_transform_function): Call ipcp_update_bits. testsuite/ * gcc.dg/ipa/propbits-1.c: New test-case. * gcc.dg/ipa/propbits-2.c: Likewise. * gcc.dg/ipa/propbits-3.c: Likewise. Co-Authored-By: Martin Jambor <mjambor@suse.cz> From-SVN: r239769
2016-08-26 10:05:39 +02:00
* gcc.dg/ipa/propbits-1.c: New test-case.
* gcc.dg/ipa/propbits-2.c: Likewise.
* gcc.dg/ipa/propbits-3.c: Likewise.
2016-08-25 Steven g. Kargl <kargl@gcc.gnu.org>
PR fortran/77351
* gfortran.dg/pr77351.f90: New test.
2016-08-25 Marek Polacek <polacek@redhat.com>
* c-c++-common/Wlogical-not-parentheses-2.c: New test.
2016-08-25 Marek Polacek <polacek@redhat.com>
PR c/77323
* gcc.dg/pr77323.c: New test.
2016-08-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/77358
* gfortran.dg/submodule_17.f08: New test.
2016-08-24 Michael Collison <michael.collison@linaro.org>
Michael Collison <michael.collison@arm.com>
arm-modes.def: Add new condition code mode CC_V to represent the overflow bit. 2016-08-24 Michael Collison <michael.collison@linaro.org> Michael Collison <michael.collison@arm.com> * config/arm/arm-modes.def: Add new condition code mode CC_V to represent the overflow bit. * config/arm/arm.c (maybe_get_arm_condition_code): Add support for CC_Vmode. (arm_gen_unlikely_cbranch): New function to generate common rtl conditional branches for overflow patterns. * config/arm/arm-protos.h: Add prototype for arm_gen_unlikely_cbranch. * config/arm/arm.md (addv<mode>4, add<mode>3_compareV, addsi3_compareV_upper): New patterns to support signed builtin overflow add operations. (uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper): New patterns to support unsigned builtin add overflow operations. (subv<mode>4, sub<mode>3_compare1): New patterns to support signed builtin overflow subtract operations, (usubv<mode>4): New patterns to support unsigned builtin subtract overflow operations. (negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns to support builtin overflow negate operations. * gcc.target/arm/builtin_saddl.c: New testcase. * gcc.target/arm/builtin_saddll.c: New testcase. * gcc.target/arm/builtin_uaddl.c: New testcase. * gcc.target/arm/builtin_uaddll.c: New testcase. * gcc.target/arm/builtin_ssubl.c: New testcase. * gcc.target/arm/builtin_ssubll.c: New testcase. * gcc.target/arm/builtin_usubl.c: New testcase. * gcc.target/arm/builtin_usubll.c: New testcase. Co-Authored-By: Michael Collison <michael.collison@arm.com> From-SVN: r239739
2016-08-24 21:31:20 +02:00
* gcc.target/arm/builtin_saddl.c: New testcase.
* gcc.target/arm/builtin_saddll.c: New testcase.
* gcc.target/arm/builtin_uaddl.c: New testcase.
* gcc.target/arm/builtin_uaddll.c: New testcase.
* gcc.target/arm/builtin_ssubl.c: New testcase.
* gcc.target/arm/builtin_ssubll.c: New testcase.
* gcc.target/arm/builtin_usubl.c: New testcase.
* gcc.target/arm/builtin_usubll.c: New testcase.
2016-08-24 Uros Bizjak <ubizjak@gmail.com>
PR target/77270
* gcc.dg/tree-ssa/loop-28.c: Also compile on 32bit x86 targets.
(dg-options): Use -march=amdfam10 instead of -march=athlon.
* gcc.dg/tree-ssa/update-unroll-1.c: Ditto.
* gcc.dg/tree-ssa/prefetch-3.c: Ditto.
* gcc.dg/tree-ssa/prefetch-4.c: Ditto.
* gcc.dg/tree-ssa/prefetch-5.c: Ditto.
* gcc.dg/tree-ssa/prefetch-6.c: Ditto. Do not require sse2
effective target. Remove scan-assembler-times directives.
* gcc.dg/tree-ssa/prefetch-7.c: Ditto.
* gcc.dg/tree-ssa/prefetch-8.c: Ditto.
* gcc.dg/tree-ssa/prefetch-9.c: Ditto.
2016-08-24 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/execute/pr71083.c: Use UINT32_TYPE instead
of unsigned int.
* gcc.dg/zero_sign_ext_test.c: Require int32plus.
2016-08-24 Robert Suchanek <robert.suchanek@imgtec.com>
PR testsuite/77317
* lib/target-supports.exp
(check_effective_target_vect_aligned_arrays): Don't cache the result.
(check_effective_target_vect_natural_alignment): Ditto.
(check_effective_target_vector_alignment_reachable): Ditto.
(check_effective_target_vector_alignment_reachable_for_64bit): Ditto.
2016-08-23 Ian Lance Taylor <iant@golang.org>
* gcc.target/s390/nolrl-1.c: Don't match the file name.
rs6000.c (rs6000_expand_vector_init): Set initialization of all 0's to the 0 constant, instead of directly generating XOR. [gcc] 2016-08-23 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_expand_vector_init): Set initialization of all 0's to the 0 constant, instead of directly generating XOR. Add support for V4SImode vector initialization on 64-bit systems with direct move, and rework the ISA 3.0 V4SImode initialization. Change variables used in V4SFmode vector intialization. For V4SFmode vector splat on ISA 3.0, make sure any memory addresses are in index form. Add support for using VSPLTH/VSPLTB to initialize vector short and vector char vectors with all of the same element. (regno_or_subregno): New helper function to return a register number for either REG or SUBREG. (rs6000_adjust_vec_address): Do not generate ADDI <reg>,R0,<num>. Use regno_or_subregno where possible. (rs6000_split_v4si_init_di_reg): New helper function to build up a DImode value from two SImode values in order to generate V4SImode vector initialization on 64-bit systems with direct move. (rs6000_split_v4si_init): Split up the insns for a V4SImode vector initialization. (rtx_is_swappable_p): V4SImode vector initialization insn is not swappable. * config/rs6000/rs6000-protos.h (rs6000_split_v4si_init): Add declaration. * config/rs6000/vsx.md (VSX_SPLAT_I): New mode iterators and attributes to initialize V8HImode and V16QImode vectors with the same element. (VSX_SPLAT_COUNT): Likewise. (VSX_SPLAT_SUFFIX): Likewise. (UNSPEC_VSX_VEC_INIT): New unspec. (vsx_concat_v2sf): Eliminate using 'preferred' register classes. Allow SFmode values to come from Altivec registers. (vsx_init_v4si): New insn/split for V4SImode vector initialization on 64-bit systems with direct move. (vsx_splat_<mode>, VSX_W iterator): Rework V4SImode and V4SFmode vector initializations, to allow V4SImode vector initializations on 64-bit systems with direct move. (vsx_splat_v4si): Likewise. (vsx_splat_v4si_di): Likewise. (vsx_splat_v4sf): Likewise. (vsx_splat_v4sf_internal): Likewise. (vsx_xxspltw_<mode>, VSX_W iterator): Eliminate using 'preferred' register classes. (vsx_xxspltw_<mode>_direct, VSX_W iterator): Likewise. (vsx_vsplt<VSX_SPLAT_SUFFIX>_di): New insns to support initializing V8HImode and V16QImode vectors with the same element. * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE_64BIT): Disallow optimization if -maltivec=be. [gcc/testsuite] 2016-08-23 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vec-init-1.c: Add tests where the vector is being created from pointers to memory locations. * gcc.target/powerpc/vec-init-2.c: Likewise. From-SVN: r239712
2016-08-23 22:41:32 +02:00
2016-08-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-init-1.c: Add tests where the vector is
being created from pointers to memory locations.
* gcc.target/powerpc/vec-init-2.c: Likewise.
2016-08-23 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_structure_12.f90: New testcase.
2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/insv-1.c: Fix test when running with -m31.
2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/zvector/vec-genmask-1.c: Improve result
verification.
2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/andc-splitter-1.c: New test case.
* gcc.target/s390/md/andc-splitter-2.c: Likewise.
2016-08-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/27336
* c-c++-common/pr27336.c: New testcase.
2016-08-22 Marek Polacek <polacek@redhat.com>
PR c++/77321
* g++.dg/cpp1y/pr77321.C: New test.
2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/60774
* gfortran.dg/empty_label.f: Adjust test for new error message.
* gfortran.dg/empty_label.f90: Ditto.
* gfortran.dg/empty_label_typedecl.f90: Ditto.
* gfortran.dg/label_3.f90: Deleted (redundant with empty_label.f90).
* gfortran.dg/warnings_are_errors_1.f90: Remove invalid statement label.
2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/61318
* gfortran.dg/pr61318.f90: New test.
2016-08-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/77260
* gfortran.dg/pr77260_1.f90: New test.
* gfortran.dg/pr77260_2.f90: Ditto.
Support __builtin_isinf_sign for new floating-point types (PR middle-end/77269). The __builtin_isinf_sign folding uses a type-specific signbit built-in function, meaning it only works for the types float, double and long double, not for types such as _FloatN, _FloatNx, __float128. Since the signbit built-in function is now type-generic, that can be used unconditionally, much as the code uses the type-generic isinf built-in function unconditionally, and this patch makes it do so, thereby enabling __builtin_isinf_sign (which glibc uses to expand the isinf macro since that macro in glibc traditionally provided the stronger guarantees about the return value given by __builtin_isinf_sign) to work for all floating-point types. The test gcc.dg/torture/builtin-isinf_sign-1.c needs updating because it tests that comparisons of calls to __builtin_isinf_sign to conditional expressions involving __builtin_isinf and __builtin_signbit* get optimized away, and with a change of what particular built-in function for signbit is used, GCC doesn't notice the expressions with type-generic and non-type-generic built-in functions are equivalent at -O0 or -O1 (it does optimize away the original test at -O2). Bootstrapped with no regressions on x86_64-pc-linux-gnu. PR middle-end/77269 gcc: * builtins.c (fold_builtin_classify): Use builtin_decl_explicit (BUILT_IN_SIGNBIT) to expand __builtin_isinf_sign. gcc/testsuite: * gcc.dg/torture/builtin-isinf_sign-1.c: Use __builtin_signbit not __builtin_signbitf and __builtin_signbitl in expected generic expansion. * gcc.dg/torture/float128-tg-2.c, gcc.dg/torture/float128x-tg-2.c, gcc.dg/torture/float16-tg-2.c, gcc.dg/torture/float32-tg-2.c, gcc.dg/torture/float32x-tg-2.c, gcc.dg/torture/float64-tg-2.c, gcc.dg/torture/float64x-tg-2.c, gcc.dg/torture/floatn-tg-2.h: New tests. From-SVN: r239665
2016-08-22 20:03:59 +02:00
2016-08-22 Joseph Myers <joseph@codesourcery.com>
PR middle-end/77269
* gcc.dg/torture/builtin-isinf_sign-1.c: Use __builtin_signbit not
__builtin_signbitf and __builtin_signbitl in expected generic
expansion.
* gcc.dg/torture/float128-tg-2.c, gcc.dg/torture/float128x-tg-2.c,
gcc.dg/torture/float16-tg-2.c, gcc.dg/torture/float32-tg-2.c,
gcc.dg/torture/float32x-tg-2.c, gcc.dg/torture/float64-tg-2.c,
gcc.dg/torture/float64x-tg-2.c, gcc.dg/torture/floatn-tg-2.h: New
tests.
Add minimal _FloatN, _FloatNx built-in functions. This patch adds a minimal set of built-in functions for the new _FloatN and _FloatNx types. The functions added are __builtin_fabs*, __builtin_copysign*, __builtin_huge_val*, __builtin_inf*, __builtin_nan* and __builtin_nans* (where * = fN or fNx). That is, 42 new entries are added to the enum of built-in functions and the associated array of decls, where not all of them are actually supported on any one target. These functions are believed to be sufficient for libgcc (complex multiplication and division use __builtin_huge_val*, __builtin_copysign* and __builtin_fabs*) and for glibc (which also depends on complex multiplication from libgcc, as well as using such functions itself). The basic target-independent support for folding / expanding calls to these built-in functions is wired up, so those for constants can be used in static initializers, and the fabs and copysign built-ins can always be expanded to bit-manipulation inline (for any format setting signbit_ro and signbit_rw, which covers all formats supported for _FloatN and _FloatNx), although insn patterns for fabs (abs<mode>2) and copysign (copysign<mode>3) will be used when available and may result in more optimal code. The complex multiplication and division functions in libgcc rely on predefined macros (defined with -fbuilding-libgcc) to say what the built-in function suffixes to use with a particular mode are. This patch updates that code accordingly, where previously it involved a hack supposing that machine-specific suffixes for constants were also suffixes for built-in functions. As with the main _FloatN / _FloatNx patch, this patch does not update code dealing only with optimizations that currently has cases only covering float, double and long double, though some such cases are straightforward and may be covered in a followup patch. The functions are defined with DEF_GCC_BUILTIN, so calls to the TS 18661-3 functions such as fabsf128 and copysignf128, without the __builtin_, will not be optimized. As noted in the original _FloatN / _FloatNx patch submission, in principle the bulk of the libm functions that have built-in versions should have those versions extended to cover the new types, but that would require more consideration of the effects of increasing the size of the enum and initializing many more functions at startup. I don't know whether target-specific built-in functions can readily be made into aliases for target-independent functions, but if they can, it would make sense to do so for the x86, ia64 and rs6000 *q functions corresponding to these, so that they can benefit from the architecture-independent folding logic and from any optimizations enabled for these functions in future, and so that less target-specific code is needed to support them. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * tree.h (CASE_FLT_FN_FLOATN_NX, float16_type_node) (float32_type_node, float64_type_node, float32x_type_node) (float128x_type_node): New macros. * builtin-types.def (BT_FLOAT16, BT_FLOAT32, BT_FLOAT64) (BT_FLOAT128, BT_FLOAT32X, BT_FLOAT64X, BT_FLOAT128X) (BT_FN_FLOAT16, BT_FN_FLOAT32, BT_FN_FLOAT64, BT_FN_FLOAT128) (BT_FN_FLOAT32X, BT_FN_FLOAT64X, BT_FN_FLOAT128X) (BT_FN_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32) (BT_FN_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128) (BT_FN_FLOAT32X_FLOAT32X, BT_FN_FLOAT64X_FLOAT64X) (BT_FN_FLOAT128X_FLOAT128X, BT_FN_FLOAT16_CONST_STRING) (BT_FN_FLOAT32_CONST_STRING, BT_FN_FLOAT64_CONST_STRING) (BT_FN_FLOAT128_CONST_STRING, BT_FN_FLOAT32X_CONST_STRING) (BT_FN_FLOAT64X_CONST_STRING, BT_FN_FLOAT128X_CONST_STRING) (BT_FN_FLOAT16_FLOAT16_FLOAT16, BT_FN_FLOAT32_FLOAT32_FLOAT32) (BT_FN_FLOAT64_FLOAT64_FLOAT64, BT_FN_FLOAT128_FLOAT128_FLOAT128) (BT_FN_FLOAT32X_FLOAT32X_FLOAT32X) (BT_FN_FLOAT64X_FLOAT64X_FLOAT64X) (BT_FN_FLOAT128X_FLOAT128X_FLOAT128X): New type definitions. * builtins.def (DEF_GCC_FLOATN_NX_BUILTINS): New macro. (copysign, fabs, huge_val, inf, nan, nans): Use it. * builtins.c (expand_builtin): Use CASE_FLT_FN_FLOATN_NX for fabs and copysign. (fold_builtin_0): Use CASE_FLT_FN_FLOATN_NX for inf and huge_val. (fold_builtin_1): Use CASE_FLT_FN_FLOATN_NX for fabs. * doc/extend.texi (Other Builtins): Document these built-in functions. * fold-const-call.c (fold_const_call): Use CASE_FLT_FN_FLOATN_NX for nan and nans. gcc/c-family: * c-family/c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and _FloatNx types for suffixes for built-in functions. gcc/testsuite: * gcc.dg/torture/float128-builtin.c, gcc.dg/torture/float128-ieee-nan.c, gcc.dg/torture/float128x-builtin.c, gcc.dg/torture/float128x-nan.c, gcc.dg/torture/float16-builtin.c, gcc.dg/torture/float16-nan.c, gcc.dg/torture/float32-builtin.c, gcc.dg/torture/float32-nan.c, gcc.dg/torture/float32x-builtin.c, gcc.dg/torture/float32x-nan.c, gcc.dg/torture/float64-builtin.c, gcc.dg/torture/float64-nan.c, gcc.dg/torture/float64x-builtin.c, gcc.dg/torture/float64x-nan.c, gcc.dg/torture/floatn-builtin.h, gcc.dg/torture/floatn-nan.h: New tests. From-SVN: r239658
2016-08-22 13:57:39 +02:00
2016-08-22 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/torture/float128-builtin.c,
gcc.dg/torture/float128-ieee-nan.c,
gcc.dg/torture/float128x-builtin.c,
gcc.dg/torture/float128x-nan.c, gcc.dg/torture/float16-builtin.c,
gcc.dg/torture/float16-nan.c, gcc.dg/torture/float32-builtin.c,
gcc.dg/torture/float32-nan.c, gcc.dg/torture/float32x-builtin.c,
gcc.dg/torture/float32x-nan.c, gcc.dg/torture/float64-builtin.c,
gcc.dg/torture/float64-nan.c, gcc.dg/torture/float64x-builtin.c,
gcc.dg/torture/float64x-nan.c, gcc.dg/torture/floatn-builtin.h,
gcc.dg/torture/floatn-nan.h: New tests.
2016-08-22 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/torture/arm-fp16-int-convert-alt.c (FP16_MAX_EXP): New
macro.
(main): Update calls to TEST_I_F.
* gcc.dg/torture/arm-fp16-int-convert-ieee.c (FP16_MAX_EXP): New
macro.
(main): Update calls to TEST_I_F.
2016-08-22 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/torture/fp-int-convert-float128x-timode.c,
gcc.dg/torture/fp-int-convert-float32x-timode.c,
gcc.dg/torture/fp-int-convert-float64x-timode.c: Correct type
names in calls to TEST_I_F.
2016-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c/52952
* gcc.dg/cpp/pr66415-1.c: Fix sporadic failure.
2016-08-22 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/ipa/propalign-1.c: Skip for targets with !natural_alignment_32
and !natural_alignment_64.
* gcc.dg/ipa/propalign-2.c: Likewise.
* gcc.dg/ipa/propalign-3.c: Likewise.
* gcc.dg/ipa/propalign-4.c: Likewise.
* gcc.dg/ipa/propalign-5.c: Likewise.
* lib/target-supports.exp
(check_effective_target_natural_alignment_32): Add avr-*-*.
2016-08-20 Kugan Vivekanandarajah <kuganv@linaro.org>
PR tree-optimization/61839
* gcc.dg/tree-ssa/pr61839_1.c: New test.
* gcc.dg/tree-ssa/pr61839_2.c: New test.
* gcc.dg/tree-ssa/pr61839_3.c: New test.
* gcc.dg/tree-ssa/pr61839_4.c: New test.
Implement C _FloatN, _FloatNx types. ISO/IEC TS 18661-3:2015 defines C bindings to IEEE interchange and extended types, in the form of _FloatN and _FloatNx type names with corresponding fN/FN and fNx/FNx constant suffixes and FLTN_* / FLTNX_* <float.h> macros. This patch implements support for this feature in GCC. The _FloatN types, for N = 16, 32, 64 or >= 128 and a multiple of 32, are types encoded according to the corresponding IEEE interchange format (endianness unspecified; may use either the NaN conventions recommended in IEEE 754-2008, or the MIPS NaN conventions, since the choice of convention is only an IEEE recommendation, not a requirement). The _FloatNx types, for N = 32, 64 and 128, are IEEE "extended" types: types extending a narrower format with range and precision at least as big as those specified in IEEE 754 for each extended type (and with unspecified representation, but still following IEEE semantics for their values and operations - and with the set of values being determined by the precision and the maximum exponent, which means that while Intel "extended" is suitable for _Float64x, m68k "extended" is not). These types are always distinct from and not compatible with each other and the standard floating types float, double, long double; thus, double, _Float64 and _Float32x may all have the same ABI, but they are three still distinct types. The type names may be used with _Complex to construct corresponding complex types (unlike __float128, which acts more like a typedef name than a keyword - thus, this patch may be considered to fix PR c/32187). The new suffixes can be combined with GNU "i" and "j" suffixes for constants of complex types (e.g. 1.0if128, 2.0f64i). The set of types supported is implementation-defined. In this GCC patch, _Float32 is SFmode if that is suitable; _Float32x and _Float64 are DFmode if that is suitable; _Float128 is TFmode if that is suitable; _Float64x is XFmode if that is suitable, and otherwise TFmode if that is suitable. There is a target hook to override the choices if necessary. "Suitable" means both conforming to the requirements of that type, and supported as a scalar type including in libgcc. The ABI is whatever the back end does for scalars of that mode (but note that _Float32 is passed without promotion in variable arguments, unlike float). All the existing issues with exceptions and rounding modes for existing types apply equally to the new type names. No GCC port supports a floating-point format suitable for _Float128x. Although there is HFmode support for ARM and AArch64, use of that for _Float16 is not enabled. Supporting _Float16 would require additional work on the excess precision aspects of TS 18661-3: there are new values of FLT_EVAL_METHOD, which are not currently supported in GCC, and FLT_EVAL_METHOD == 0 now means that operations and constants on types narrower than float are evaluated to the range and precision of float. Implementing that, so that _Float16 gets evaluated with excess range and precision, would involve changes to the excess precision infrastructure so that the _Float16 case is enabled by default, unlike the x87 case which is only enabled for -fexcess-precision=standard. Other differences between _Float16 and __fp16 would also need to be disentangled. GCC has some prior support for nonstandard floating-point types in the form of __float80 and __float128. Where these were previously types distinct from long double, they are made by this patch into aliases for _Float64x / _Float128 if those types have the required properties. In principle the set of possible _FloatN types is infinite. This patch hardcodes the four such types for N <= 128, but with as much code as possible using loops over types to minimize the number of places with such hardcoding. I don't think it's likely any further such types will be of use in future (or indeed that formats suitable for _Float128x will actually be implemented). There is a corner case that all _FloatN, for N >= 128 and a multiple of 32, should be treated as keywords even when the corresponding type is not supported; I intend to deal with that in a followup patch. Tests are added for various functionality of the new types, mostly using type-generic headers. The tests use dg-add-options to pass any extra options needed to enable the types; this is wired up to use the same options as for __float128 on powerpc to enable _Float128 and _Float64x, and effective-target keywords for runtime support do the same hardware test as for __float128 to make sure the VSX instructions generated by those options are supported. (Corresponding additions would be needed for _Float16 on ARM as well if that were enabled with -mfp16-format=ieee required to use it rather than unconditionally available. Of course, -mfp16-format=alternative enables use of a format which is not compatible with the requirements of the _Float16 type.) C++ note: no support for the new types or constant suffixes is added for C++. C++ decimal floating-point support was very different from the C support, using class types, and the same may well apply to any future C++ bindings for IEEE interchange and extended types. There is a case, however, for supporting at least *f128 constants in C++, so that code using __float128 can use the newer style for constants throughout rather than needing to use the older *q constants in C++. Also, if built-in functions are added that may provide a way in which the types could leak into C++ code. Fortran note: the float128_type_node used in the Fortran front end is renamed to gfc_float128_type_node, since the semantics are different: in particular, if long double has binary128 format, then the new language-independent float128_type_node is a distinct type that also has binary128 format, but the Fortran node is expected to be NULL in that case. Likewise, Fortran's complex_float128_type_node is renamed to gfc_complex_float128_type_node. PowerPC note: the back end had an inconsistency that if TFmode was binary128, *q constants were TFmode instead of KFmode but __float128 was KFmode. This patch follows the same logic as for *q constants, so that _Float128 prefers TFmode (and __float128 becomes an alias for _Float128). ARM note: __fp16 is promoted to double (by convert_arguments) when passed without a prototype / in variable arguments. But this is only about the argument promotion; it is not handled as promoting in c-common.c:self_promoting_args_p / c-typeck.c:c_type_promotes_to, meaning that a K&R function definition for an argument of type __fp16 corresponds to a prototype with an argument of that type, not to one with an argument of type double, whereas a float argument in a K&R function definition corresponds to a double prototype argument - and the same functions are also what's involved in making va_arg give a warning and generate a call to abort when called with type float. This is preserved by this patch, while arranging for _Float16 not to be promoted when passed without a prototype / in variable arguments (the promotion of float being considered a legacy feature, not applied to any new types in C99 or later). TS 18661-3 extends the set of decimal floating-point types similarly, and adds new constant suffixes for the existing types, but this patch does not do anything regarding that extension. This patch does nothing regarding built-in functions, although type-generic functions such as __builtin_isinf work for the new types and associated tests are included. There are at least two levels of built-in function support possible for these types. The minimal level, implemented in <https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01702.html> (which needs updating to use dg-add-options), adds built-in functions similar to those x86 has for __float128: __builtin_inf* __builtin_huge_val*, __builtin_nan*, __builtin_nans*, __builtin_fabs*, __builtin_copysign*. That would be sufficient for glibc to use the *f128 names for built-in functions by default with *q used only for backwards compatibility when using older GCC versions. That would also allow c_cpp_builtins's flag_building_libgcc code, defining __LIBGCC_%s_FUNC_EXT__, to use such suffixes rather than the present code hardcoding logic about target-specific constant suffixes and how those relate to function suffixes. Full built-in function support would cover the full range of built-in functions for existing floating-point types, adding variants for all the new types, except for a few obsolescent functions and non-type-generic variants of type-generic functions. Some but not all references to such functions in GCC use macros such as CASE_FLT_FN to be type-generic; a fair amount of work would be needed to identify all places to update. Adding all those functions would enable optimizations (for constant arguments and otherwise) for TS 18661-3 functions, but it would also substantially expand the enum listing built-in functions (and we've had problems with the size of that enum in the past), and increase the amount of built-in function initialization to do - I don't know what the startup cost involved in built-in function initialization is, but it would be something to consider when adding such a large set of functions. There are also a range of optimizations, in match.pd and elsewhere, that only operate on the three standard floating-point types. Ideally those would be made generic to all floating-point types, but this patch does nothing in that regard. Special care would be needed regarding making sure library functions to which calls are generated actually exist. For example, if sqrt is called on an argument of type _Float32, and the result converted to _Float32, this is equivalent to doing a square root operation directly on _Float32. But if the user's libm does not have the sqrtf32 function, or the name is not reserved because __STDC_WANT_IEC_60559_TYPES_EXT__ was not defined before including <math.h>, you can only do that optimization if you convert to a call to sqrtf instead. DECIMAL_DIG now relates to all supported floating-point formats, not just float, double and long double; I've raised the question with WG14 of how this relates to the formula for DECIMAL_DIG in C11 not considering this. TS 18661-3 says it also covers non-arithmetic formats only supported by library conversion functions; this patch does not add any target hooks to allow for the case where there are such formats wider than any supported for arithmetic types (where e.g. libc supports conversions involving the binary128 representation, but the _Float128 type is not supported). GCC provides its own <tgmath.h> for some targets. No attempt is made to adapt this to handle the new types. Nothing is done regarding debug info for the new types (see the "Debugger support for __float128 type?" thread on gcc@, Sep/Oct 2015). No __SIZEOF_*__ macros are added for the new types. Nothing is done with do_warn_double_promotion. Nothing is done to include the new types in those determining max_align_t, although properly it should be sufficiently aligned for any of those types. The logic for usual arithmetic conversions in c_common_type relies on TYPE_PRECISION for floating-point types, which is less than ideal (doesn't necessarily correspond to whether one type's values are subset of another); looking in more detail at the formats might be better. But since I included code in build_common_tree_nodes to work around rs6000 KFmode having precision 113 not 128, I think it should work. Ideally one might have errors in generic code for the case where the two types do not have one type's values a subset of the other (which is undefined behavior). But the only case where this can actually occur is mixing IBM long double with binary128 on powerpc, and rs6000_invalid_binary_op deals with that at present. TS 18661-3 does not fully specify the type resulting from the usual arithmetic conversions in the case where two _FloatNx types have the same set of values; I arranged the code to prefer the greater value of N in that case. The __FP_FAST_FMA* macros are not extended to cover the new types, since there are no corresponding built-in functions (if built-in fmafN, fmafNx are added, the macros should be extended, and the new macros documented). Also, only a limited set of modes is handled in mode_has_fma. Diagnostics relating to the use of the new types with -pedantic do not try to distinguish them from purely nonstandard types such as __int128 and constant suffixes such as *q. If you use an unsupported _FloatN / _FloatNx type you get a warning about the type defaulting to int after the warning about the type not being supported. That's less than ideal, but it's also a pre-existing condition if you use __int128 on a 32-bit system where it's unsupported. Bootstrapped with no regressions on x86_64-pc-linux-gnu. Other back-end changes minimally tested by building cc1 for ia64-linux-gnu, powerpc64le-linux-gnu, pdp11-none (the last failed for unrelated reasons). PR c/32187 gcc: * tree-core.h (TI_COMPLEX_FLOAT16_TYPE) (TI_COMPLEX_FLOATN_NX_TYPE_FIRST, TI_COMPLEX_FLOAT32_TYPE) (TI_COMPLEX_FLOAT64_TYPE, TI_COMPLEX_FLOAT128_TYPE) (TI_COMPLEX_FLOAT32X_TYPE, TI_COMPLEX_FLOAT64X_TYPE) (TI_COMPLEX_FLOAT128X_TYPE, TI_FLOAT16_TYPE, TI_FLOATN_TYPE_FIRST) (TI_FLOATN_NX_TYPE_FIRST, TI_FLOAT32_TYPE, TI_FLOAT64_TYPE) (TI_FLOAT128_TYPE, TI_FLOATN_TYPE_LAST, TI_FLOAT32X_TYPE) (TI_FLOATNX_TYPE_FIRST, TI_FLOAT64X_TYPE, TI_FLOAT128X_TYPE) (TI_FLOATNX_TYPE_LAST, TI_FLOATN_NX_TYPE_LAST): New enum tree_index values. (NUM_FLOATN_TYPES, NUM_FLOATNX_TYPES, NUM_FLOATN_NX_TYPES): New macros. (struct floatn_type_info): New structure type. (floatn_nx_types): New variable declaration. * tree.h (FLOATN_TYPE_NODE, FLOATN_NX_TYPE_NODE) (FLOATNX_TYPE_NODE, float128_type_node, float64x_type_node) (COMPLEX_FLOATN_NX_TYPE_NODE): New macros. * tree.c (floatn_nx_types): New variable. (build_common_tree_nodes): Initialize _FloatN, _FloatNx and corresponding complex types. * target.def (floatn_mode): New hook. * targhooks.c: Include "real.h". (default_floatn_mode): New function. * targhooks.h (default_floatn_mode): New prototype. * doc/extend.texi (Floating Types): Document _FloatN and _FloatNx types. * doc/sourcebuild.texi (float@var{n}, float@var{n}x): Document new effective-target and dg-add-options keywords. (float@var{n}_runtime, float@var{n}x_runtime, floatn_nx_runtime): Document new effective-target keywords. * doc/tm.texi.in (TARGET_FLOATN_MODE): New @hook. * doc/tm.texi: Regenerate. * ginclude/float.h (LDBL_DECIMAL_DIG): Define to __LDBL_DECIMAL_DIG__, not __DECIMAL_DIG__. [__STDC_WANT_IEC_60559_TYPES_EXT__]: Define macros from TS 18661-3. * real.h (struct real_format): Add field ieee_bits. * real.c (ieee_single_format, mips_single_format) (motorola_single_format, spu_single_format, ieee_double_format) (mips_double_format, motorola_double_format) (ieee_extended_motorola_format, ieee_extended_intel_96_format) (ieee_extended_intel_128_format) (ieee_extended_intel_96_round_53_format, ibm_extended_format) (mips_extended_format, ieee_quad_format, mips_quad_format) (vax_f_format, vax_d_format, vax_g_format, decimal_single_format) (decimal_double_format, decimal_quad_format, ieee_half_format) (arm_half_format, real_internal_format: Initialize ieee_bits field. * config/i386/i386.c (ix86_init_builtin_types): Do not initialize float128_type_node. Set float80_type_node to float64x_type_node if appropriate and long_double_type_node not appropriate. * config/ia64/ia64.c (ia64_init_builtins): Likewise. * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Initialize ieee_bits field. * config/rs6000/rs6000.c (TARGET_FLOATN_MODE): New macro. (rs6000_init_builtins): Set ieee128_float_type_node to float128_type_node. (rs6000_floatn_mode): New function. gcc/c: * c-tree.h (cts_floatn_nx): New enum c_typespec_keyword value. (struct c_declspecs): Add field floatn_nx_idx. * c-decl.c (declspecs_add_type, finish_declspecs): Handle _FloatN and _FloatNx type specifiers. * c-parser.c (c_keyword_starts_typename, c_token_starts_declspecs) (c_parser_declspecs, c_parser_attribute_any_word) (c_parser_objc_selector): Use CASE_RID_FLOATN_NX. * c-typeck.c (c_common_type): Handle _FloatN and _FloatNx types. (convert_arguments): Avoid promoting _FloatN and _FloatNx types narrower than double. gcc/c-family: * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32) (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X) (RID_FLOAT128X): New enum rid values. (CASE_RID_FLOATN_NX): New macro. * c-common.c (c_common_reswords): Add _FloatN and _FloatNx keywords. (c_common_type_for_mode): Check for _FloatN and _FloatNx and corresponding complex types. (c_common_nodes_and_builtins): For non-C++, register _FloatN and _FloatNx and corresponding complex types. (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX. * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN and _FloatNx types for the widest type for determining DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL. (c_cpp_builtins): Call builtin_define_float_constants for _FloatN and _FloatNx types. * c-lex.c (interpret_float): Handle _FloatN and _FloatNx constants. * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and _FloatNx types. gcc/fortran: * trans-types.h (float128_type_node): Rename to gfc_float128_type_node. (complex_float128_type_node): Rename to gfc_complex_float128_type_node. * iso-c-binding.def, trans-intrinsic.c, trans-types.c: All users changed. gcc/testsuite: * lib/target-supports.exp (check_effective_target_float16) (check_effective_target_float32, check_effective_target_float64) (check_effective_target_float128, check_effective_target_float32x) (check_effective_target_float64x) (check_effective_target_float128x) (check_effective_target_float16_runtime) (check_effective_target_float32_runtime) (check_effective_target_float64_runtime) (check_effective_target_float128_runtime) (check_effective_target_float32x_runtime) (check_effective_target_float64x_runtime) (check_effective_target_float128x_runtime) (check_effective_target_floatn_nx_runtime) (add_options_for_float16, add_options_for_float32) (add_options_for_float64, add_options_for_float128) (add_options_for_float32x, add_options_for_float64x) (add_options_for_float128x): New procedures. * gcc.dg/dfp/floatn.c, gcc.dg/float128-typeof.c, gcc.dg/float128x-typeof.c, gcc.dg/float16-typeof.c, gcc.dg/float32-typeof.c, gcc.dg/float32x-typeof.c, gcc.dg/float64-typeof.c, gcc.dg/float64x-typeof.c, gcc.dg/floatn-arithconv.c, gcc.dg/floatn-errs.c, gcc.dg/floatn-typeof.h, gcc.dg/torture/float128-basic.c, gcc.dg/torture/float128-complex.c, gcc.dg/torture/float128-floath.c, gcc.dg/torture/float128-tg.c, gcc.dg/torture/float128x-basic.c, gcc.dg/torture/float128x-complex.c, gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float128x-tg.c, gcc.dg/torture/float16-basic.c, gcc.dg/torture/float16-complex.c, gcc.dg/torture/float16-floath.c, gcc.dg/torture/float16-tg.c, gcc.dg/torture/float32-basic.c, gcc.dg/torture/float32-complex.c, gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32-tg.c, gcc.dg/torture/float32x-basic.c, gcc.dg/torture/float32x-complex.c, gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float32x-tg.c, gcc.dg/torture/float64-basic.c, gcc.dg/torture/float64-complex.c, gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64-tg.c, gcc.dg/torture/float64x-basic.c, gcc.dg/torture/float64x-complex.c, gcc.dg/torture/float64x-floath.c, gcc.dg/torture/float64x-tg.c, gcc.dg/torture/floatn-basic.h, gcc.dg/torture/floatn-complex.h, gcc.dg/torture/floatn-convert.c, gcc.dg/torture/floatn-floath.h, gcc.dg/torture/floatn-tg.h, gcc.dg/torture/fp-int-convert-float128-ieee-timode.c, gcc.dg/torture/fp-int-convert-float128-ieee.c, gcc.dg/torture/fp-int-convert-float128x-timode.c, gcc.dg/torture/fp-int-convert-float128x.c, gcc.dg/torture/fp-int-convert-float16-timode.c, gcc.dg/torture/fp-int-convert-float16.c, gcc.dg/torture/fp-int-convert-float32-timode.c, gcc.dg/torture/fp-int-convert-float32.c, gcc.dg/torture/fp-int-convert-float32x-timode.c, gcc.dg/torture/fp-int-convert-float32x.c, gcc.dg/torture/fp-int-convert-float64-timode.c, gcc.dg/torture/fp-int-convert-float64.c, gcc.dg/torture/fp-int-convert-float64x-timode.c, gcc.dg/torture/fp-int-convert-float64x.c: New tests. * gcc.dg/torture/fp-int-convert.h (TEST_I_F): Add argument for maximum exponent of floating-point type. Use it in testing whether 0x8...0 fits in the floating-point type. Always treat -1 (signed 0xf...f) as fitting in the floating-point type. (M_OK1): New macro. * gcc.dg/torture/fp-int-convert-double.c, gcc.dg/torture/fp-int-convert-float.c, gcc.dg/torture/fp-int-convert-float128-timode.c, gcc.dg/torture/fp-int-convert-float128.c, gcc.dg/torture/fp-int-convert-float80-timode.c, gcc.dg/torture/fp-int-convert-float80.c, gcc.dg/torture/fp-int-convert-long-double.c, gcc.dg/torture/fp-int-convert-timode.c: Update calls to TEST_I_F. libcpp: * include/cpplib.h (CPP_N_FLOATN, CPP_N_FLOATNX) (CPP_N_WIDTH_FLOATN_NX, CPP_FLOATN_SHIFT, CPP_FLOATN_MAX): New macros. * expr.c (interpret_float_suffix): Handle fN, fNx, FN and FNx suffixes. From-SVN: r239625
2016-08-19 19:43:26 +02:00
2016-08-19 Joseph Myers <joseph@codesourcery.com>
PR c/32187
* lib/target-supports.exp (check_effective_target_float16)
(check_effective_target_float32, check_effective_target_float64)
(check_effective_target_float128, check_effective_target_float32x)
(check_effective_target_float64x)
(check_effective_target_float128x)
(check_effective_target_float16_runtime)
(check_effective_target_float32_runtime)
(check_effective_target_float64_runtime)
(check_effective_target_float128_runtime)
(check_effective_target_float32x_runtime)
(check_effective_target_float64x_runtime)
(check_effective_target_float128x_runtime)
(check_effective_target_floatn_nx_runtime)
(add_options_for_float16, add_options_for_float32)
(add_options_for_float64, add_options_for_float128)
(add_options_for_float32x, add_options_for_float64x)
(add_options_for_float128x): New procedures.
* gcc.dg/dfp/floatn.c, gcc.dg/float128-typeof.c,
gcc.dg/float128x-typeof.c, gcc.dg/float16-typeof.c,
gcc.dg/float32-typeof.c, gcc.dg/float32x-typeof.c,
gcc.dg/float64-typeof.c, gcc.dg/float64x-typeof.c,
gcc.dg/floatn-arithconv.c, gcc.dg/floatn-errs.c,
gcc.dg/floatn-typeof.h, gcc.dg/torture/float128-basic.c,
gcc.dg/torture/float128-complex.c,
gcc.dg/torture/float128-floath.c, gcc.dg/torture/float128-tg.c,
gcc.dg/torture/float128x-basic.c,
gcc.dg/torture/float128x-complex.c,
gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float128x-tg.c,
gcc.dg/torture/float16-basic.c, gcc.dg/torture/float16-complex.c,
gcc.dg/torture/float16-floath.c, gcc.dg/torture/float16-tg.c,
gcc.dg/torture/float32-basic.c, gcc.dg/torture/float32-complex.c,
gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32-tg.c,
gcc.dg/torture/float32x-basic.c,
gcc.dg/torture/float32x-complex.c,
gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float32x-tg.c,
gcc.dg/torture/float64-basic.c, gcc.dg/torture/float64-complex.c,
gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64-tg.c,
gcc.dg/torture/float64x-basic.c,
gcc.dg/torture/float64x-complex.c,
gcc.dg/torture/float64x-floath.c, gcc.dg/torture/float64x-tg.c,
gcc.dg/torture/floatn-basic.h, gcc.dg/torture/floatn-complex.h,
gcc.dg/torture/floatn-convert.c, gcc.dg/torture/floatn-floath.h,
gcc.dg/torture/floatn-tg.h,
gcc.dg/torture/fp-int-convert-float128-ieee-timode.c,
gcc.dg/torture/fp-int-convert-float128-ieee.c,
gcc.dg/torture/fp-int-convert-float128x-timode.c,
gcc.dg/torture/fp-int-convert-float128x.c,
gcc.dg/torture/fp-int-convert-float16-timode.c,
gcc.dg/torture/fp-int-convert-float16.c,
gcc.dg/torture/fp-int-convert-float32-timode.c,
gcc.dg/torture/fp-int-convert-float32.c,
gcc.dg/torture/fp-int-convert-float32x-timode.c,
gcc.dg/torture/fp-int-convert-float32x.c,
gcc.dg/torture/fp-int-convert-float64-timode.c,
gcc.dg/torture/fp-int-convert-float64.c,
gcc.dg/torture/fp-int-convert-float64x-timode.c,
gcc.dg/torture/fp-int-convert-float64x.c: New tests.
* gcc.dg/torture/fp-int-convert.h (TEST_I_F): Add argument for
maximum exponent of floating-point type. Use it in testing
whether 0x8...0 fits in the floating-point type. Always treat -1
(signed 0xf...f) as fitting in the floating-point type.
(M_OK1): New macro.
* gcc.dg/torture/fp-int-convert-double.c,
gcc.dg/torture/fp-int-convert-float.c,
gcc.dg/torture/fp-int-convert-float128-timode.c,
gcc.dg/torture/fp-int-convert-float128.c,
gcc.dg/torture/fp-int-convert-float80-timode.c,
gcc.dg/torture/fp-int-convert-float80.c,
gcc.dg/torture/fp-int-convert-long-double.c,
gcc.dg/torture/fp-int-convert-timode.c: Update calls to TEST_I_F.
2016-08-19 Jakub Jelinek <jakub@redhat.com>
PR fortran/72744
* gfortran.dg/gomp/pr72744.f90: New test.
PR fortran/69281
* gfortran.dg/gomp/pr69281.f90: New test.
2016-08-19 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.dg/random_4.f90: Initialize seed before using, handle
the last special seed value.
* gfortran.dg/random_7.f90: Use size for last array member instead
of hardcoded value.
2016-08-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/cpp/warn-undef.c: Append "evaluates to 0" to dg-error.
* gcc.dg/cpp/warn-undef-2.c: Likewise.
2016-08-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/77286
* gcc.dg/torture/pr77286.c: New testcase.
2016-08-18 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/verbose-asm-2.c: New test case.
Allow calling diagnostic_show_locus without a diagnostic_info Much of diagnostic-show-locus.c currently expects a diagnostic_info *, but it only uses the rich_location and the diagnostic_t. Change the signature of diagnostic_show_locus from: void diagnostic_show_locus (diagnostic_context *, const diagnostic_info *); to: void diagnostic_show_locus (diagnostic_context *, rich_location *richloc, diagnostic_t diagnostic_kind); so that it can be used for things other than diagnostics. Use this flexibility to add selftests for diagnostic_show_locus. gcc/c-family/ChangeLog: * c-opts.c (c_diagnostic_finalizer): Update for change to diagnostic_show_locus. gcc/ChangeLog: * diagnostic-show-locus.c (colorizer::colorizer): Replace diagnostic param with diagnostic_kind. (class colorizer): Similarly replace field m_diagnostic with m_diagnostic_kind. (colorizer::colorizer): Replace diagnostic param with diagnostic_kind. (colorizer::begin_state): Update for above field change. (layout::layout): Replace diagnostic param with rich_location * and diagnostic_kind. (diagnostic_show_locus): Replace diagnostic param with richloc and diagnostic_kind. (class selftest::test_diagnostic_context): New class. (selftest::test_diagnostic_show_locus_unknown_location): New function. (selftest::test_one_liner_simple_caret): New function. (selftest::test_one_liner_caret_and_range): New function. (selftest::test_one_liner_multiple_carets_and_ranges): New function. (selftest::test_one_liner_fixit_remove): New function. (selftest::test_one_liner_fixit_replace): New function. (selftest::test_diagnostic_show_locus_one_liner): New function. (selftest::diagnostic_show_locus_c_tests): Call the new test functions. * diagnostic.c (diagnostic_initialize): Initialize colorize_source_p, show_ruler_p and parseable_fixits_p. (default_diagnostic_finalizer): Update for change to diagnostic_show_locus. (diagnostic_append_note): Likewise. * diagnostic.h (diagnostic_show_locus): Replace const diagnostic_info * param with location * and diagnostic_t. gcc/fortran/ChangeLog: * error.c (gfc_diagnostic_starter): Update for change to diagnostic_show_locus. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (custom_diagnostic_finalizer): Update for change to diagnostic_show_locus. From-SVN: r239586
2016-08-18 21:12:54 +02:00
2016-08-18 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(custom_diagnostic_finalizer): Update for change to
diagnostic_show_locus.
2016-08-18 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/cpp/misspelled-directive-1.c: New testcase.
* gcc.dg/cpp/misspelled-directive-2.c: New testcase.
2016-08-18 Marek Polacek <polacek@redhat.com>
PR c/71514
* gcc.dg/pr71514.c: New test.
2015-08-18 H.J. Lu <hongjiu.lu@intel.com>
PR target/72839
* gcc.target/i386/pr72839.c: New test.
re PR middle-end/70895 (OpenACC: loop reduction does not work. Output is zero.) 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com> PR middle-end/70895 gcc/ * gimplify.c (omp_add_variable): Adjust/add variable mapping on enclosing parallel construct for reduction variables on OpenACC loop directives. gcc/testsuite/ * gfortran.dg/goacc/loop-tree-1.f90: Add gimple scan-tree-dump test. * c-c++-common/goacc/reduction-1.c: Likewise. * c-c++-common/goacc/reduction-2.c: Likewise. * c-c++-common/goacc/reduction-3.c: Likewise. * c-c++-common/goacc/reduction-4.c: Likewise. libgomp/ * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit firstprivate clauses. * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit copy clauses. * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise. From-SVN: r239576
2016-08-18 16:46:19 +02:00
2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
PR middle-end/70895
* gfortran.dg/goacc/loop-tree-1.f90: Add gimple scan-tree-dump test.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.
2016-08-18 Alan Modra <amodra@gmail.com>
* gcc.c-torture/compile/pr72771.c: New.
2016-08-17 Jakub Jelinek <jakub@redhat.com>
PR fortran/67496
* gfortran.dg/pr67496.f90: New test.
2015-08-17 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71752
* gcc.dg/vect/pr71752.c: New.
2016-08-17 Uros Bizjak <ubizjak@gmail.com>
* gfortran.dg/dec_init_2.f90: Use dg-add-options ieee.
2016-08-17 Jakub Jelinek <jakub@redhat.com>
PR middle-end/77259
* g++.dg/ipa/devirt-52.C: New test.
2016-08-17 Chung-Lin Tang <cltang@codesourcery.com>
* c-c++-common/goacc/reduction-6.c: New testcase.
2016-08-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/76490
* gfortran.fortran-torture/compile/pr76490.f90: New testcase.
* gcc.dg/pr52904.c: XFAIL.
2016-08-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/23855
* gcc.dg/loop-unswitch-2.c: Adjust.
2016-08-16 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/72817
* gcc.dg/tree-ssa/pr72817.c (a): Change type from char to signed char.
Update soft-fp from glibc (PR libgcc/77265). This patch updates soft-fp from glibc, bringing in the fix for PR libgcc/77265, XFmode extension to TFmode wrongly turning an infinity into a NaN. A test for that bug is added. Bootstrapped with no regressions on x86_64-pc-linux-gnu. PR libgcc/77265 gcc/testsuite: * gcc.dg/torture/float128-extend-inf.c: New test. libgcc: * soft-fp/adddf3.c: Update from glibc. * soft-fp/addsf3.c: Likewise. * soft-fp/addtf3.c: Likewise. * soft-fp/divdf3.c: Likewise. * soft-fp/divsf3.c: Likewise. * soft-fp/divtf3.c: Likewise. * soft-fp/double.h: Likewise. * soft-fp/eqdf2.c: Likewise. * soft-fp/eqsf2.c: Likewise. * soft-fp/eqtf2.c: Likewise. * soft-fp/extenddftf2.c: Likewise. * soft-fp/extended.h: Likewise. * soft-fp/extendsfdf2.c: Likewise. * soft-fp/extendsftf2.c: Likewise. * soft-fp/extendxftf2.c: Likewise. * soft-fp/fixdfdi.c: Likewise. * soft-fp/fixdfsi.c: Likewise. * soft-fp/fixdfti.c: Likewise. * soft-fp/fixsfdi.c: Likewise. * soft-fp/fixsfsi.c: Likewise. * soft-fp/fixsfti.c: Likewise. * soft-fp/fixtfdi.c: Likewise. * soft-fp/fixtfsi.c: Likewise. * soft-fp/fixtfti.c: Likewise. * soft-fp/fixunsdfdi.c: Likewise. * soft-fp/fixunsdfsi.c: Likewise. * soft-fp/fixunsdfti.c: Likewise. * soft-fp/fixunssfdi.c: Likewise. * soft-fp/fixunssfsi.c: Likewise. * soft-fp/fixunssfti.c: Likewise. * soft-fp/fixunstfdi.c: Likewise. * soft-fp/fixunstfsi.c: Likewise. * soft-fp/fixunstfti.c: Likewise. * soft-fp/floatdidf.c: Likewise. * soft-fp/floatdisf.c: Likewise. * soft-fp/floatditf.c: Likewise. * soft-fp/floatsidf.c: Likewise. * soft-fp/floatsisf.c: Likewise. * soft-fp/floatsitf.c: Likewise. * soft-fp/floattidf.c: Likewise. * soft-fp/floattisf.c: Likewise. * soft-fp/floattitf.c: Likewise. * soft-fp/floatundidf.c: Likewise. * soft-fp/floatundisf.c: Likewise. * soft-fp/floatunditf.c: Likewise. * soft-fp/floatunsidf.c: Likewise. * soft-fp/floatunsisf.c: Likewise. * soft-fp/floatunsitf.c: Likewise. * soft-fp/floatuntidf.c: Likewise. * soft-fp/floatuntisf.c: Likewise. * soft-fp/floatuntitf.c: Likewise. * soft-fp/gedf2.c: Likewise. * soft-fp/gesf2.c: Likewise. * soft-fp/getf2.c: Likewise. * soft-fp/ledf2.c: Likewise. * soft-fp/lesf2.c: Likewise. * soft-fp/letf2.c: Likewise. * soft-fp/muldf3.c: Likewise. * soft-fp/mulsf3.c: Likewise. * soft-fp/multf3.c: Likewise. * soft-fp/negdf2.c: Likewise. * soft-fp/negsf2.c: Likewise. * soft-fp/negtf2.c: Likewise. * soft-fp/op-1.h: Likewise. * soft-fp/op-2.h: Likewise. * soft-fp/op-4.h: Likewise. * soft-fp/op-8.h: Likewise. * soft-fp/op-common.h: Likewise. * soft-fp/quad.h: Likewise. * soft-fp/single.h: Likewise. * soft-fp/soft-fp.h: Likewise. * soft-fp/subdf3.c: Likewise. * soft-fp/subsf3.c: Likewise. * soft-fp/subtf3.c: Likewise. * soft-fp/truncdfsf2.c: Likewise. * soft-fp/trunctfdf2.c: Likewise. * soft-fp/trunctfsf2.c: Likewise. * soft-fp/trunctfxf2.c: Likewise. * soft-fp/unorddf2.c: Likewise. * soft-fp/unordsf2.c: Likewise. * soft-fp/unordtf2.c: Likewise. From-SVN: r239513
2016-08-16 23:30:56 +02:00
2016-08-16 Joseph Myers <joseph@codesourcery.com>
PR libgcc/77265
* gcc.dg/torture/float128-extend-inf.c: New test.
Fix caret locations in format_type_warning (PR c/72857) gcc/c-family/ChangeLog: PR c/72857 * c-common.c (substring_loc::get_range): Rename to... (substring_loc::get_location): ...this, converting param from a source_range * to a location_t *. Call get_source_location_for_substring rather than get_source_range_for_substring, and pass in m_caret_idx. * c-common.h (substring_loc::substring_loc): Add param "caret_idx". (substring_loc::get_range): Replace with... (substring_loc::get_location): ...this. (substring_loc::set_caret_index): New method. (substring_loc): Add field m_caret_idx. * c-format.c (format_warning_va): Update for above changes. Rename local "substring_loc" to "fmt_substring_loc" to avoid clashing with type name. (format_warning_at_char): Add caret_idx param to substring_loc ctor. (check_argument_type): Likewise. (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc" Use a copy when emitting warnings, setting the caret index from TYPE. gcc/ChangeLog: PR c/72857 * input.c (get_source_range_for_substring): Rename to... (get_source_location_for_substring): ...this, adding param "caret_idx", and converting output param from source_range * to location_t *. (get_source_range_for_char): New function. (get_num_source_ranges_for_substring): Update comment to reflect above renaming. (assert_char_at_range): Update to use get_source_range_for_char rather than get_source_range_for_substring. (test_lexer_string_locations_concatenation_2): Likewise. * substring-locations.h (get_source_range_for_substring): Rename to... (get_source_location_for_substring): ...this, and adding param "caret_idx", and converting output param from source_range * to location_t *. gcc/testsuite/ChangeLog: PR c/72857 * gcc.dg/format/asm_fprintf-1.c: Restore column numbers for embedded NUL. * gcc.dg/format/c90-printf-1.c: Restore column numbers. * gcc.dg/format/diagnostic-ranges.c (test_hex): Update expected caret placement. (test_oct): Likewise. (test_multiple): Likewise. (test_field_width_specifier): Likewise. (test_field_width_specifier_2): New function. (test_field_precision_specifier): New function. (test_embedded_nul): Update expected caret placement. (test_non_contiguous_strings): Update line number. * gcc.dg/plugin/diagnostic-test-string-literals-1.c (__emit_string_literal_range): Add "caret_idx" param. (test_simple_string_literal): Add value for new param, updating expected output.. (test_concatenated_string_literal): Likewise. (test_multiline_string_literal): Likewise. (test_hex): Likewise. (test_oct): Likewise. (test_multiple): Likewise. (test_ucn4): Likewise. (test_ucn8): Likewise. (test_u8): Likewise. (test_u): Likewise; update expected message, from "range" to "location". (test_U): Likewise. (test_L): Likewise. (test_macro): Add value for new param. * gcc.dg/plugin/diagnostic-test-string-literals-2.c (__emit_string_literal_range): Add "caret_idx" param. (test_stringified_token_1): Add value for new param. Update expected message, from "range" to "location". (test_stringized_token_2): Likewise, adding param to macro. (test_stringified_token_3): Likewise. * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c (emit_warning): Convert param from source_range to location_t. (test_string_literals): Add caret_idx param, and use it when constructing a substring_loc. Update error message, from "range" to "location". From-SVN: r239510
2016-08-16 20:19:34 +02:00
2016-08-16 David Malcolm <dmalcolm@redhat.com>
PR c/72857
* gcc.dg/format/asm_fprintf-1.c: Restore column numbers
for embedded NUL.
* gcc.dg/format/c90-printf-1.c: Restore column numbers.
* gcc.dg/format/diagnostic-ranges.c (test_hex): Update expected
caret placement.
(test_oct): Likewise.
(test_multiple): Likewise.
(test_field_width_specifier): Likewise.
(test_field_width_specifier_2): New function.
(test_field_precision_specifier): New function.
(test_embedded_nul): Update expected caret placement.
(test_non_contiguous_strings): Update line number.
* gcc.dg/plugin/diagnostic-test-string-literals-1.c
(__emit_string_literal_range): Add "caret_idx" param.
(test_simple_string_literal): Add value for new param, updating
expected output..
(test_concatenated_string_literal): Likewise.
(test_multiline_string_literal): Likewise.
(test_hex): Likewise.
(test_oct): Likewise.
(test_multiple): Likewise.
(test_ucn4): Likewise.
(test_ucn8): Likewise.
(test_u8): Likewise.
(test_u): Likewise; update expected message, from "range" to
"location".
(test_U): Likewise.
(test_L): Likewise.
(test_macro): Add value for new param.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c
(__emit_string_literal_range): Add "caret_idx" param.
(test_stringified_token_1): Add value for new param. Update
expected message, from "range" to "location".
(test_stringized_token_2): Likewise, adding param to macro.
(test_stringified_token_3): Likewise.
* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c
(emit_warning): Convert param from source_range to location_t.
(test_string_literals): Add caret_idx param, and use it when
constructing a substring_loc. Update error message, from
"range" to "location".
2016-08-16 Jakub Jelinek <jakub@redhat.com>
PR target/71910
* g++.dg/gomp/pr71910.C: New test.
PR middle-end/67485
* gcc.c-torture/compile/pr67485.c: New test.
PR target/72867
* gcc.target/i386/pr72867.c: Add -msse to dg-options.
2016-08-16 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/69848
* gcc.target/aarch64/simd/vcond-ne-bit.c: New test.
2016-08-16 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-prof/val-prof-7.c (int main): Change size
of memory operations so that it can be handled by core2
in 32-bit mode.
2016-08-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/76783
* gcc.dg/pr76783.c: New testcase.
* gcc.dg/tree-ssa/pr69270-2.c: Adjust.
2016-08-16 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/72817
PR tree-optimization/73450
* gcc.dg/tree-ssa/pr72817.c: New test.
* gcc.dg/tree-ssa/pr73450.c: New test.
2016-08-15 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/init_flag_13.f90: New testcase.
* gfortran.dg/init_flag_14.f90: Ditto.
* gfortran.dg/init_flag_15.f03: Ditto.
* gfortran.dg/dec_init_1.f90: Ditto.
* gfortran.dg/dec_init_2.f90: Ditto.
2016-08-15 Uros Bizjak <ubizjak@gmail.com>
PR target/72867
* gcc.target/i386/pr72867.c: New test.
2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
* c-c++-common/dump-ada-spec-5.c: New test.
2016-08-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/73434
* gcc.dg/torture/pr73434.c: New testcase.
2016-08-15 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/72824
* gcc.c-torture/execute/ieee/pr72824-2.c: New test.
2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
PR fortran/70598
* gfortran.dg/goacc/host_data-tree.f95: Adjust to use pointers
in use_device clause.
* gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise.
* gfortran.dg/goacc/list.f95: Adjust to catch
"neither a POINTER nor an array" error messages.
2016-08-14 Uros Bizjak <ubizjak@gmail.com>
PR target/76342
* gcc.target/i386/pr76342.c: New test.
2016-08-12 Jakub Jelinek <jakub@redhat.com>
PR c/71512
* g++.dg/ubsan/pr71512.C: New test.
* c-c++-common/ubsan/pr71512-1.c: New test.
* c-c++-common/ubsan/pr71512-2.c: New test.
2016-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-init-1.c: New tests to test various
vector initialization options.
* gcc.target/powerpc/vec-init-2.c: Likewise.
* gcc.target/powerpc/vec-init-3.c: New test to make sure MTVSRDD
is generated on ISA 3.0.
2016-08-12 Patrick Palka <ppalka@gcc.gnu.org>
PR middle-end/71654
* gcc.dg/c-c++-common/pr71654.c: New test.
* gcc.dg/tree-ssa/vrp23: Add -fno-tree-forwprop to
dg-options.
* gcc.dg/tree-ssa/vrp24: Likewise.
2016-08-12 Jakub Jelinek <jakub@redhat.com>
PR c/67410
* gcc.dg/pr67410.c: New test.
2016-08-12 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/69848
* gcc.dg/vect/vect-pr69848.c: New test.
2016-08-12 Uros Bizjak <ubizjak@gmail.com>
PR testsuite/71008
* gcc.target/i386/avx512f-vprord-1.c: Scan also for vprold.
* gcc.target/i386/avx512f-vprorq-1.c: Scan also for vprolq.
* gcc.target/i386/avx512vl-vprord-1.c: Scan also for vprold.
* gcc.target/i386/avx512vl-vprorq-1.c: Scan also for vprolq.
2016-08-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/57326
* gcc.dg/tree-ssa/ssa-pre-32.c: New testcase.
* gcc.dg/tree-ssa/loadpre14.c: Adjust.
* gcc.dg/tree-ssa/pr35287.c: Likewise.
* gcc.target/i386/pr45685.c: Likewise.
* gcc.dg/tree-ssa/predcom-1.c: Disable PRE.
* gcc.dg/tree-ssa/predcom-2.c: Likewise.
* gcc.dg/tree-ssa/predcom-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-sink-10.c: Likewise.
* gfortran.dg/pr34163.f90: Likewise.
2016-08-12 Martin Liska <mliska@suse.cz>
* g++.dg/gcov/gcov-16.C: New test.
* lib/gcov.exp: Support new argument for run-gcov function.
2016-08-12 Martin Liska <mliska@suse.cz>
PR gcov-profile/35590
* gcc.dg/tree-prof/val-prof-7.c: Improve test coverage.
2016-08-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/72851
* gcc.dg/torture/pr72851.c: New testcase.
2016-08-12 Alexandre Oliva <aoliva@redhat.com>
[PR49366] emit loc exprs for C++ non-virtual pmf template value parms We used to emit, in debug information, the values bound to pointer to member function template parameters only when they were NULL or virtual member functions, because those can be represented with DW_AT_const_value. In order to represent the symbolic pointer to member function constants for non-virtual member functions, we'd need to be able to emit relocations for part of DW_AT_const_value, which we don't. The more viable alternative is to use DW_AT_location to represent such values, as slated for inclusion in DWARFv5, according to <URL:http://www.dwarfstd.org/ShowIssue.php?issue=130412.1>. With this patch, when we can't emit a DW_AT_const_value, we emit each "member" of the pointer to member function "record" as a DW_OP_stack_value DW_OP_piece, as long as the referenced member function is output in the same translation unit, otherwise we'd get relocations to external symbols, something to avoid in debug sections. for gcc/ChangeLog PR debug/49366 * dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs in DW_OP_pieces, just enough to handle pointers to member functions. (gen_remaining_tmpl_value_param_die_attribute): Use a location expression on DWARFv5 if a constant value doesn't work. for gcc/testsuite/ChangeLog PR debug/49366 * g++.dg/debug/dwarf2/template-params-12.H: New. * g++.dg/debug/dwarf2/template-params-12f.C: New. * g++.dg/debug/dwarf2/template-params-12g.C: New. * g++.dg/debug/dwarf2/template-params-12n.C: New. * g++.dg/debug/dwarf2/template-params-12s.C: New. * g++.dg/debug/dwarf2/template-params-12u.C: New. * g++.dg/debug/dwarf2/template-params-12v.C: New. * g++.dg/debug/dwarf2/template-params-12w.C: New. From-SVN: r239401
2016-08-12 09:11:23 +02:00
[PR63240] generate debug info for defaulted member functions This implements <http://dwarfstd.org/ShowIssue.php?issue=141215.3>, a proposal already accepted for inclusion in DWARF-5, but using DW_AT_GNU_defaulted instead of DW_AT_defaulted as the attribute name, because the attribute id for DW_AT_defaulted is not yet publicly available. for include/ChangeLog PR debug/63240 * dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New. * dwarf2.h (enu dwarf_defaulted_attribute): New. for gcc/ChangeLog PR debug/63240 * langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify. (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise. (LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default. (LANG_HOOKS_DECLS): Add it. * langhooks.h (struct lang_hooks_for_decls): Add function_decl_defaulted. Const_tree-ify function_decl_explicit_p and function_decl_deleted_p. * dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted attribute. Add DW_AT_deleted instead of DW_AT_GNU_deleted, also at strict DWARF v5. for gcc/cp/ChangeLog PR debug/63240 * cp-objcp-common.c (cp_function_decl_defaulted): New. (cp_function_decl_explicit_p): Const_tree-ify. (cp_function_decl_deleted_p): Likewise. * cp-objcp-common.h (cp_function_decl_defaulted): Declare. (cp_function_decl_explicit_p): Const_tree-ify. (cp_function_decl_deleted_p): Likewise. (LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Redefine. for gcc/testsuite/ChangeLog PR debug/63240 * g++.dg/debug/dwarf2/defaulted-member-function-1.C: New. * g++.dg/debug/dwarf2/defaulted-member-function-2.C: New. * g++.dg/debug/dwarf2/defaulted-member-function-3.C: New. * g++.dg/debug/dwarf2/deleted-member-function.C: Expect DW_AT_deleted. From-SVN: r239403
2016-08-12 09:11:50 +02:00
PR debug/63240
* g++.dg/debug/dwarf2/defaulted-member-function-1.C: New.
* g++.dg/debug/dwarf2/defaulted-member-function-2.C: New.
* g++.dg/debug/dwarf2/defaulted-member-function-3.C: New.
* g++.dg/debug/dwarf2/deleted-member-function.C: Expect
DW_AT_deleted.
PR debug/55641
* g++.dg/debug/dwarf2/ref-1.C: New.
[PR49366] emit loc exprs for C++ non-virtual pmf template value parms We used to emit, in debug information, the values bound to pointer to member function template parameters only when they were NULL or virtual member functions, because those can be represented with DW_AT_const_value. In order to represent the symbolic pointer to member function constants for non-virtual member functions, we'd need to be able to emit relocations for part of DW_AT_const_value, which we don't. The more viable alternative is to use DW_AT_location to represent such values, as slated for inclusion in DWARFv5, according to <URL:http://www.dwarfstd.org/ShowIssue.php?issue=130412.1>. With this patch, when we can't emit a DW_AT_const_value, we emit each "member" of the pointer to member function "record" as a DW_OP_stack_value DW_OP_piece, as long as the referenced member function is output in the same translation unit, otherwise we'd get relocations to external symbols, something to avoid in debug sections. for gcc/ChangeLog PR debug/49366 * dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs in DW_OP_pieces, just enough to handle pointers to member functions. (gen_remaining_tmpl_value_param_die_attribute): Use a location expression on DWARFv5 if a constant value doesn't work. for gcc/testsuite/ChangeLog PR debug/49366 * g++.dg/debug/dwarf2/template-params-12.H: New. * g++.dg/debug/dwarf2/template-params-12f.C: New. * g++.dg/debug/dwarf2/template-params-12g.C: New. * g++.dg/debug/dwarf2/template-params-12n.C: New. * g++.dg/debug/dwarf2/template-params-12s.C: New. * g++.dg/debug/dwarf2/template-params-12u.C: New. * g++.dg/debug/dwarf2/template-params-12v.C: New. * g++.dg/debug/dwarf2/template-params-12w.C: New. From-SVN: r239401
2016-08-12 09:11:23 +02:00
PR debug/49366
* g++.dg/debug/dwarf2/template-params-12.H: New.
* g++.dg/debug/dwarf2/template-params-12f.C: New.
* g++.dg/debug/dwarf2/template-params-12g.C: New.
* g++.dg/debug/dwarf2/template-params-12n.C: New.
* g++.dg/debug/dwarf2/template-params-12s.C: New.
* g++.dg/debug/dwarf2/template-params-12u.C: New.
* g++.dg/debug/dwarf2/template-params-12v.C: New.
* g++.dg/debug/dwarf2/template-params-12w.C: New.
2016-08-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/72863
* gcc.target/powerpc/pr72863.c: New test.
2016-08-11 Uros Bizjak <ubizjak@gmail.com>
* g++.dg/cpp1z/constexpr-lambda6.C: Remove dg-do run.
2015-08-11 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pieces-strcpy-1.c: New test.
* gcc.target/i386/pieces-strcpy-2.c: Likewise.
2016-08-11 Jakub Jelinek <jakub@redhat.com>
PR c++/72868
* g++.dg/cpp1y/constexpr-switch4.C: New test.
2015-08-11 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pieces-memcpy-1.c: New test.
* gcc.target/i386/pieces-memcpy-2.c: Likewise.
* gcc.target/i386/pieces-memcpy-3.c: Likewise.
* gcc.target/i386/pieces-memcpy-4.c: Likewise.
* gcc.target/i386/pieces-memcpy-5.c: Likewise.
* gcc.target/i386/pieces-memcpy-6.c: Likewise.
2016-08-11 Jakub Jelinek <jakub@redhat.com>
PR c/72816
* gcc.dg/pr72816.c: Remove dg-error.
2016-08-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR tree-optimization/71083
* gcc.c-torture/execute/pr71083.c: New test.
* gnat.dg/loop_optimization23.adb: New test.
* gnat.dg/loop_optimization23_pkg.ads: New test.
* gnat.dg/loop_optimization23_pkg.adb: New test.
2016-08-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/72772
* gcc.dg/graphite/pr35356-1.c: Adjust.
* gcc.dg/tree-ssa/pr59597.c: Likewise.
2016-08-11 Janne Blomqvist <jb@gcc.gnu.org>
* gfortran.dg/random_7.f90: Take into account that the last seed
value is the special p value.
* gfortran.dg/random_seed_1.f90: Seed size is now constant.
2016-08-11 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust.
[LRA] Reload of slow mems pr71680.c -m64 -O1 -mlra, ira output showing two problem insns. (insn 7 5 26 3 (set (reg:SI 159 [ a ]) (mem/c:SI (reg/f:DI 158) [1 a+0 S4 A8])) pr71680.c:13 464 {*movsi_internal1} (expr_list:REG_EQUIV (mem/c:SI (reg/f:DI 158) [1 a+0 S4 A8]) (nil))) (insn 26 7 27 3 (set (reg:DI 162) (unspec:DI [ (fix:SI (subreg:SF (reg:SI 159 [ a ]) 0)) ] UNSPEC_FCTIWZ)) pr71680.c:13 372 {fctiwz_sf} (expr_list:REG_DEAD (reg:SI 159 [ a ]) (nil))) Insn 26 requires that reg 159 be of class FLOAT_REGS. first lra action: deleting insn with uid = 7. Changing pseudo 159 in operand 1 of insn 26 on equiv [r158:DI] Creating newreg=164, assigning class ALL_REGS to subreg reg r164 26: r162:DI=unspec[fix(r164:SI#0)] 7 REG_DEAD r159:SI Inserting subreg reload before: 30: r164:SI=[r158:DI] [snip] Change to class FLOAT_REGS for r164 Well, that didn't do much. lra tried the equiv mem, found that didn't work, and had to reload. Effectively getting back to the two original insns but r159 replaced with r164. simplify_operand_subreg did not do anything in this case because SLOW_UNALIGNED_ACCESS was true (wrongly for power8, but that's beside the point). So now we have, using abbreviated rtl notation: r164:SI=[r158:DI] r162:DI=unspec[fix(r164:SI)] The problem here is that the first insn isn't valid, due to the rs6000 backend not supporting SImode in fprs, and r164 must be an fpr to make the second insn valid. next lra action: Creating newreg=165 from oldreg=164, assigning class GENERAL_REGS to r165 30: r165:SI=[r158:DI] Inserting insn reload after: 31: r164:SI=r165:SI so now we have r165:SI=[r158:DI] r164:SI=r165:SI r162:DI=unspec[fix(r164:SI)] This ought to be good on power8, except for one little thing. r165 is GENERAL_REGS so the first insn is good, a gpr load from mem. r164 is FLOAT_REGS, making the last insn good, a fctiwz. The second insn ought to be a sldi, mtvsrd, xscvspdpn combination, but that is only supported for SFmode. So lra continue on reloading the second insn, but in vain because it never tries anything other than SImode and as noted above, SImode is not valid in fprs. What this patch does is arrange to emit the two reloads needed for the SLOW_UNALIGNED_ACCESS case at once, moving the subreg to the second insn in order to switch modes, producing: r164:SI=[r158:DI] r165:SF=r164:SI#0 r162:DI=unspec[fix(r165:SF)] I've also tidied a couple of other things: 1) "old" is unnecessary as it duplicated "operand". 2) Rejecting mem subregs due to SLOW_UNALIGNED_ACCESS only makes sense if the original mode was not slow. PR target/71680 * lra-constraints.c (simplify_operand_subreg): Allow subreg mode for mem when SLOW_UNALIGNED_ACCESS if inner mode is also slow. Emit two reloads for slow mem case, first loading in fast innermode, then converting to required mode. testsuite/ * gcc.target/powerpc/pr71680.c: New. From-SVN: r239342
2016-08-11 01:12:11 +02:00
2016-08-11 Alan Modra <amodra@gmail.com>
* gcc.target/powerpc/pr71680.c: New.
altivec.h (vec_extract_exp): New macro. gcc/ChangeLog: 2016-08-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.h (vec_extract_exp): New macro. (vec_extract_sig): New macro. (vec_insert_exp): New macro. (vec_test_data_class): New macro. (scalar_extract_exp): New macro. (scalar_extract_sig): New macro. (scalar_insert_exp): New macro. (scalar_test_data_class): New macro. (scalar_test_neg): New macro. (scalar_cmp_exp_gt): New macro. (scalar_cmp_exp_lt): New macro. (scalar_cmp_exp_eq): New macro. (scalar_cmp_exp_unordered): New macro. * config/rs6000/predicates.md (u7bit_cint_operand): New predicate to enforce constraint that operand is a 7-bit unsigned literal. * config/rs6000/rs6000-builtin.def (BU_P9V_64BIT_VSX_1): New macro for power9 built-ins. (BU_P9V_VSX_2): Likewise. (BU_P9V_64BIT_VSX_2): Likewise. (VSEEDP): Add scalar extract exponent support. (VSEESP): Add scalar extract signature support. (VSTDCNDP): Add scalar test negative support. (VSTDCNSP): Likewise. (VSIEDP): Add scalar insert exponent support. (VSCEDPGT): Add scalar compare exponent greater than support. (VSCEDPLT): Add scalar compare exponent less than support. (VSCEDPEQ): Add scalar compare exponent test-for-equality support. (VSCEDPUO): Add scalar compare exponent test-for-unordered support. (VSTDCDP): Add scalar test data class support. (VSTDCSP): Likewise. (VSEEDP): Add overload support for scalar extract exponent operation. (VSESDP): Add overload support for scalar extract signature operation. (VSTDCN): Add overload support for scalar test negative operation. (VSTDCNDP): Add overload support for scalar test negative operation. (VSTDCNSP): Add overload support for scalar test negative operation. (VSIEDP): Add overload support for scalar insert exponent operation. (VSTDC): Add overload support for scalar test data class operation. (VSTDCDP): Add overload support for scalar test data class operation. (VSTDCSP): Add overload support for scalar test data class opreation. (VSCEDPGT): Add overload support for scalar compare exponent greater than operation. (VSCEDPLT): Add overload support for scalar compare exponent less than operation. (VSCEDPEQ): Add overload support for scalar compare exponent test-for-equality operation. (VSCEDPUO): Add overload support for scalar compare exponent test-for-unordered operation. (VEEDP): Add vector extract exponent support. (VEESP): Likewise. (VESDP): Add vector extract significand support. (VESSP): Likewise. (VIEDP): Add vector insert exponent support. (VIESP): Likewise. (VTDCDP): Add vector test data class support. (VTDCSP): Likewise. (VES): Add overload support for vector extract significand operation. (VESDP): Likewise. (VESSP): Likewise (VEE): Add overload support for vector extract exponent operation. (VEEDP): Likewise. (VEESP): Likewise. (VTDC): Add overload support for vector test data class operation. (VTDCDP): Likewise. (VTDCSP): Likewise. (VIE): Add overload support for vector insert exponent operation. (VIEDP): Likewise. (VIESP): Likewise. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded binary floating point functions. (altivec_resolve_overloaded_builtin): Improve error messages to distinguish between functions not supported in the current compiler configuration and functions that were invoked with an invalid parameter combination, and include the built-in function name in both error messages. * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_name): New prototype. * config/rs6000/rs6000.c (rs6000_overloaded_builtin_name): New function. (rs6000_expand_binop_builtin): Add check to enforce that argument 2 of the test data class operations is a 7-bit unsigned literal. (rs6000_invalid_builtin): Add code to issue an error message if a built-in function that requires the power9_vector and -m32 command-line options is compiled without these options. * config/rs6000/vsx.md (UNSPEC_VSX_SXEXPDP): New value. (UNSPEC_VSX_SXSIGDP): New value. (UNSPEC_VSX_SXSIGPDP): New value. (UNSPEC_VSX_SIEXPDP): New value. (UNSPEC_VSX_SCMPEXPDP): New value. (UNSPEC_VSX_STSTDC): New value. (UNSPEC_VSX_VXEXP): New value. (UNSPEC_VSX_VXSIG): New value. (UNSPEC_VSX_VIEXP): New value. (UNSPEC_VSX_VTSTDC): New value. (xsxexpdp): New insn for scalar extract exponent. (xsxsigdp): New insn for scalar extract significand. (xsiexpdp): New insn for scalar insert exponent. (xscmpexpdp_<code>): New expansion for scalar compare exponents. (*xscmpexpdp): New insn for scalar compare exponents. (xststdc<Fvsx): New expansion for both single- and double-precision scalar test data class operations. (xststdcneg<Fvsx>): New expansion for both single- and double-precision scalar test for negative value operations. (*xststdc<Fvsx>): New insn for scalar test data class operation. (xvxexp<VSs>): New insn for single- and double-precision vector extract exponent operation. (xvxsig<VSs>): New insn for single- and double-precision vector extract significand operation. (xviexp<VSs>): New insn for single- and double-precision vector insert exponent operation. (xvtstdc<VSs>): New insn for single- and double-precision vector test data class operation. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document built-in functions to represent the Power9 binary floating-point support instructions. gcc/testsuite/ChangeLog: 2016-08-10 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/bfp/bfp.exp: New file. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: New test. * gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: New test. * gcc.target/powerpc/bfp/scalar-extract-exp-0.c: New test. * gcc.target/powerpc/bfp/scalar-extract-exp-1.c: New test. * gcc.target/powerpc/bfp/scalar-extract-exp-2.c: New test. * gcc.target/powerpc/bfp/scalar-extract-sig-0.c: New test. * gcc.target/powerpc/bfp/scalar-extract-sig-1.c: New test. * gcc.target/powerpc/bfp/scalar-extract-sig-2.c: New test. * gcc.target/powerpc/bfp/scalar-insert-exp-0.c: New test. * gcc.target/powerpc/bfp/scalar-insert-exp-1.c: New test. * gcc.target/powerpc/bfp/scalar-insert-exp-2.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-0.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-1.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-2.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-3.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-4.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-5.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-6.c: New test. * gcc.target/powerpc/bfp/scalar-test-data-class-7.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-0.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-1.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-2.c: New test. * gcc.target/powerpc/bfp/scalar-test-neg-3.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-0.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-1.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-2.c: New test. * gcc.target/powerpc/bfp/vec-extract-exp-3.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-0.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-1.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-2.c: New test. * gcc.target/powerpc/bfp/vec-extract-sig-3.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-0.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-1.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-2.c: New test. * gcc.target/powerpc/bfp/vec-insert-exp-3.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-0.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-1.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-2.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-3.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-4.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-5.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-6.c: New test. * gcc.target/powerpc/bfp/vec-test-data-class-7.c: New test. From-SVN: r239334
2016-08-10 21:04:13 +02:00
2016-08-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/bfp/bfp.exp: New file.
* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-0.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-1.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-eq-2.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-0.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-1.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-gt-2.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-0.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-1.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-lt-2.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-0.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-1.c: New test.
* gcc.target/powerpc/bfp/scalar-cmp-exp-unordered-2.c: New test.
* gcc.target/powerpc/bfp/scalar-extract-exp-0.c: New test.
* gcc.target/powerpc/bfp/scalar-extract-exp-1.c: New test.
* gcc.target/powerpc/bfp/scalar-extract-exp-2.c: New test.
* gcc.target/powerpc/bfp/scalar-extract-sig-0.c: New test.
* gcc.target/powerpc/bfp/scalar-extract-sig-1.c: New test.
* gcc.target/powerpc/bfp/scalar-extract-sig-2.c: New test.
* gcc.target/powerpc/bfp/scalar-insert-exp-0.c: New test.
* gcc.target/powerpc/bfp/scalar-insert-exp-1.c: New test.
* gcc.target/powerpc/bfp/scalar-insert-exp-2.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-0.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-1.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-2.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-3.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-4.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-5.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-6.c: New test.
* gcc.target/powerpc/bfp/scalar-test-data-class-7.c: New test.
* gcc.target/powerpc/bfp/scalar-test-neg-0.c: New test.
* gcc.target/powerpc/bfp/scalar-test-neg-1.c: New test.
* gcc.target/powerpc/bfp/scalar-test-neg-2.c: New test.
* gcc.target/powerpc/bfp/scalar-test-neg-3.c: New test.
* gcc.target/powerpc/bfp/vec-extract-exp-0.c: New test.
* gcc.target/powerpc/bfp/vec-extract-exp-1.c: New test.
* gcc.target/powerpc/bfp/vec-extract-exp-2.c: New test.
* gcc.target/powerpc/bfp/vec-extract-exp-3.c: New test.
* gcc.target/powerpc/bfp/vec-extract-sig-0.c: New test.
* gcc.target/powerpc/bfp/vec-extract-sig-1.c: New test.
* gcc.target/powerpc/bfp/vec-extract-sig-2.c: New test.
* gcc.target/powerpc/bfp/vec-extract-sig-3.c: New test.
* gcc.target/powerpc/bfp/vec-insert-exp-0.c: New test.
* gcc.target/powerpc/bfp/vec-insert-exp-1.c: New test.
* gcc.target/powerpc/bfp/vec-insert-exp-2.c: New test.
* gcc.target/powerpc/bfp/vec-insert-exp-3.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-0.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-1.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-2.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-3.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-4.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-5.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-6.c: New test.
* gcc.target/powerpc/bfp/vec-test-data-class-7.c: New test.
2016-08-10 Bin Cheng <bin.cheng@arm.com>
* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
Add aarch64*-*-*.
2016-08-10 Bin Cheng <bin.cheng@arm.com>
* gcc.target/aarch64/simd/vcond-ne.c: New test.
2016-08-10 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/72853
* gcc.target/powerpc/pr72853.c: New test.
2016-08-10 Martin Liska <mliska@suse.cz>
PR gcov-profile/58306
* gcc.dg/tree-prof/val-profiler-threads-1.c: New test.
2016-08-10 Martin Liska <mliska@suse.cz>
* g++.dg/gcov/gcov-threads-1.C: New test.
2016-08-10 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR target/71873
* gcc.target/avr/pr71873.c: New test.
2016-08-09 Martin Liska <mliska@suse.cz>
* g++.dg/gcov/gcov-dump-1.C: New test.
* g++.dg/gcov/gcov-dump-2.C: New test.
2016-08-09 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-prof/val-prof-9.c: New test.
2016-08-09 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-prof/val-prof-8.c: New test.
2016-08-09 Martin Jambor <mjambor@suse.cz>
PR ipa/71981
* gcc.dg/ipa/pr71981.c: New test.
2016-08-09 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/33707
* gcc.dg/vect/pr33707.c: New test.
2016-08-09 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/pr72772
* gcc.dg/tree-ssa/pr72772.c: New test.
2016-08-09 Matthew Fortune <matthew.fortune@imgtec.com>
PR rtl-optimization/66669
* gcc.dg/loop-8.c: Skip for MIPS due to extra invariants.
2016-08-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/72824
* gcc.c-torture/execute/ieee/pr72824.c: New test.
2016-08-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/71802
* gcc.dg/torture/pr71802.c: New testcase.
2016-08-09 Jakub Jelinek <jakub@redhat.com>
PR c++/72809
* g++.dg/eh/stdarg1.C: New test.
2016-08-08 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp: (auto-profopt-execute): Don't include full
test command line in failure log.
(profopt-execute): dito. Make autofdo file names unique.
c-format.c: suggest the correct format string to use (PR c/64955) This adds fix-it hints to c-format.c so that it can (sometimes) suggest the format string the user should have used. The patch adds selftests for the new code in c-format.c. These selftests are thus lang-specific. This is the first time we've had lang-specific selftests, and hence the patch also adds a langhook for running them. (Note that currently the Makefile only invokes the selftests for cc1). gcc/c-family/ChangeLog: PR c/64955 * c-common.h (selftest::c_format_c_tests): New declaration. (selftest::run_c_tests): New declaration. * c-format.c: Include "selftest.h. (format_warning_va): Add param "corrected_substring" and use it to add a replacement fix-it hint. (format_warning_at_substring): Likewise. (format_warning_at_char): Update for new param of format_warning_va. (argument_parser::check_argument_type): Pass "fki" to check_format_types. (check_format_types): Add param "fki" and pass it to format_type_warning. (deref_n_times): New function. (get_modifier_for_format_len): New function. (selftest::test_get_modifier_for_format_len): New function. (get_format_for_type): New function. (format_type_warning): Add param "fki" and use it to attempt to provide hints for argument types when calling format_warning_at_substring. (selftest::get_info): New function. (selftest::assert_format_for_type_streq): New function. (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro. (selftest::test_get_format_for_type_printf): New function. (selftest::test_get_format_for_type_scanf): New function. (selftest::c_format_c_tests): New function. gcc/c/ChangeLog: PR c/64955 * c-lang.c (LANG_HOOKS_RUN_LANG_SELFTESTS): If CHECKING_P, wire this up to selftest::run_c_tests. (selftest::run_c_tests): New function. gcc/ChangeLog: PR c/64955 * langhooks-def.h (LANG_HOOKS_RUN_LANG_SELFTESTS): New default do-nothing langhook. (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_RUN_LANG_SELFTESTS. * langhooks.h (struct lang_hooks): Add run_lang_selftests. * selftest-run-tests.c: Include "tree.h" and "langhooks.h". (selftest::run_tests): Call lang_hooks.run_lang_selftests. gcc/testsuite/ChangeLog: PR c/64955 * gcc.dg/format/diagnostic-ranges.c: Add fix-it hints to expected output. From-SVN: r239260
2016-08-09 00:50:47 +02:00
2016-08-08 David Malcolm <dmalcolm@redhat.com>
PR c/64955
* gcc.dg/format/diagnostic-ranges.c: Add fix-it hints to expected
output.
2016-08-08 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/tree-ssa/pr71078-1.c: Add require-effective-target
c99_runtime.
* gcc.dg/tree-ssa/pr71078-1-double.c: Likewise.
* gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise.
* gcc.dg/tree-ssa/pr71078-2.c: Likewise.
* gcc.dg/tree-ssa/pr71078-2-double.c: Likewise.
* gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise.
* gcc.dg/tree-ssa/pr71078-3.c: Likewise.
Use class substring_loc in c-format.c (PR c/52952) gcc/c-family/ChangeLog: PR c/52952 * c-format.c: Include "diagnostic.h". (location_column_from_byte_offset): Delete. (location_from_offset): Delete. (format_warning_va): New function. (format_warning_at_substring): New function. (format_warning_at_char): New function. (check_format_arg): Capture location of format_tree and pass to check_format_info_main. (argument_parser): Add fields "start_of_this_format" and "format_string_cst". (flag_chars_t::validate): Add param "format_string_cst". Convert warning_at call using location_from_offset to call to format_warning_at_char. (argument_parser::argument_parser): Add param "format_string_cst_" and use use it to initialize field "format_string_cst". Initialize new field "start_of_this_format". (argument_parser::read_format_flags): Convert warning_at call using location_from_offset to a call to format_warning_at_char. (argument_parser::read_any_format_left_precision): Likewise. (argument_parser::read_any_format_precision): Likewise. (argument_parser::read_any_other_modifier): Likewise. (argument_parser::find_format_char_info): Likewise, in three places. (argument_parser::parse_any_scan_set): Likewise, in one place. (argument_parser::handle_conversions): Likewise, in two places. (argument_parser::check_argument_type): Add param "fmt_param_loc" and use it to make a substring_loc. Pass the latter to check_format_types. (check_format_info_main): Add params "fmt_param_loc" and "format_string_cst". Convert warning_at calls using location_from_offset to calls to format_warning_at_char. Pass the new params to the arg_parser ctor. Pass "format_string_cst" to flag_chars.validate. Pass "fmt_param_loc" to arg_parser.check_argument_type. (check_format_types): Convert first param from a location_t to a const substring_loc & and rename to "fmt_loc". Attempt to extract the range of the relevant parameter and pass it to format_type_warning. (format_type_warning): Convert first param from a location_t to a const substring_loc & and rename to "fmt_loc". Add params "param_range" and "type". Replace calls to warning_at with calls to format_warning_at_substring. gcc/testsuite/ChangeLog: PR c/52952 * gcc.dg/cpp/pr66415-1.c: Likewise. * gcc.dg/format/asm_fprintf-1.c: Update column numbers. * gcc.dg/format/c90-printf-1.c: Likewise. * gcc.dg/format/diagnostic-ranges.c: New test case. From-SVN: r239253
2016-08-08 22:10:19 +02:00
2016-08-08 David Malcolm <dmalcolm@redhat.com>
PR c/52952
* gcc.dg/cpp/pr66415-1.c: Likewise.
* gcc.dg/format/asm_fprintf-1.c: Update column numbers.
* gcc.dg/format/c90-printf-1.c: Likewise.
* gcc.dg/format/diagnostic-ranges.c: New test case.
2016-08-08 Jakub Jelinek <jakub@redhat.com>
PR fortran/72716
* gfortran.dg/gomp/pr72716.f90: New test.
PR middle-end/72781
* gcc.dg/gomp/pr72781.c: New test.
PR middle-end/68762
* g++.dg/vect/pr68762-1.cc: New test.
* g++.dg/vect/pr68762-2.cc: New test.
* g++.dg/vect/pr68762.h: New file.
2016-08-08 Martin Sebor <msebor@redhat.com>
PR testsuite/72838
* g++.dg/cpp0x/constexpr-cast.C: Correct target selector.
* g++.dg/warn/overflow-warn-3.C: Same.
* g++.dg/warn/overflow-warn-4.C: Same.
2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/71936
* gfortran.dg/allocate_with_source_21.f03: New test.
2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/72698
* gfortran.dg/allocate_with_source_20.f03: New test.
2016-08-08 Alan Modra <amodra@gmail.com>
* gcc.c-torture/compile/pr72802.c: New.
2016-08-08 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70524
* gfortran.dg/dependency_48.f90: New test.
2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/70040
* gfortran.dg/pr70040.f90: New testcase.
2016-08-07 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71961
* gfortran.dg/matmul_10.f90: New testcase.
2016-08-07 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update testcase.
2016-08-07 Jakub Jelinek <jakub@redhat.com>
PR c/72816
* gcc.dg/pr72816.c: New test.
2016-08-06 Jonathan Wakely <jwakely@redhat.com>
* g++.dg/conversion/pr16333.C: Adjust dg-error regexp.
* g++.dg/conversion/pr41426.C: Likewise.
* g++.dg/conversion/pr66211.C: Likewise.
* g++.dg/cpp1y/lambda-init9.C: Likewise.
* g++.dg/init/ref8.C: Likewise.
* g++.old-deja/g++.law/cvt20.C: Likewise.
* g++.old-deja/g++.mike/p9732c.C: Likewise.
2016-08-05 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/18046
* gcc.dg/tree-ssa/vrp105.c: New test.
* gcc.dg/tree-ssa/vrp106.c: New test.
2016-08-05 Martin Sebor <msebor@redhat.com>
* g++.dg/cpp0x/constexpr-cast.C: Avoid assuming (void*)1 is spelled
1ul in diagnostics. Remove hyphen from "constant-expression."
* g++.dg/cpp0x/constexpr-50060.C: Adjust.
* g++.dg/cpp0x/static_assert3.C: Same.
* g++.dg/cpp1y/constexpr-throw.C: Same.
* g++.dg/template/nontype3.C: Same.
* g++.dg/warn/overflow-warn-1.C: Same.
* g++.dg/warn/overflow-warn-3.C: Same.
* g++.dg/warn/overflow-warn-4.C: Same.
On-demand locations within string-literals gcc/c-family/ChangeLog: * c-common.c: Include "substring-locations.h". (get_cpp_ttype_from_string_type): New function. (g_string_concat_db): New global. (substring_loc::get_range): New method. * c-common.h (g_string_concat_db): New declaration. (class substring_loc): New class. * c-lex.c (lex_string): When concatenating strings, capture the locations of all tokens using a new obstack, and record the concatenation locations within g_string_concat_db. * c-opts.c (c_common_init_options): Construct g_string_concat_db on the ggc-heap. gcc/ChangeLog: * input.c (string_concat::string_concat): New constructor. (string_concat_db::string_concat_db): New constructor. (string_concat_db::record_string_concatenation): New method. (string_concat_db::get_string_concatenation): New method. (string_concat_db::get_key_loc): New method. (class auto_cpp_string_vec): New class. (get_substring_ranges_for_loc): New function. (get_source_range_for_substring): New function. (get_num_source_ranges_for_substring): New function. (class selftest::lexer_test_options): New class. (struct selftest::lexer_test): New struct. (class selftest::ebcdic_execution_charset): New class. (selftest::ebcdic_execution_charset::s_singleton): New variable. (selftest::lexer_test::lexer_test): New constructor. (selftest::lexer_test::~lexer_test): New destructor. (selftest::lexer_test::get_token): New method. (selftest::assert_char_at_range): New function. (ASSERT_CHAR_AT_RANGE): New macro. (selftest::assert_num_substring_ranges): New function. (ASSERT_NUM_SUBSTRING_RANGES): New macro. (selftest::assert_has_no_substring_ranges): New function. (ASSERT_HAS_NO_SUBSTRING_RANGES): New macro. (selftest::test_lexer_string_locations_simple): New function. (selftest::test_lexer_string_locations_ebcdic): New function. (selftest::test_lexer_string_locations_hex): New function. (selftest::test_lexer_string_locations_oct): New function. (selftest::test_lexer_string_locations_letter_escape_1): New function. (selftest::test_lexer_string_locations_letter_escape_2): New function. (selftest::test_lexer_string_locations_ucn4): New function. (selftest::test_lexer_string_locations_ucn8): New function. (selftest::uint32_from_big_endian): New function. (selftest::test_lexer_string_locations_wide_string): New function. (selftest::uint16_from_big_endian): New function. (selftest::test_lexer_string_locations_string16): New function. (selftest::test_lexer_string_locations_string32): New function. (selftest::test_lexer_string_locations_u8): New function. (selftest::test_lexer_string_locations_utf8_source): New function. (selftest::test_lexer_string_locations_concatenation_1): New function. (selftest::test_lexer_string_locations_concatenation_2): New function. (selftest::test_lexer_string_locations_concatenation_3): New function. (selftest::test_lexer_string_locations_macro): New function. (selftest::test_lexer_string_locations_stringified_macro_argument): New function. (selftest::test_lexer_string_locations_non_string): New function. (selftest::test_lexer_string_locations_long_line): New function. (selftest::test_lexer_char_constants): New function. (selftest::input_c_tests): Call the new test functions once per case within the line_table test matrix. * input.h (struct string_concat): New struct. (struct location_hash): New struct. (class string_concat_db): New class. * substring-locations.h: New header. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-string-literals-1.c: New file. * gcc.dg/plugin/diagnostic-test-string-literals-2.c: New file. * gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: New file. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above new files. libcpp/ChangeLog: * charset.c (cpp_substring_ranges::cpp_substring_ranges): New constructor. (cpp_substring_ranges::~cpp_substring_ranges): New destructor. (cpp_substring_ranges::add_range): New method. (cpp_substring_ranges::add_n_ranges): New method. (_cpp_valid_ucn): Add "char_range" and "loc_reader" params; if they are non-NULL, read position information from *loc_reader and update char_range->m_finish accordingly. (convert_ucn): Add "char_range", "loc_reader", and "ranges" params. If loc_reader is non-NULL, read location information from it, and update *ranges accordingly, using char_range. Conditionalize the conversion into tbuf on tbuf being non-NULL. (convert_hex): Likewise, conditionalizing the call to emit_numeric_escape on tbuf. (convert_oct): Likewise. (convert_escape): Add params "loc_reader" and "ranges". If loc_reader is non-NULL, read location information from it, and update *ranges accordingly. Conditionalize the conversion into tbuf on tbuf being non-NULL. (cpp_interpret_string): Rename to... (cpp_interpret_string_1): ...this, adding params "loc_readers" and "out". Use "to" to conditionalize the initialization and usage of "tbuf", such as running the converter. If "loc_readers" is non-NULL, use the instances within it, reading location information from them, and passing them to convert_escape; likewise write to "out" if loc_readers is non-NULL. Check for leading quote and issue an error if it is not present. Update boundary check from "== limit" to ">= limit" to protect against erroneous location values to calls that are not parsing string literals. (cpp_interpret_string): Reimplement in terms to cpp_interpret_string_1. (noop_error_cb): New function. (cpp_interpret_string_ranges): New function. (cpp_string_location_reader::cpp_string_location_reader): New constructor. (cpp_string_location_reader::get_next): New method. * include/cpplib.h (class cpp_string_location_reader): New class. (class cpp_substring_ranges): New class. (cpp_interpret_string_ranges): New prototype. * internal.h (_cpp_valid_ucn): Add params "char_range" and "loc_reader". * lex.c (forms_identifier_p): Pass NULL for new params to _cpp_valid_ucn. From-SVN: r239175
2016-08-05 20:08:33 +02:00
2016-08-05 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-string-literals-1.c: New file.
* gcc.dg/plugin/diagnostic-test-string-literals-2.c: New file.
* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: New file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above new files.
2016-08-05 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/72810
* gcc.dg/tree-ssa/vrp110.c: New test.
[AArch64] Handle HFAs of float16 types properly Fix PR Target/72819. gcc/ PR Target/72819 * config/aarch64/aarch64.h (aarch64_fp16_type_node): Declare. (aarch64_fp16_ptr_type_node): Likewise. * config/aarch64/aarch64-simd-builtins.c (aarch64_fp16_ptr_type_node): Define. (aarch64_init_fp16_types): New, refactored out of... (aarch64_init_builtins): ...here, update to call aarch64_init_fp16_types. * config/aarch64/aarch64.c (aarch64_gimplify_va_arg_expr): Handle HFmode. (aapcs_vfp_sub_candidate): Likewise. gcc/testsuite/ PR Target/72819 * gcc.target/aarch64/aapcs64/abitest-common.h: Define half-precision registers. * gcc.target/aarch64/aapcs64/abitest.S (dumpregs): Add assembly for saving the half-precision registers. * gcc.target/aarch64/aapcs64/func-ret-1.c: Test that an __fp16 value is returned in h0. * gcc.target/aarch64/aapcs64/test_2.c: Check that __FP16 arguments are passed in FP/SIMD registers. * gcc.target/aarch64/aapcs64/test_27.c: New, test that __fp16 HFA passing works corrcetly. * gcc.target/aarch64/aapcs64/type-def.h (hfa_f16x1_t): New. (hfa_f16x2_t): Likewise. (hfa_f16x3_t): Likewise. * gcc.target/aarch64/aapcs64/va_arg-1.c: Check that __fp16 values are promoted to double and passed in a double register. * gcc.target/aarch64/aapcs64/va_arg-2.c: Check that __fp16 values are promoted to double and stacked. * gcc.target/aarch64/aapcs64/va_arg-4.c: Check stacking of HFA of __fp16 data types. * gcc.target/aarch64/aapcs64/va_arg-5.c: Likewise. * gcc.target/aarch64/aapcs64/va_arg-16.c: New, check HFAs of __fp16 first get passed in FP/SIMD registers, then stacked. From-SVN: r239173
2016-08-05 18:08:24 +02:00
2016-08-05 James Greenhalgh <james.greenhalgh@arm.com>
PR Target/72819
* gcc.target/aarch64/aapcs64/abitest-common.h: Define half-precision
registers.
* gcc.target/aarch64/aapcs64/abitest.S (dumpregs): Add assembly for
saving the half-precision registers.
* gcc.target/aarch64/aapcs64/func-ret-1.c: Test that an __fp16
value is returned in h0.
* gcc.target/aarch64/aapcs64/test_2.c: Check that __FP16 arguments
are passed in FP/SIMD registers.
* gcc.target/aarch64/aapcs64/test_27.c: New, test that __fp16 HFA
passing works corrcetly.
* gcc.target/aarch64/aapcs64/type-def.h (hfa_f16x1_t): New.
(hfa_f16x2_t): Likewise.
(hfa_f16x3_t): Likewise.
* gcc.target/aarch64/aapcs64/va_arg-1.c: Check that __fp16 values
are promoted to double and passed in a double register.
* gcc.target/aarch64/aapcs64/va_arg-2.c: Check that __fp16 values
are promoted to double and stacked.
* gcc.target/aarch64/aapcs64/va_arg-4.c: Check stacking of HFA of
__fp16 data types.
* gcc.target/aarch64/aapcs64/va_arg-5.c: Likewise.
* gcc.target/aarch64/aapcs64/va_arg-16.c: New, check HFAs of
__fp16 first get passed in FP/SIMD registers, then stacked.
2016-08-05 Nathan Sidwell <nathan@acm.org>
PR c++/68724
* g++.dg/cpp0x/pr68724.C: New.
2016-08-05 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ivopt_5.c: Make robust against edge swapping.
2016-08-04 Patrick Palka <ppalka@gcc.gnu.org>
* gcc.dg/tree-ssa/vrp107.c: New test.
* gcc.dg/tree-ssa/vrp108.c: New test.
* gcc.dg/tree-ssa/vrp109.c: New test.
2016-08-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/pr70920-4.c: Move dg-require-effective-target before
dg-options.
2016-08-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/tree-ssa/pr71078-1.c: Remove double and long double
test-cases.
* gcc.dg/tree-ssa/pr71078-1-double.c: New test-case.
* gcc.dg/tree-ssa/pr71078-1-long-double.c: Likewise.
* gcc.dg/tree-ssa/pr71078-2.c: Remove double and long double
test-cases.
* gcc.dg/tree-ssa/pr71078-2-double.c: New test-case.
* gcc.dg/tree-ssa/pr71078-2-long-double.c: Likewise.
* gcc.dg/tree-ssa/pr71078-3.c: Add require-effective-check for
large_double.
2016-08-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/72800
* g++.dg/cpp1y/lambda-ice1.C: New.
2016-08-04 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/72759
* g++.dg/cpp1y/pr72759.C: New test.
2016-08-04 Patrick Palka <ppalka@gcc.gnu.org>
* gcc.dg/switch-10.c: New test.
2016-08-04 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.c-torture/execute/pr70903.c: Remove duplicate test body.
2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
* c-c++-common/goacc/routine-5.c: Update.
2016-08-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR rtl-optimization/70903
* gcc.c-torture/execute/pr70903.c: New test.
2016-08-04 Martin Liska <mliska@suse.cz>
* gcc.dg/params/params.exp: Replace file exists with
TESTING_IN_BUILD_TREE.
2016-08-04 Marek Polacek <polacek@redhat.com>
PR c++/70229
* g++.dg/cpp0x/constexpr-ctor19.C: New test.
2016-08-04 Richard Biener <rguenther@suse.de>
PR middle-end/71984
* gcc.dg/torture/pr71984.c: Guard correctness check for
little-endian.
2016-08-03 Andrew Pinski <apinski@cavium.com>
* gcc.c-torture/compile/20160802-1.c: New testcase.
2016-08-03 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_intrinsic_ints.f90: New testcase.
2016-08-03 Richard Biener <rguenther@suse.de>
* c-c++-common/ubsan/pr71403-1.c: Use dg-additional-options
and remove -O3.
* c-c++-common/ubsan/pr71403-2.c: Likewise.
* c-c++-common/ubsan/pr71403-3.c: Likewise.
2016-08-03 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/loadpre2.c: Disable LIM.
* gcc.dg/tree-ssa/loadpre21.c: Likewise.
* gcc.dg/tree-ssa/loadpre22.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-23.c: Likewise.
2016-08-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/init-excess-2.c: Require int32plus.
* gcc.dg/pr44024.c: Skip if target keeps null pointer checks.
* gcc.dg/pr59963-2.c: Require int32plus.
* gcc.dg/pr71084.c: Cast pointer to intprt_t.
* gcc.dg/unroll-7.c: Require int32plus.
2016-08-02 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/34114
* gcc.dg/tree-ssa/loop-42.c: New test.
2016-08-02 Tamar Christina <tamar.christina@arm.com>
* gcc.target/aarch64/vminmaxnm.c: New.
* gcc.target/aarch64/simd/vminmaxnm_1.c (main): Add float64x1_t
tests.
rs6000-c.c (altivec_resolve_overloaded_builtin): Add support for vec_extract on vector float... [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. From-SVN: r238971
2016-08-02 01:27:38 +02:00
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.
This patch optimizes the prolog and epilog code to reduce the number of instructions and avoid multiple writes to SP. 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. From-SVN: r238960
2016-08-01 18:37:24 +02:00
2016-08-01 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/test_frame_10.c: Fix test to check for a
rs6000-c.c (altivec_resolve_overloaded_builtin): Add support for vec_extract on vector float... [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. From-SVN: r238971
2016-08-02 01:27:38 +02:00
single stack adjustment, no writeback.
This patch optimizes the prolog and epilog code to reduce the number of instructions and avoid multiple writes to SP. 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. From-SVN: r238960
2016-08-01 18:37:24 +02:00
* 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.
2015-08-01 H.J. Lu <hongjiu.lu@intel.com>
PR target/72748
* gcc.target/i386/pr72748.c: New test.
2015-08-01 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71818
* gcc.dg/vect/pr71818.c: New
2016-08-01 Martin Liska <mliska@suse.cz>
PR tree-optimization/71857
* gcc.dg/tree-ssa/ivopt_mult_4.c: Change expectation.
2016-08-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ldp_stp_unaligned_1.c: New test.
2016-08-01 Jan Beulich <jbeulich@suse.com>
* gcc.dg/vshift-6.c, gcc.dg/vshift-7.c: New.
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.
2016-07-31 Jonathan Wakely <jwakely@redhat.com>
* lib/target-supports.exp (check_effective_target_c): Fix indentation.
(check_effective_target_c++): Likewise. Also match for libstdc++.
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.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/68566
* gfortran.dg/pr68566.f90: new test.
2016-07-30 Martin Sebor <msebor@redhat.com>
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.
rs6000-protos.h (rs6000_adjust_vec_address): New function that takes a vector memory address... [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. From-SVN: r238908
2016-07-31 00:31:16 +02:00
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.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69867
* gfortran.dg/pr69867.f90: New test.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/69962
* gfortran.dg/pr69962.f90: New test.
2016-07-30 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/70006
* gfortran.dg/pr70006.f90: New test.
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.
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.
2016-07-29 Marek Polacek <polacek@redhat.com>
PR c/71742
* 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.
PR c/71853
* gcc.dg/noncompile/pr71853.c: New test.
PR c/71573
* gcc.dg/noncompile/pr71573.c: New test.
PR c/71926
* g++.dg/warn/Wparentheses-30.C: New test.
* gcc.dg/Wparentheses-14.c: New test.
2016-07-29 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/pr59833.c: Use dg-add-options ieee.
2016-07-29 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/57558
* gcc.dg/vect/pr57558-1.c: New test.
* gcc.dg/vect/pr57558-2.c: New test.
2016-07-29 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/pr70920-4.c: Restrict to lp64 targets and make scan-tree-dump
to scan forwprop1 dump pass.
2016-07-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51488
* g++.dg/template/pr51488.C: New.
2016-07-29 Jakub Jelinek <jakub@redhat.com>
PR c/71969
* 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.
2016-07-29 Marek Polacek <polacek@redhat.com>
PR c/71574
* c-c++-common/pr71574.c: New test.
PR c/71583
* gcc.dg/noncompile/pr71583.c: New test.
2016-07-29 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/68217
* gcc.dg/pr68217.c: New test.
2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71067
* gfortran.dg/pr71067_1.f90: New test.
* gfortran.dg/pr71067_2.f90: Ditto.
rs6000-protos.h (rs6000_split_vec_extract_var): New declaration. [gcc] 2016-07-28 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-protos.h (rs6000_split_vec_extract_var): New declaration. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add support for vec_extract of vector double or vector long having a variable element number on 64-bit ISA 2.07 systems or newer. * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Likewise. (rs6000_split_vec_extract_var): New function to split a vec_extract built-in function with variable element number. (rtx_is_swappable_p): Variable vec_extracts and shifts are not swappable. * config/rs6000/vsx.md (UNSPEC_VSX_VSLO): New unspec. (UNSPEC_VSX_EXTRACT): Likewise. (vsx_extract_<mode>, VSX_D iterator): Fix constraints to allow direct move instructions to be generated on 64-bit ISA 2.07 systems and newer, and to take advantage of the ISA 3.0 MFVSRLD instruction. (vsx_vslo_<mode>): New insn to do VSLO on V2DFmode and V2DImode arguments for vec_extract variable element. (vsx_extract_<mode>_var, VSX_D iterator): New insn to support vec_extract with variable element on V2DFmode and V2DImode vectors. * config/rs6000/rs6000.h (TARGET_VEXTRACTUB): Remove -mupper-regs-df requirement, since it isn't needed. (TARGET_DIRECT_MOVE_64BIT): New macro to say whether we can do direct moves on 64-bit systems, which allows optimization of vec_extract on 64-bit ISA 2.07 systems and newer. [gcc/testsuite] 2016-07-28 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vec-extract-1.c: New test. From-SVN: r238838
2016-07-28 23:02:06 +02:00
2016-07-28 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-extract-1.c: New test.
2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71799
* gfortran.dg/pr71799.f90: New test.
2016-07-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71665
* g++.dg/cpp0x/pr71665-1.C: New.
* g++.dg/cpp0x/pr71665-2.C: Likewise.
* g++.dg/cpp0x/enum29.C: Adjust dg-error string.
* g++.dg/ext/label10.C: Likewise.
* g++.dg/parse/constant5.C: Likewise.
2016-07-28 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71859
* gfortran.dg/pr71859.f90: New test.
* gfortran.dg/intrinsic_numeric_arg.f: Update error message.
* gfortran.dg/coarray_collectives_1.f90: Ditto.
2016-07-28 Paul Thomas <pault@gcc.gnu.org>
PR fortran/71883
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gfortran.dg/pr71883.f90: New test.
2016-07-28 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/71734
* g++.dg/vect/pr70729-nest.cc: New test.
2016-07-28 Renlin Li <renlin.li@arm.com>
Revert
2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71902
* gfortran.dg/dependency_47.f90: New test.
2016-07-28 Martin Liska <mliska@suse.cz>
PR gcov-profile/68025
* gcc.dg/no_profile_instrument_function-attr-1.c: New test.
2016-07-28 Martin Liska <mliska@suse.cz>
* g++.dg/vect/pr70944.cc: New test.
2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71994
* gcc.dg/torture/pr71994.c: New test.
2016-07-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/71078
* gcc.dg/tree-ssa/pr71078-1.c: New test-case.
* gcc.dg/tree-ssa/pr71078-2.c: Likewise.
* gcc.dg/tree-ssa/pr71078-3.c: Likewise.
2016-07-27 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: Remove.
2016-07-27 Martin Liska <mliska@suse.cz>
* gcc.dg/predict-13.c: New test.
* gcc.dg/predict-14.c: New test.
2016-07-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/pr69352.c: Use __INTPTR_TYPE__ instead of
including stdint.h.
* gcc.dg/torture/pr71866.c: Use __UINTPTR_TYPE__ isntead of
including stdint.h.
2016-07-26 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71869
* gcc.target/powerpc/float128-cmp.c: New test to make sure that
IEEE built-in functions handle quiet and signalling NaNs
correctly.
2016-07-26 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71862
* gfortran.dg/pr71862.f90: New test.
2016-07-26 Martin Sebor <msebor@redhat.com>
* gcc.dg/atomic/pr71675.c: Replace the unsupported c11 target
selector with dg-options.
2016-07-26 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/18046
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Bump FSM count to 5.
* gcc.dg/tree-ssa/vrp103.c: New test.
* gcc.dg/tree-ssa/vrp104.c: New test.
2016-07-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354.c: Require lp64 since
-mprofile-kernel is not legal with -m32.
2016-07-26 Richard Biener <rguenther@suse.de>
PR rtl-optimization/71984
* gcc.dg/torture/pr71984.c: New testcase.
Add support to run auto-vectorization tests for multiple effective targets. gcc/testsuite/ * g++.dg/vect/vect.exp: Add and set new global EFFECTIVE_TARGETS. Call g++-dg-runtest via et-dg-runtest. * gcc.dg/graphite/graphite.exp: Likewise, but for dg-runtest. * gcc.dg/vect/vect.exp: Likewise. * gfortran.dg/graphite/graphite.exp: Likewise, but for gfortran-dg-runtest. * gfortran.dg/vect/vect.exp: Likewise. * lib/target-supports.exp (check_mpaired_single_hw_available): New. (check_mips_loongson_hw_available): Likewise. (check_effective_target_mpaired_single_runtime): Likewise. (check_effective_target_mips_loongson_runtime): Likewise. (add_options_for_mpaired_single): Likewise. (check_effective_target_vect_int): Add global et_index. Check and save the supported feature for a target selected by the et_index target. Break long lines where appropriate. Call et-is-effective-target for MIPS with an argument instead of check_effective_target_* where appropriate. (check_effective_target_vect_intfloat_cvt): Likewise. (check_effective_target_vect_uintfloat_cvt): Likewise. (check_effective_target_vect_floatint_cvt): Likewise. (check_effective_target_vect_floatuint_cvt): Likewise. (check_effective_target_vect_simd_clones): Likewise. (check_effective_target_vect_shift): ewise. (check_effective_target_whole_vector_shift): Likewise. (check_effective_target_vect_bswap): Likewise. (check_effective_target_vect_shift_char): Likewise. (check_effective_target_vect_long): Likewise. (check_effective_target_vect_float): Likewise. (check_effective_target_vect_double): Likewise. (check_effective_target_vect_long_long): Likewise. (check_effective_target_vect_no_int_max): Likewise. (check_effective_target_vect_no_int_add): Likewise. (check_effective_target_vect_no_bitwise): Likewise. (check_effective_target_vect_widen_shift): Likewise. (check_effective_target_vect_no_align): Likewise. (check_effective_target_vect_hw_misalign): Likewise. (check_effective_target_vect_element_align): Likewise. (check_effective_target_vect_condition): Likewise. (check_effective_target_vect_cond_mixed): Likewise. (check_effective_target_vect_char_mult): Likewise. (check_effective_target_vect_short_mult): Likewise. (check_effective_target_vect_int_mult): Likewise. (check_effective_target_vect_extract_even_odd): Likewise. (check_effective_target_vect_interleave): Likewise. (check_effective_target_vect_stridedN): Likewise. (check_effective_target_vect_multiple_sizes): Likewise. (check_effective_target_vect64): Likewise. (check_effective_target_vect_call_copysignf): Likewise. (check_effective_target_vect_call_sqrtf): Likewise. (check_effective_target_vect_call_btrunc): Likewise. (check_effective_target_vect_call_btruncf): Likewise. (check_effective_target_vect_call_ceil): Likewise. (check_effective_target_vect_call_ceilf): Likewise. (check_effective_target_vect_call_floor): Likewise. (check_effective_target_vect_call_floorf): Likewise. (check_effective_target_vect_call_lceil): Likewise. (check_effective_target_vect_call_lfloor): Likewise. (check_effective_target_vect_call_nearbyint): Likewise. (check_effective_target_vect_call_nearbyintf): Likewise. (check_effective_target_vect_call_round): Likewise. (check_effective_target_vect_call_roundf): Likewise. (check_effective_target_vect_perm): Likewise, but also append *_saved to the existing global name to properly cache the result. (check_effective_target_vect_perm_byte): Likewise. (check_effective_target_vect_perm_short): Likewise. (check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise. (check_effective_target_vect_widen_sum_hi_to_si): Likewise. (check_effective_target_vect_widen_sum_qi_to_hi): Likewise. (check_effective_target_vect_widen_sum_qi_to_si): Likewise. (check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise. (check_effective_target_vect_widen_mult_qi_to_hi): Likewise. (check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise. (check_effective_target_vect_widen_mult_si_to_di_pattern): Likewise. (check_effective_target_vect_sdot_qi): Likewise. (check_effective_target_vect_udot_qi): Likewise. (check_effective_target_vect_sdot_hi): Likewise. (check_effective_target_vect_udot_hi): Likewise. (check_effective_target_vect_usad_char): Likewise. (check_effective_target_vect_pack_trunc): Likewise. (check_effective_target_vect_unpack): Likewise. (check_effective_target_vect_aligned_arrays): Likewise. (check_effective_target_vect_natural_alignment): Likewise. (check_effective_target_vector_alignment_reachable): Likewise. (check_effective_target_vector_alignment_reachable_for_64bit): Likewise. (is-effective-target): Initialize et_index if undefined. (et-dg-runtest): New. (et-is-effective-target): Likewise. (check_vect_support_and_set_flags): Add supported MIPS targets to EFFECTIVE_TARGETS list. Return the number of supported targets. From-SVN: r238755
2016-07-26 15:20:03 +02:00
2016-07-26 Robert Suchanek <robert.suchanek@imgtec.com>
* g++.dg/vect/vect.exp: Add and set new global EFFECTIVE_TARGETS. Call
g++-dg-runtest via et-dg-runtest.
* gcc.dg/graphite/graphite.exp: Likewise, but for dg-runtest.
* gcc.dg/vect/vect.exp: Likewise.
* gfortran.dg/graphite/graphite.exp: Likewise, but for
gfortran-dg-runtest.
* gfortran.dg/vect/vect.exp: Likewise.
* lib/target-supports.exp (check_mpaired_single_hw_available): New.
(check_mips_loongson_hw_available): Likewise.
(check_effective_target_mpaired_single_runtime): Likewise.
(check_effective_target_mips_loongson_runtime): Likewise.
(add_options_for_mpaired_single): Likewise.
(check_effective_target_vect_int): Add global et_index.
Check and save the supported feature for a target selected by
the et_index target. Break long lines where appropriate. Call
et-is-effective-target for MIPS with an argument instead of
check_effective_target_* where appropriate.
(check_effective_target_vect_intfloat_cvt): Likewise.
(check_effective_target_vect_uintfloat_cvt): Likewise.
(check_effective_target_vect_floatint_cvt): Likewise.
(check_effective_target_vect_floatuint_cvt): Likewise.
(check_effective_target_vect_simd_clones): Likewise.
(check_effective_target_vect_shift): ewise.
(check_effective_target_whole_vector_shift): Likewise.
(check_effective_target_vect_bswap): Likewise.
(check_effective_target_vect_shift_char): Likewise.
(check_effective_target_vect_long): Likewise.
(check_effective_target_vect_float): Likewise.
(check_effective_target_vect_double): Likewise.
(check_effective_target_vect_long_long): Likewise.
(check_effective_target_vect_no_int_max): Likewise.
(check_effective_target_vect_no_int_add): Likewise.
(check_effective_target_vect_no_bitwise): Likewise.
(check_effective_target_vect_widen_shift): Likewise.
(check_effective_target_vect_no_align): Likewise.
(check_effective_target_vect_hw_misalign): Likewise.
(check_effective_target_vect_element_align): Likewise.
(check_effective_target_vect_condition): Likewise.
(check_effective_target_vect_cond_mixed): Likewise.
(check_effective_target_vect_char_mult): Likewise.
(check_effective_target_vect_short_mult): Likewise.
(check_effective_target_vect_int_mult): Likewise.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_interleave): Likewise.
(check_effective_target_vect_stridedN): Likewise.
(check_effective_target_vect_multiple_sizes): Likewise.
(check_effective_target_vect64): Likewise.
(check_effective_target_vect_call_copysignf): Likewise.
(check_effective_target_vect_call_sqrtf): Likewise.
(check_effective_target_vect_call_btrunc): Likewise.
(check_effective_target_vect_call_btruncf): Likewise.
(check_effective_target_vect_call_ceil): Likewise.
(check_effective_target_vect_call_ceilf): Likewise.
(check_effective_target_vect_call_floor): Likewise.
(check_effective_target_vect_call_floorf): Likewise.
(check_effective_target_vect_call_lceil): Likewise.
(check_effective_target_vect_call_lfloor): Likewise.
(check_effective_target_vect_call_nearbyint): Likewise.
(check_effective_target_vect_call_nearbyintf): Likewise.
(check_effective_target_vect_call_round): Likewise.
(check_effective_target_vect_call_roundf): Likewise.
(check_effective_target_vect_perm): Likewise, but also append *_saved
to the existing global name to properly cache the result.
(check_effective_target_vect_perm_byte): Likewise.
(check_effective_target_vect_perm_short): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_sum_hi_to_si): Likewise.
(check_effective_target_vect_widen_sum_qi_to_hi): Likewise.
(check_effective_target_vect_widen_sum_qi_to_si): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi_pattern): Likewise.
(check_effective_target_vect_widen_mult_qi_to_hi): Likewise.
(check_effective_target_vect_widen_mult_hi_to_si_pattern): Likewise.
(check_effective_target_vect_widen_mult_si_to_di_pattern): Likewise.
(check_effective_target_vect_sdot_qi): Likewise.
(check_effective_target_vect_udot_qi): Likewise.
(check_effective_target_vect_sdot_hi): Likewise.
(check_effective_target_vect_udot_hi): Likewise.
(check_effective_target_vect_usad_char): Likewise.
(check_effective_target_vect_pack_trunc): Likewise.
(check_effective_target_vect_unpack): Likewise.
(check_effective_target_vect_aligned_arrays): Likewise.
(check_effective_target_vect_natural_alignment): Likewise.
(check_effective_target_vector_alignment_reachable): Likewise.
(check_effective_target_vector_alignment_reachable_for_64bit): Likewise.
(is-effective-target): Initialize et_index if undefined.
(et-dg-runtest): New.
(et-is-effective-target): Likewise.
(check_vect_support_and_set_flags): Add supported MIPS targets to
EFFECTIVE_TARGETS list. Return the number of supported targets.
2016-07-26 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR middle-end/70920
* gcc.dg/pr70920-1.c: New test-case.
* gcc.dg/pr70902-2.c: Likewise.
* gcc.dg/pr70920-3.c: Likewise.
* gcc.dg/pr70920-4.c: Likewise
* gcc.dg/tree-ssa/ssa-dom-branch-1.c: Change scan-tree-dump-times to
2 instead of 3.
2016-07-25 Alexander Monakov <amonakov@ispras.ru>
* gcc.c-torture/execute/pr71494.c: Require label_values.
* gcc.dg/pr16973.c: Ditto.
2016-07-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/torture/pr69352.c (foo): Cast to intptr_t instead of long.
* gcc.dg/torture/pr69771.c: Require int32plus.
* gcc.dg/torture/pr71866.c (inb): Add cast to intptr_t.
2016-07-25 Martin Liska <mliska@suse.cz>
* gcc.dg/torture/pr71987.c: New test.
2016-07-22 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/71935
* gfortran.dg/c_sizeof_1.f90: Move invalid code to ...
* gfortran.dg/c_sizeof_6.f90: here. Test for error.
* gfortran.dg/pr71935.f90: New test.
2016-07-22 Martin Sebor <msebor@redhat.com>
PR c++/71675
* g++.dg/ext/atomic-3.C: New test.
* gcc.dg/atomic/pr71675.c: New test.
2016-07-22 Evgeny Stupachenko <evstupac@gmail.com>
* gcc.target/i386/mvc8.c: New test.
2016-07-22 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/pr19210-1.c: Refine test strings.
* gcc.dg/tree-ssa/pr19210-2.c: Delete.
2016-07-22 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71795
* gfortran.dg/constructor_50.f90: New test.
2016-07-22 Martin Liska <mliska@suse.cz>
PR gcov-profile/69028
PR gcov-profile/62047
* g++.dg/cilk-plus/pr69028.C: New test.
2016-07-22 Andre Vehreschild <vehre@gcc.gnu.org>
* gfortran.dg/coarray_stat_2.f90: New test.
2016-07-21 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-extract.h: New files to check the
vec_extract built-in functions for all vector types, testing
accessing each element, both with constant and variable element
numbers.
* gcc.target/powerpc/vec-extract-v16qi.c: Likewise.
* gcc.target/powerpc/vec-extract-v16qiu.c: Likewise.
* gcc.target/powerpc/vec-extract-v2df.c: Likewise.
* gcc.target/powerpc/vec-extract-v2di.c: Likewise.
* gcc.target/powerpc/vec-extract-v4sf.c: Likewise.
* gcc.target/powerpc/vec-extract-v4si.c: Likewise.
* gcc.target/powerpc/vec-extract-v4siu.c: Likewise.
* gcc.target/powerpc/vec-extract-v8hi.c: Likewise.
* gcc.target/powerpc/vec-extract-v8hiu.c: Likewise.
2016-07-21 Jakub Jelinek <jakub@redhat.com>
PR c++/71728
* g++.dg/other/pr71728.C: New test.
2016-07-21 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/ifcvt-2.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/ifcvt-3.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/pr68435.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/ifcvt-4.c: Use parameter to guide if-conversion heuristics.
* gcc.dg/ifcvt-5.c: Use parameter to guide if-conversion heuristics.
2016-07-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/71947
* gcc.dg/tree-ssa/vrp102.c: New testcase.
2016-07-21 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/scev-15.c: New.
2016-07-21 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/vect-mask-store-move-1.c: XFAIL.
2016-07-21 Jakub Jelinek <jakub@redhat.com>
PR c++/71941
* g++.dg/gomp/pr71941.C: New test.
2016-07-20 David Malcolm <dmalcolm@redhat.com>
PR c/70339
PR c/71858
* g++.dg/spellcheck-identifiers.C: New test case, based on
gcc.dg/spellcheck-identifiers.c.
* g++.dg/spellcheck-identifiers-2.C: New test case, based on
gcc.dg/spellcheck-identifiers-2.c.
* g++.dg/spellcheck-typenames.C: New test case, based on
gcc.dg/spellcheck-typenames.c
2016-07-20 Jonathan Wakely <jwakely@redhat.com>
* g++.dg/cpp0x/nullptr35.C: Change expected result for catching as
pointer to member function and also test catching by reference.
2016-07-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/pr67443.c: Fix test case.
2016-07-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/insv-1.c: Xfail some tests.
* gcc.target/s390/insv-2.c: Likewise.
2016-07-20 Georg-Johann Lay <avr@gjlay.de>
* gcc.target/avr/torture/get-mem.c: New test.
* gcc.target/avr/torture/set-mem.c: New test.
2016-07-20 Georg-Johann Lay <avr@gjlay.de>
PR target/71948
* gcc.target/avr/torture/tiny-progmem.c: New test.
2016-07-20 Jakub Jelinek <jakub@redhat.com>
PR c++/71909
* g++.dg/parse/pr71909.C: New test.
* g++.dg/tm/pr71909.C: New test.
PR c++/50060
* g++.dg/cpp0x/constexpr-50060.C: New test.
* g++.dg/cpp1y/constexpr-50060.C: New test.
2016-07-20 Martin Liska <mliska@suse.cz>
* gfortran.dg/graphite/pr71898.f90: New test.
2016-07-20 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/71503
PR tree-optimization/71683
* gcc.dg/tree-ssa/ifc-pr71503.c: New test.
* gcc.dg/tree-ssa/ifc-pr71683.c: New test.
2016-07-20 Martin Liska <mliska@suse.cz>
* gcc.dg/plugin/plugin.exp: Remove sreal test.
* gcc.dg/plugin/sreal-test-1.c: Remove.
* gcc.dg/plugin/sreal_plugin.c: Remove.
2016-07-19 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71902
* gfortran.dg/dependency_47.f90: New test.
2016-07-19 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/71916
* gcc.c-torture/compile/pr71916.c: New test.
PR middle-end/71874
* g++.dg/torture/pr71874.C: New test.
PR middle-end/71734
* g++.dg/vect/pr70729.cc: Don't include string.h or xmmintrin.h.
(my_alloc): Rewritten to use __builtin_posix_memalign and
__SIZE_TYPE__.
(my_free): Use __builtin_free instead of _mm_free.
(Vec::operator=): Use __builtin_memcpy.
2016-07-19 Martin Jambor <mjambor@suse.cz>
PR fortran/71688
* gfortran.dg/pr71688.f90: New test.
2016-07-19 Richard Biener <rguenther@suse.de>
* c-c++-common/vector-subscript-6.c: New testcase.
* c-c++-common/vector-subscript-7.c: Likewise.
2016-07-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/params/blocksort-part.c: Conditionally define Int32
and UInt32 based on __SIZEOF_INT__.
2016-07-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/71901
* gcc.dg/torture/pr71901.c: New testcase.
2016-07-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/71908
* gcc.dg/torture/pr71908.c: New testcase.
2016-07-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71493
* gcc.target/powerpc/pr71493-1.c: New test.
* gcc.target/powerpc/pr71493-2.c: Likewise.
2016-07-18 Jakub Jelinek <jakub@redhat.com>
PR c++/71835
* g++.dg/conversion/ambig3.C: New test.
PR c++/71828
* g++.dg/cpp0x/constexpr-71828.C: New test.
PR c++/71826
* g++.dg/template/pr71826.C: New test.
PR c++/71822
* g++.dg/template/defarg21.C: New test.
PR c++/71871
* g++.dg/ext/vector31.C: New test.
2016-07-18 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.
2016-07-18 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/71734
* g++.dg/vect/pr70729.cc: Delete redundant dg options, fix style.
Allocate constant size dynamic stack space in the prologue The attached patch fixes a warning during Linux kernel compilation on S/390 due to -mwarn-dynamicstack and runtime alignment of stack variables with constant size causing cfun->calls_alloca to be set (even if alloca is not used at all). The patched code places constant size runtime aligned variables in the "virtual stack vars" area instead of creating a "virtual stack dynamic" area. This behaviour is activated by defining #define ALLOCATE_DYNAMIC_STACK_SPACE_IN_PROLOGUE 1 in the backend; otherwise the old logic is used. The kernel uses runtime alignment for the page structure (aligned to 16 bytes), and apart from triggereing the alloca warning (-mwarn-dynamicstack), the current Gcc also generates inefficient code like aghi %r15,-160 # prologue: create stack frame lgr %r11,%r15 # prologue: generate frame pointer aghi %r15,-32 # space for dynamic stack which could be simplified to aghi %r15,-192 (if later optimization passes are able to get rid of the frame pointer). Is there a specific reason why the patched behaviour shouldn't be used for all platforms? -- As the placement of runtime aligned stack variables with constant size is done completely in the middleend, I don't see a way to fix this in the backend. gcc/ChangeLog: 2016-07-18 Dominik Vogt <vogt@linux.vnet.ibm.com> * cfgexpand.c (expand_stack_vars): Implement synamic stack space allocation in the prologue. * explow.c (get_dynamic_stack_base): New function to return an address expression for the dynamic stack base. (get_dynamic_stack_size): New function to do the required dynamic stack space size calculations. (allocate_dynamic_stack_space): Use new functions. (align_dynamic_address): Move some code from allocate_dynamic_stack_space to new function. * explow.h (get_dynamic_stack_base, get_dynamic_stack_size): Export. gcc/testsuite/ChangeLog: 2016-07-18 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/warn-dynamicstack-1.c: New test. * gcc.dg/stack-usage-2.c (foo3): Adapt expected warning. stack-layout-dynamic-1.c: New test. From-SVN: r238432
2016-07-18 15:10:27 +02:00
2016-07-18 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/warn-dynamicstack-1.c: New test.
* gcc.dg/stack-usage-2.c (foo3): Adapt expected warning.
stack-layout-dynamic-1.c: New test.
2016-07-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/nolrl-1.c: New test.
2016-07-17 Fritz Reese <fritzoreese@gmail.com>
PR fortran/71523
* gfortran.dg/pr71523_1.f90: New test.
* gfortran.dg/pr71523_2.f90: New test.
2016-07-16 Andreas Schwab <schwab@linux-m68k.org>
* g++.dg/cpp0x/nullptr35.C (caught): Fix typo.
2016-07-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Marco Restelli <mrestelli@gmail.com>
PR fortran/62125
* gfortran.dg/pr62125.f90: New test.
2016-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/divkc3-1.c: Require p8vector support.
* gcc.target/powerpc/mulkc3-1.c: Likewise.
2016-07-15 Jonathan Wakely <jwakely@redhat.com>
PR c++/58796
* g++.dg/cpp0x/nullptr21.C: Remove void* handlers.
* g++.dg/cpp0x/nullptr35.C: New test.
2016-07-15 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/scev-8.c: Update test string.
2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
* gfortran.dg/goacc/vector_length.f90: New test.
2016-07-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/71881
* gcc.dg/torture/pr71881.c: New testcase.
2016-07-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/71887
* gcc.dg/torture/pr71887.c: New testcase.
2016-07-15 Jakub Jelinek <jakub@redhat.com>
PR c/71858
* gcc.dg/spellcheck-identifiers-3.c: New test.
2016-07-15 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/71807
* gfortran.dg/null_9.f90: New test.
2016-07-15 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/loop-41.c: New test.
2016-07-15 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.
2016-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/29819
* gfortran.dg/bind_c_usage_9.f03: Move dg-error.
* gfortran.dg/contains.f90: Ditto.
* gfortran.dg/contains_empty_1.f03: Ditto.
* gfortran.dg/submodule_3.f08: Ditto.
2016-07-14 Jakub Jelinek <jakub@redhat.com>
PR testsuite/71865
* gcc.dg/diagnostic-token-ranges.c: Add -std=c11 to dg-options.
(wide_string_literal_in_asm): Use __asm instead of asm, adjust
expected diagnostics.
PR c/71858
* gcc.dg/spellcheck-identifiers.c (snprintf): Declare.
* gcc.dg/spellcheck-identifiers-2.c: New test.
* gcc.dg/diagnostic-token-ranges.c (nanl): Declare.
* c-c++-common/attributes-1.c: Adjust dg-prune-output.
2016-07-14 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71872
* gcc.c-torture/compile/pr71872.c: New test.
arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline. 2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_HAVE_LDACQ): Enable for ARMv8-M Mainline. (TARGET_HAVE_LDACQD): New macro. * config/arm/sync.md (atomic_loaddi): Use TARGET_HAVE_LDACQD rather than TARGET_HAVE_LDACQ. (arm_load_acquire_exclusivedi): Likewise. (arm_store_release_exclusivedi): Likewise. libgcc/ * gcc.target/arm/atomic-comp-swap-release-acquire.c: Rename into ... * gcc.target/arm/atomic-comp-swap-release-acquire-1.c: This. * gcc.target/arm/atomic-op-acq_rel.c: Rename into ... * gcc.target/arm/atomic-op-acq_rel-1.c: This. * gcc.target/arm/atomic-op-acquire.c: Rename into ... * gcc.target/arm/atomic-op-acquire-1.c: This. * gcc.target/arm/atomic-op-char.c: Rename into ... * gcc.target/arm/atomic-op-char-1.c: This. * gcc.target/arm/atomic-op-consume.c: Rename into ... * gcc.target/arm/atomic-op-consume-1.c: This. * gcc.target/arm/atomic-op-int.c: Rename into ... * gcc.target/arm/atomic-op-int-1.c: This. * gcc.target/arm/atomic-op-relaxed.c: Rename into ... * gcc.target/arm/atomic-op-relaxed-1.c: This. * gcc.target/arm/atomic-op-release.c: Rename into ... * gcc.target/arm/atomic-op-release-1.c: This. * gcc.target/arm/atomic-op-seq_cst.c: Rename into ... * gcc.target/arm/atomic-op-seq_cst-1.c: This. * gcc.target/arm/atomic-op-short.c: Rename into ... * gcc.target/arm/atomic-op-short-1.c: This. * gcc.target/arm/atomic-comp-swap-release-acquire-2.c: New test. * gcc.target/arm/atomic-op-acq_rel-2.c: Likewise. * gcc.target/arm/atomic-op-acquire-2.c: Likewise. * gcc.target/arm/atomic-op-char-2.c: Likewise. * gcc.target/arm/atomic-op-consume-2.c: Likewise. * gcc.target/arm/atomic-op-int-2.c: Likewise. * gcc.target/arm/atomic-op-relaxed-2.c: Likewise. * gcc.target/arm/atomic-op-release-2.c: Likewise. * gcc.target/arm/atomic-op-seq_cst-2.c: Likewise. * gcc.target/arm/atomic-op-short-2.c: Likewise. From-SVN: r238348
2016-07-14 19:21:21 +02:00
2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/atomic-comp-swap-release-acquire.c: Rename into ...
* gcc.target/arm/atomic-comp-swap-release-acquire-1.c: This.
* gcc.target/arm/atomic-op-acq_rel.c: Rename into ...
* gcc.target/arm/atomic-op-acq_rel-1.c: This.
* gcc.target/arm/atomic-op-acquire.c: Rename into ...
* gcc.target/arm/atomic-op-acquire-1.c: This.
* gcc.target/arm/atomic-op-char.c: Rename into ...
* gcc.target/arm/atomic-op-char-1.c: This.
* gcc.target/arm/atomic-op-consume.c: Rename into ...
* gcc.target/arm/atomic-op-consume-1.c: This.
* gcc.target/arm/atomic-op-int.c: Rename into ...
* gcc.target/arm/atomic-op-int-1.c: This.
* gcc.target/arm/atomic-op-relaxed.c: Rename into ...
* gcc.target/arm/atomic-op-relaxed-1.c: This.
* gcc.target/arm/atomic-op-release.c: Rename into ...
* gcc.target/arm/atomic-op-release-1.c: This.
* gcc.target/arm/atomic-op-seq_cst.c: Rename into ...
* gcc.target/arm/atomic-op-seq_cst-1.c: This.
* gcc.target/arm/atomic-op-short.c: Rename into ...
* gcc.target/arm/atomic-op-short-1.c: This.
* gcc.target/arm/atomic-comp-swap-release-acquire-2.c: New test.
* gcc.target/arm/atomic-op-acq_rel-2.c: Likewise.
* gcc.target/arm/atomic-op-acquire-2.c: Likewise.
* gcc.target/arm/atomic-op-char-2.c: Likewise.
* gcc.target/arm/atomic-op-consume-2.c: Likewise.
* gcc.target/arm/atomic-op-int-2.c: Likewise.
* gcc.target/arm/atomic-op-relaxed-2.c: Likewise.
* gcc.target/arm/atomic-op-release-2.c: Likewise.
* gcc.target/arm/atomic-op-seq_cst-2.c: Likewise.
* gcc.target/arm/atomic-op-short-2.c: Likewise.
2016-07-14 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70842
* gfortran.dg/select_type_35.f03: New test.
2016-07-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/65951
PR tree-optimization/70923
* gcc.dg/vect/vect-mult-const-pattern-1.c: New test.
* gcc.dg/vect/vect-mult-const-pattern-2.c: Likewise.
* gcc.dg/vect/pr65951.c: Likewise.
* gcc.dg/vect/vect-iv-9.c: Remove ! vect_int_mult-specific scan.
2016-07-14 David Edelsohn <dje.gcc@gmail.com>
* c-c++-common/pr60226.c: Expect maximum object file alignment
error on AIX.
2016-07-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/71866
* gcc.dg/torture/pr71866.c: New testcase.
2016-07-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/pr42574.c: Add missing target keyword for the dg-do
selector and enclose boolean expression in curly braces.
2016-07-14 Alan Modra <amodra@gmail.com>
PR target/71733
* gcc.target/powerpc/p9-novsx.c: New.
Some fixes for profile test cases for autofdo This fixes some basic issues with the profile test cases with autofdo. - Disable checking for value transformations that autofdo does not support. - Disable checking for fixed hit counts which autofdo does not support - Enable dumping of afdo log file and check right log file. - Increase run time of test cases to 1M iterations because autofdo needs a few samples to make sense of a program. The test case don't run noticeable slower with that. There are still failures unfortunately, especially the indirect call transformations do not trigger because autofdo thinks they are not hot. This can be addressed later. gcc/testsuite/: 2016-07-13 Andi Kleen <ak@linux.intel.com> * g++.dg/tree-prof/indir-call-prof.C: Basic fixes for autofdo. * g++.dg/tree-prof/morefunc.C: Dito. * g++.dg/tree-prof/pr35545.C: Dito. * g++.dg/tree-prof/reorder.C: Dito. * gcc.dg/tree-prof/20050826-2.c: Dito. * gcc.dg/tree-prof/cmpsf-1.c: Dito. * gcc.dg/tree-prof/cold_partition_label.c: Dito. * gcc.dg/tree-prof/ic-misattribution-1.c: Dito. * gcc.dg/tree-prof/indir-call-prof.c: Dito. * gcc.dg/tree-prof/inliner-1.c: Dito. * gcc.dg/tree-prof/merge_block.c: Dito. * gcc.dg/tree-prof/stringop-1.c: Dito. * gcc.dg/tree-prof/stringop-2.c: Dito. * gcc.dg/tree-prof/switch-case-1.c: Dito. * gcc.dg/tree-prof/switch-case-2.c: Dito. * gcc.dg/tree-prof/time-profiler-1.c: Dito. * gcc.dg/tree-prof/time-profiler-2.c: Dito. * gcc.dg/tree-prof/update-loopch.c: Dito. * gcc.dg/tree-prof/val-prof-1.c: Dito. * gcc.dg/tree-prof/val-prof-2.c: Dito. * gcc.dg/tree-prof/val-prof-3.c: Dito. * gcc.dg/tree-prof/val-prof-4.c: Dito. * gcc.dg/tree-prof/val-prof-5.c: Dito. * gcc.dg/tree-prof/val-prof-6.c: Dito. * gcc.dg/tree-prof/val-prof-7.c: Dito. From-SVN: r238325
2016-07-14 04:14:56 +02:00
2016-07-13 Andi Kleen <ak@linux.intel.com>
* g++.dg/tree-prof/indir-call-prof.C: Basic fixes for autofdo.
* g++.dg/tree-prof/morefunc.C: Dito.
* g++.dg/tree-prof/pr35545.C: Dito.
* g++.dg/tree-prof/reorder.C: Dito.
* gcc.dg/tree-prof/20050826-2.c: Dito.
* gcc.dg/tree-prof/cmpsf-1.c: Dito.
* gcc.dg/tree-prof/cold_partition_label.c: Dito.
* gcc.dg/tree-prof/ic-misattribution-1.c: Dito.
* gcc.dg/tree-prof/indir-call-prof.c: Dito.
* gcc.dg/tree-prof/inliner-1.c: Dito.
* gcc.dg/tree-prof/merge_block.c: Dito.
* gcc.dg/tree-prof/stringop-1.c: Dito.
* gcc.dg/tree-prof/stringop-2.c: Dito.
* gcc.dg/tree-prof/switch-case-1.c: Dito.
* gcc.dg/tree-prof/switch-case-2.c: Dito.
* gcc.dg/tree-prof/time-profiler-1.c: Dito.
* gcc.dg/tree-prof/time-profiler-2.c: Dito.
* gcc.dg/tree-prof/update-loopch.c: Dito.
* gcc.dg/tree-prof/val-prof-1.c: Dito.
* gcc.dg/tree-prof/val-prof-2.c: Dito.
* gcc.dg/tree-prof/val-prof-3.c: Dito.
* gcc.dg/tree-prof/val-prof-4.c: Dito.
* gcc.dg/tree-prof/val-prof-5.c: Dito.
* gcc.dg/tree-prof/val-prof-6.c: Dito.
* gcc.dg/tree-prof/val-prof-7.c: Dito.
2016-07-13 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp (profopt-execute): Remove .imports files.
2016-07-13 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp (profopt-execute): Always log profiler command line.
2016-07-13 Andi Kleen <ak@linux.intel.com>
* lib/profopt.exp (dg-final-scan-autofdo,
dg-final-scan-not-autofdo): New functions.
2016-07-13 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/vect-35-big-array.c: Refine comment and test.
* gcc.dg/vect/vect-35.c: Ditto.
* gcc.dg/vect/vect-alias-check-2.c: New test.
2016-07-13 Martin Liska <mliska@suse.cz>
* gfortran.dg/ldist-1.f90: Revert change introduces in r238114.
* gfortran.dg/vect/pr62283.f: Add -fno-ipa-icf to additional options.
* gfortran.dg/pr42108.f90: Update expected dump scan.
2016-07-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/24574
* gcc.dg/pr24574.c: New testcase.
2016-07-13 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* c-c++-common/Wduplicated-cond-3.c (fn10): Use smaller const literal.
* c-c++-common/builtin-arith-overflow-2.c: Skip for avr.
* c-c++-common/pr68833-1.c: Require int32plus.
* gcc.dg/ipa/pr63551.c: Likewise.
* gcc.dg/ipa/pr63595.c: Require ptr32plus.
* gcc.dg/ipa/pr64041.c: Require int32plus.
2016-07-13 Ilya Enkovich <ilya.enkovich@intel.com>
PR ipa/71633
* g++.dg/pr71633.C: New test.
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp (check_effective_target_arm_thumb1_cbz_ok):
Add new arm_thumb1_cbz_ok effective target.
* gcc.target/arm/cbz.c: New test.
arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT. 2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT. * config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW availability with TARGET_HAVE_MOVT. (thumb_legitimate_constant_p): Strip the high part of a label_ref. (thumb1_rtx_costs): Also return 0 if setting a half word constant and MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by UINTVAL. (thumb1_size_rtx_costs): Make set of half word constant also cost 1 extra instruction if MOVW is available. Use a cost variable incremented by COSTS_N_INSNS (1) when the condition match rather than returning an arithmetic expression based on COSTS_N_INSNS. Make constant with bottom half word zero cost 2 instruction if MOVW is available. * config/arm/arm.md (define_attr "arch"): Add v8mb. (define_attr "arch_enabled"): Set to yes if arch value is v8mb and target is ARMv8-M Baseline. (arm_movt): New unpredicable alternative for ARMv8-M Baseline. (arm_movtas_ze): Likewise. * config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only alternative for constants satisfying j constraint. (thumb1_movsi_insn): Likewise. (movsi splitter for K alternative): Tighten condition to not trigger if movt is available and j constraint is satisfied. (Pe immediate splitter): Likewise. (thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for constant fitting in an halfword to use MOVW. * doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM effective target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok): Define effective target. * gcc.target/arm/pr42574.c: Require arm_thumb1_ok and !arm_thumb1_movt_ok to exclude ARMv8-M Baseline. * gcc.target/arm/movhi_movw.c: New test. * gcc.target/arm/movsi_movw.c: Likewise. * gcc.target/arm/movdi_movw.c: Likewise. From-SVN: r238288
2016-07-13 12:54:01 +02:00
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok):
Define effective target.
* gcc.target/arm/pr42574.c: Require arm_thumb1_ok and
!arm_thumb1_movt_ok to exclude ARMv8-M Baseline.
* gcc.target/arm/movhi_movw.c: New test.
* gcc.target/arm/movsi_movw.c: Likewise.
* gcc.target/arm/movdi_movw.c: Likewise.
2016-07-13 Richard Biener <rguenther@suse.de>
PR middle-end/71104
* gcc.dg/pr71104-1.c: New testcase.
* gcc.dg/pr71104-2.c: Likewise.
2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71805
* gcc.target/powerpc/pr71805.c: New test.
2016-07-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/divkc3-1.c: New.
* gcc.target/powerpc/mulkc3-1.c: New.
2016-07-12 Nathan Sidwell <nathan@acm.org>
* gcc.target/arm/data-rel-1.c: New.
* gcc.target/arm/data-rel-2.c: New.
* gcc.target/arm/data-rel-3.c: New.
2016-07-12 Martin Liska <mliska@suse.cz>
* gcc.dg/params/blocksort-part.c: New test.
* gcc.dg/params/params.exp: New file.
2016-07-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR middle-end/71700
* gcc.c-torture/execute/pr71700.c: New test.
re PR tree-optimization/23286 (Missed code hoisting optimization) 2016-07-12 Steven Bosscher <steven@gcc.gnu.org> Richard Biener <rguenther@suse.de> PR tree-optimization/23286 PR tree-optimization/70159 * doc/invoke.texi: Document -fcode-hoisting. * common.opt (fcode-hoisting): New flag. * opts.c (default_options_table): Enable -fcode-hoisting at -O2+. * tree-ssa-pre.c (pre_stats): Add hoist_insert. (do_regular_insertion): Rename to ... (do_pre_regular_insertion): ... this and amend general comments on insertion strathegy. (do_partial_partial_insertion): Rename to ... (do_pre_partial_partial_insertion): ... this. (do_hoist_insertion): New function. (insert_aux): Take flags on whether to do PRE and/or hoist insertion and call do_hoist_insertion properly. (insert): Adjust. (pass_pre::gate): Enable also if -fcode-hoisting is enabled. (pass_pre::execute): Register hoist_insert stats. * gcc.dg/tree-ssa/ssa-pre-11.c: Disable code hosting. * gcc.dg/tree-ssa/ssa-pre-27.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-28.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-2.c: Likewise. * gcc.dg/tree-ssa/pr35286.c: Likewise. * gcc.dg/tree-ssa/pr35287.c: Likewise. * gcc.dg/hoist-register-pressure-1.c: Likewise. * gcc.dg/hoist-register-pressure-2.c: Likewise. * gcc.dg/hoist-register-pressure-3.c: Likewise. * gcc.dg/pr51879-12.c: Likewise. * gcc.dg/strlenopt-9.c: Likewise. * gcc.dg/tree-ssa/pr47392.c: Likewise. * gcc.dg/tree-ssa/pr68619-4.c: Likewise. * gcc.dg/tree-ssa/split-path-5.c: Likewise. * gcc.dg/tree-ssa/slsr-35.c: Likewise. * gcc.dg/tree-ssa/slsr-36.c: Likewise. * gcc.dg/tree-ssa/loadpre3.c: Adjust so hosting doesn't apply. * gcc.dg/tree-ssa/pr43491.c: Scan optimized dump for desired result. * gcc.dg/tree-ssa/ssa-pre-31.c: Adjust expected outcome for hoisting. * gcc.dg/tree-ssa/ssa-hoist-1.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-2.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-3.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-4.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-5.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-6.c: New testcase. * gfortran.dg/pr43984.f90: Adjust expected outcome. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r238242
2016-07-12 15:32:04 +02:00
2016-07-12 Steven Bosscher <steven@gcc.gnu.org>
Richard Biener <rguenther@suse.de>
PR tree-optimization/23286
PR tree-optimization/70159
* gcc.dg/tree-ssa/ssa-pre-11.c: Disable code hosting.
* gcc.dg/tree-ssa/ssa-pre-27.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-28.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-2.c: Likewise.
* gcc.dg/tree-ssa/pr35286.c: Likewise.
* gcc.dg/tree-ssa/pr35287.c: Likewise.
* gcc.dg/hoist-register-pressure-1.c: Likewise.
* gcc.dg/hoist-register-pressure-2.c: Likewise.
* gcc.dg/hoist-register-pressure-3.c: Likewise.
* gcc.dg/pr51879-12.c: Likewise.
* gcc.dg/strlenopt-9.c: Likewise.
* gcc.dg/tree-ssa/pr47392.c: Likewise.
* gcc.dg/tree-ssa/pr68619-4.c: Likewise.
* gcc.dg/tree-ssa/split-path-5.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/loadpre3.c: Adjust so hosting doesn't apply.
* gcc.dg/tree-ssa/pr43491.c: Scan optimized dump for desired result.
* gcc.dg/tree-ssa/ssa-pre-31.c: Adjust expected outcome for hoisting.
* gcc.dg/tree-ssa/ssa-hoist-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-2.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-3.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-4.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-5.c: New testcase.
* gcc.dg/tree-ssa/ssa-hoist-6.c: New testcase.
* gfortran.dg/pr43984.f90: Adjust expected outcome.
2016-07-12 Richard Biener <rguenther@suse.de>
PR rtl-optimization/68961
* gcc.target/i386/pr68961.c: New testcase.
2016-07-11 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71758
* c-c++-common/gomp/pr71758.c: New test.
* gfortran.dg/gomp/pr71758.f90: New test.
PR tree-optimization/71823
* gcc.dg/vect/pr71823.c: New test.
input.c: add lexing selftests and a test matrix for line_table states This patch adds explicit testing of lexing a source file, generalizing this (and the test of ordinary line maps) over a 2-dimensional test matrix covering: (1) line_table->default_range_bits: some frontends use a non-zero value and others use zero (2) the fallback modes within line-map.c: there are various threshold values for source_location/location_t beyond line-map.c changes behavior (disabling of the range-packing optimization, disabling of column-tracking). We exercise these by starting the line_table at interesting values at or near these thresholds. This helps ensures that location data works in all of these states, and that (I hope) we don't have lingering bugs relating to the transition between line_table states. gcc/ChangeLog: * input.c: Include cpplib.h. (selftest::temp_source_file): New class. (selftest::temp_source_file::temp_source_file): New ctor. (selftest::temp_source_file::~temp_source_file): New dtor. (selftest::should_have_column_data_p): New function. (selftest::test_should_have_column_data_p): New function. (selftest::temp_line_table): New class. (selftest::temp_line_table::temp_line_table): New ctor. (selftest::temp_line_table::~temp_line_table): New dtor. (selftest::test_accessing_ordinary_linemaps): Add case_ param; use it to create a temp_line_table. (selftest::assert_loceq): Only verify LOCATION_COLUMN for locations that are known to have column data. (selftest::line_table_case): New struct. (selftest::test_reading_source_line): Move tempfile handling to class temp_source_file. (ASSERT_TOKEN_AS_TEXT_EQ): New macro. (selftest::assert_token_loc_eq): New function. (ASSERT_TOKEN_LOC_EQ): New macro. (selftest::test_lexer): New function. (selftest::boundary_locations): New array. (selftest::input_c_tests): Call test_should_have_column_data_p. Loop over a test matrix of interesting values of location and default_range_bits, calling test_lexer on each case in the matrix. Move call to test_accessing_ordinary_linemaps into the matrix. * selftest.h (ASSERT_EQ): Reimplement in terms of... (ASSERT_EQ_AT): New macro. gcc/testsuite/ChangeLog: * gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Avoid hardcoding the values of LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES and LINE_MAP_MAX_LOCATION_WITH_COLS. libcpp/ChangeLog: * include/line-map.h (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move here from line-map.c. (LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise. * line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Move from here to line-map.h. (LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise. From-SVN: r238213
2016-07-11 18:02:20 +02:00
2016-07-11 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Avoid
hardcoding the values of LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES
and LINE_MAP_MAX_LOCATION_WITH_COLS.
2016-07-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/71801
* gcc.target/i386/pr71801.c: New test.
2016-07-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/71816
* gcc.dg/torture/pr71816.c: New testcase.
2016-07-09 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/71783
* gfortran.dg/dependency_46.f90: New test.
2016-07-08 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/71621
* gcc.target/i386/pr71621-1.c: New.
* gcc.target/i386/pr71621-2.c: New.
2016-07-08 Cesar Philippidis <cesar@codesourcery.com>
* gfortran.dg/goacc/pr71704.f90: New test.
2016-07-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/71297
* gcc.target/powerpc/pr71297.c: New.
2016-07-08 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/simd/vminmaxnm_1.c: New.
2016-07-08 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71806
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Add -mfloat128 option.
2016-07-08 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71667
* gcc.dg/vect/pr71667.c: New
2016-07-08 Martin Liska <mliska@suse.cz>
* gcc.dg/torture/pr71606.c: New test.
2016-07-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/71764
* gfortran.dg/pr71764.f90: New test.
2016-07-07 Jakub Jelinek <jakub@redhat.com>
Kai Tietz <ktietz70@googlemail.com>
PR c++/70869
PR c++/71054
* g++.dg/cpp0x/pr70869.C: New test.
* g++.dg/cpp0x/pr71054.C: New test.
2016-07-07 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/debug/pr71432.C: Fail on AIX.
2016-07-07 Martin Liska <mliska@suse.cz>
* gfortran.dg/do_1.f90: Remove a corner case that triggers
an undefined behavior.
* gfortran.dg/do_3.F90: Likewise.
* gfortran.dg/do_check_11.f90: New test.
* gfortran.dg/do_check_12.f90: New test.
* gfortran.dg/do_corner_warn.f90: New test.
2016-07-07 Martin Liska <mliska@suse.cz>
* gfortran.dg/predict-1.f90: Ammend the test.
* gfortran.dg/predict-2.f90: Likewise.
2016-07-07 Ilya Enkovich <ilya.enkovich@intel.com>
PR ipa/71624
* g++.dg/pr71624.C: New test.
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and
check_effective_target_arm_arch_FUNC_multilib for ARMv8-M Baseline and
ARMv8-M Mainline architectures.
elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to decide whether to prevent... 2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to decide whether to prevent some libgcc routines being included for some multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the link between this condition and the one in libgcc/config/arm/lib1func.S. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_cortex_m): Use __ARM_ARCH_ISA_ARM to test for Cortex-M devices. libgcc/ * config/arm/bpabi-v6m.S: Clarify what architectures is the implementation suitable for. * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases for all Thumb-1 only targets. (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets. (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__. (EQUIV): Likewise. (ARM_FUNC_ALIAS): Likewise. (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv version. (modsi3): Likewise. (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__. (clzdi2): Likewise. (ctzsi2): Likewise. (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__ in guard for checking whether it is defined. (final includes): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__ and add comment to indicate the connection between this condition and the one in gcc/config/arm/elf.h. * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__. * config/arm/t-softfp: Likewise. From-SVN: r238079
2016-07-07 10:54:18 +02:00
2016-07-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp (check_effective_target_arm_cortex_m): Use
__ARM_ARCH_ISA_ARM to test for Cortex-M devices.
2016-07-06 Segher Boessenkool <segher@kernel.crashing.org>
PR target/70098
PR target/71763
* gcc.target/powerpc/pr71763.c: New file.
2016-07-06 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/71518
* gcc.dg/pr71518.c: New test.
2016-07-06 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/arm/vst1Q_laneu64-1.c (foo): Use unsigned char*.
2016-07-06 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR target/50739
* gcc.target/avr/pr50739.c: New test.
2016-07-05 Jan Hubicka <jh@suse.cz>
* gcc.dg/tree-ssa/scev-14.c: update template.
2016-07-06 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/vect/group-no-gaps-1.c: New test.
2016-07-05 Andi Kleen <ak@linux.intel.com>
* gcc.target/i386/mpx/mpx-check.h: Check XGETBV output
if kernel supports MPX.
2016-07-05 Kito Cheng <kito.cheng@gmail.com>
* gcc.c-torture/compile/pr69102.c: Require fpic support.
2016-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/signbit-1.c: New test.
* gcc.target/powerpc/signbit-2.c: New test.
* gcc.target/powerpc/signbit-3.c: New test.
2016-07-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/71594
* gcc.dg/torture/pr71594.c: New test.
2016-07-05 Jan Hubicka <jh@suse.cz>
* gcc.dg/tree-ssa/scev-14.c: new testcase.
2016-07-05 David Malcolm <dmalcolm@redhat.com>
PR c++/62314
* g++.dg/parse/error5.C: Update column
number of missing semicolon error.
* g++.dg/pr62314-2.C: New test case.
2016-07-05 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
* gfortran.dg/coarray_stat_function.f90: New test.
* gfortran.dg/coarray_stat_whitespace.f90: New test.
* gfortran.dg/coarray_lib_comm_1: Adapting old test
to new interfaces.
2016-07-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/71623
* gfortran.dg/deferred_character_17.f90: New test.
2016-07-05 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/neon/polytypes.c: Move to ...
* gcc.target/arm/polytypes.c: ... here.
* gcc.target/arm/neon/pr51534.c: Move to ...
* gcc.target/arm/pr51534.c: ... here.
* gcc.target/arm/neon/vect-vcvt.c: Move to ...
* gcc.target/arm/vect-vcvt.c: ... here.
* gcc.target/arm/neon/vect-vcvtq.c: Move to ...
* gcc.target/arm/vect-vcvtq.c: ... here.
* gcc.target/arm/neon/vfp-shift-a2t2.c: Move to ...
* gcc.target/arm/vfp-shift-a2t2.c: ... here.
* gcc.target/arm/neon/vst1Q_laneu64-1.c: Move to ...
* gcc.target/arm/vst1Q_laneu64-1.c: ... here. Fix foo() prototype.
* gcc.target/arm/neon/neon.exp: Delete.
* gcc.target/arm/neon/: Delete.
2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/65575
* gfortran.dg: pr65575.f90: New test.
2016-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35849
* gfortran.dg: pr35849.f90: New test.
2016-07-04 Jakub Jelinek <jakub@redhat.com>
PR c++/71739
* g++.dg/cpp0x/pr71739.C: New test.
2016-07-04 Christophe Lyon <christophe.lyon@linaro.org>
* c-c++-common/asan/clone-test-1.c (main): Handle clone() failure.
2016-07-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/vector/vec-scalar-cmp-1.c: Expect lochi instead of
locr.
* gcc.target/s390/loc-1.c: New test.
2016-07-04 Yuri Rumyantsev <ysrumyan@gmail.com>
* gcc.target/i386/avx512f-vect-perm-1.c: New test.
* gcc.target/i386/avx512f-vect-perm-2.c: New test.
2016-07-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/63874
* gcc.target/aarch64/pr63874.c: New test.
2016-07-04 Jan Beulich <jbeulich@suse.com>
* g++.dg/header.c: New.
* gcc.dg/header.c: New.
2016-07-02 Jakub Jelinek <jakub@redhat.com>
PR c/71719
* c-c++-common/Wunused-var-15.c: New test.
2016-07-01 Jakub Jelinek <jakub@redhat.com>
PR fortran/71687
* gfortran.dg/gomp/pr71687.f90: New test.
2016-07-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/const-float128-ped.c: Require __float128 effective
target and options.
* gcc.dg/const-float128.c: Likewise.
* gcc.dg/torture/float128-cmp-invalid.c: Require
__float128 and base_quadfloat_support effective targets, and
__float128 options.
* gcc.dg/torture/float128-div-underflow.c: Likewise.
* gcc.dg/torture/float128-extend-nan.c: Likewise.
* gcc.dg/torture/float128-nan.c: Likewise.
* gcc.dg/torture/fp-int-convert-float128-timode-2.c: Likewise.
* gcc.dg/torture/fp-int-convert-float128-timode-3.c: Likewise.
* gcc.dg/torture/fp-int-convert-float128-timode.c: Likewise.
* lib/target-supports.exp (check_effective_target___float128): New.
(add_options_for___float128): New.
(check_effective_target_base_quadword_support): New.
2016-07-01 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71720
* gcc.target/powerpc/pr71720.c: New test.
2016-07-01 Jan Beulich <jbeulich@suse.com>
* gcc.dg/bss.c: New.
2016-07-01 Peter Bergner <bergner@vnet.ibm.com>
PR target/71698
* gcc.target/powerpc/pr71698.c: New test.
2016-07-01 Georg-Johann Lay <avr@gjlay.de>
PR target/71151
* gcc.target/avr/pr71151-common.h (foo): Use macro SECTION_NAME
instead of ".foo" for its section name.
* gcc.target/avr/pr71151-2.c (SECTION_NAME): Define appropriately
depending on MCU's flash size.
* gcc.target/avr/pr71151-3.c (SECTION_NAME): Dito.
* gcc.target/avr/pr71151-4.c (SECTION_NAME): Dito.
* gcc.target/avr/pr71151-5.c (SECTION_NAME): Dito.
* gcc.target/avr/pr71151-6.c (SECTION_NAME): Dito.
* gcc.target/avr/pr71151-7.c (SECTION_NAME): Dito.
* gcc.target/avr/pr71151-8.c (SECTION_NAME): Dito.
2016-07-01 Jan Beulich <jbeulich@suse.com>
* gcc.target/i386/pr65105-2.c: Add -msse2.
2016-06-30 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71707
* gcc.dg/strlenopt-29.c: New test.
PR fortran/71704
* gfortran.dg/gomp/pr71704.f90: New test.
PR fortran/71705
* gfortran.dg/gomp/pr71705.f90: New test.
altivec.md (darn_32): Change the condition to TARGET_P9_MISC instead of TARGET_MODULO. gcc/ChangeLog: 2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.md (darn_32): Change the condition to TARGET_P9_MISC instead of TARGET_MODULO. (darn_raw): Replace TARGET_MODULO with TARGET_P9_MISC in the condition expression. (darn): Replace TARGET_MODULO with TARGET_P9_MISC in the condition expression. * config/rs6000/dfp.md (UNSPEC_DTSTSFI): New unspec constant. (DFP_TEST): New code iterator. (dfptstsfi_<code>_mode>): New define_expand. (*dfp_sgnfcnc_<mode>): New define_insn. * config/rs6000/rs6000-builtin.def (BU_P9_MISC_0): Move this macro definition next to BU_P9_MISC_1 definition and change the MASK value to RS6000_BTM_P9_MISC. (BU_P9_MISC_1): Change the MASK value to RS6000_BTM_P9_MISC. (BU_P9_64BIT_MISC_0): Likewise. (BU_P9_DFP_MISC_0): New macro definition. (BU_P9_DFP_MISC_1): New macro definition. (BU_P9_DFP_MISC_2): New macro definition. (BU_P9_DFP_OVERLOAD_1): New macro definition. (BU_P9_DFP_OVERLOAD_2): New macro definition. (BU_P9_DFP_OVERLOAD_3): New macro definition. (TSTSFI_LT_DD): New BU_P9_DFP_MISC_2. (TSTSFI_LT_TD): Likewise. (TSTSFI_EQ_DD): Likewise. (TSTSFI_EQ_TD): Likewise. (TSTSFI_GT_DD): Likewise. (TSTSFI_GT_TD): Likewise. (TSTSFI_OV_DD): Likewise. (TSTSFI_OV_TD): Likewise. (TSTSFI_LT): New BU_P9_DFP_OVERLOAD_2. (TSTSFI_LT_DD): Likewise. (TSTSFI_LT_TD): Likewise. (TSTSFI_EQ): Likewise. (TSTSFI_EQ_DD): Likewise. (TSTSFI_EQ_TD): Likewise. (TSTSFI_GT): Likewise. (TSTSFI_GT_DD): Likewise. (TSTSFI_GT_TD): Likewise. (TSTSFI_OV): Likewise. (TSTSFI_OV_DD): Likewise. (TSTSFI_OV_TD): Likewise. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded test significance functions. * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add OPTION_MASK_P9_MISC into the representation of this mask. (POWERPC_MASKS): Add OPTION_MASK_P9_MISC into the representation of this mask. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Set the RS6000_BTM_P9_MISC flag in the return value if TARGET_P9_MISC is non-zero. (rs6000_expand_binop_builtin): Enforce that argument 0 of the exp argument is a 6-bit unsigned literal value if the icode argument represents a DFP test significance built-in call. (rs6000_invalid_builtin): Add support for the RS6000_BTM_P9_MISC flag used independently and in combination with the RS6000_BTM_64BIT flag. (rs6000_opt_masks): Add entry for power9-misc command-line option. (rs6000_builtin_mask_names): Add entry for power9-misc command-line option. * config/rs6000/rs6000.h: Redefine TARGET_P9_MISC as 0 if HAVE_AS_POWER9 is not a defined macro. Define MASK_P9_MISC and RS6000_BTM_P9_MISC macros. * config/rs6000/rs6000.opt: Add support for the -mpower9-misc option and change the description of the -mpower9-vector option to enable only vector instructions, removing its erroneously claimed support for scalar instructions. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document the ISA 3.0 digital floating point test significance built-in functions. gcc/testsuite/ChangeLog: 2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/dfp/dfp.exp: New dejagnu test script. * gcc.target/powerpc/dfp/dtstsfi-0.c: New test. * gcc.target/powerpc/dfp/dtstsfi-1.c: New test. * gcc.target/powerpc/dfp/dtstsfi-10.c: New test. * gcc.target/powerpc/dfp/dtstsfi-11.c: New test. * gcc.target/powerpc/dfp/dtstsfi-12.c: New test. * gcc.target/powerpc/dfp/dtstsfi-13.c: New test. * gcc.target/powerpc/dfp/dtstsfi-14.c: New test. * gcc.target/powerpc/dfp/dtstsfi-15.c: New test. * gcc.target/powerpc/dfp/dtstsfi-16.c: New test. * gcc.target/powerpc/dfp/dtstsfi-17.c: New test. * gcc.target/powerpc/dfp/dtstsfi-18.c: New test. * gcc.target/powerpc/dfp/dtstsfi-19.c: New test. * gcc.target/powerpc/dfp/dtstsfi-2.c: New test. * gcc.target/powerpc/dfp/dtstsfi-20.c: New test. * gcc.target/powerpc/dfp/dtstsfi-21.c: New test. * gcc.target/powerpc/dfp/dtstsfi-22.c: New test. * gcc.target/powerpc/dfp/dtstsfi-23.c: New test. * gcc.target/powerpc/dfp/dtstsfi-24.c: New test. * gcc.target/powerpc/dfp/dtstsfi-25.c: New test. * gcc.target/powerpc/dfp/dtstsfi-26.c: New test. * gcc.target/powerpc/dfp/dtstsfi-27.c: New test. * gcc.target/powerpc/dfp/dtstsfi-28.c: New test. * gcc.target/powerpc/dfp/dtstsfi-29.c: New test. * gcc.target/powerpc/dfp/dtstsfi-3.c: New test. * gcc.target/powerpc/dfp/dtstsfi-30.c: New test. * gcc.target/powerpc/dfp/dtstsfi-31.c: New test. * gcc.target/powerpc/dfp/dtstsfi-32.c: New test. * gcc.target/powerpc/dfp/dtstsfi-33.c: New test. * gcc.target/powerpc/dfp/dtstsfi-34.c: New test. * gcc.target/powerpc/dfp/dtstsfi-35.c: New test. * gcc.target/powerpc/dfp/dtstsfi-36.c: New test. * gcc.target/powerpc/dfp/dtstsfi-37.c: New test. * gcc.target/powerpc/dfp/dtstsfi-38.c: New test. * gcc.target/powerpc/dfp/dtstsfi-39.c: New test. * gcc.target/powerpc/dfp/dtstsfi-4.c: New test. * gcc.target/powerpc/dfp/dtstsfi-40.c: New test. * gcc.target/powerpc/dfp/dtstsfi-41.c: New test. * gcc.target/powerpc/dfp/dtstsfi-42.c: New test. * gcc.target/powerpc/dfp/dtstsfi-43.c: New test. * gcc.target/powerpc/dfp/dtstsfi-44.c: New test. * gcc.target/powerpc/dfp/dtstsfi-45.c: New test. * gcc.target/powerpc/dfp/dtstsfi-46.c: New test. * gcc.target/powerpc/dfp/dtstsfi-47.c: New test. * gcc.target/powerpc/dfp/dtstsfi-48.c: New test. * gcc.target/powerpc/dfp/dtstsfi-49.c: New test. * gcc.target/powerpc/dfp/dtstsfi-5.c: New test. * gcc.target/powerpc/dfp/dtstsfi-50.c: New test. * gcc.target/powerpc/dfp/dtstsfi-51.c: New test. * gcc.target/powerpc/dfp/dtstsfi-52.c: New test. * gcc.target/powerpc/dfp/dtstsfi-53.c: New test. * gcc.target/powerpc/dfp/dtstsfi-54.c: New test. * gcc.target/powerpc/dfp/dtstsfi-55.c: New test. * gcc.target/powerpc/dfp/dtstsfi-56.c: New test. * gcc.target/powerpc/dfp/dtstsfi-57.c: New test. * gcc.target/powerpc/dfp/dtstsfi-58.c: New test. * gcc.target/powerpc/dfp/dtstsfi-59.c: New test. * gcc.target/powerpc/dfp/dtstsfi-6.c: New test. * gcc.target/powerpc/dfp/dtstsfi-60.c: New test. * gcc.target/powerpc/dfp/dtstsfi-61.c: New test. * gcc.target/powerpc/dfp/dtstsfi-62.c: New test. * gcc.target/powerpc/dfp/dtstsfi-63.c: New test. * gcc.target/powerpc/dfp/dtstsfi-64.c: New test. * gcc.target/powerpc/dfp/dtstsfi-65.c: New test. * gcc.target/powerpc/dfp/dtstsfi-66.c: New test. * gcc.target/powerpc/dfp/dtstsfi-67.c: New test. * gcc.target/powerpc/dfp/dtstsfi-68.c: New test. * gcc.target/powerpc/dfp/dtstsfi-69.c: New test. * gcc.target/powerpc/dfp/dtstsfi-7.c: New test. * gcc.target/powerpc/dfp/dtstsfi-70.c: New test. * gcc.target/powerpc/dfp/dtstsfi-71.c: New test. * gcc.target/powerpc/dfp/dtstsfi-72.c: New test. * gcc.target/powerpc/dfp/dtstsfi-73.c: New test. * gcc.target/powerpc/dfp/dtstsfi-74.c: New test. * gcc.target/powerpc/dfp/dtstsfi-75.c: New test. * gcc.target/powerpc/dfp/dtstsfi-76.c: New test. * gcc.target/powerpc/dfp/dtstsfi-77.c: New test. * gcc.target/powerpc/dfp/dtstsfi-78.c: New test. * gcc.target/powerpc/dfp/dtstsfi-79.c: New test. * gcc.target/powerpc/dfp/dtstsfi-8.c: New test. * gcc.target/powerpc/dfp/dtstsfi-9.c: New test. From-SVN: r237885
2016-06-30 17:59:44 +02:00
2016-06-30 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/dfp/dfp.exp: New dejagnu test script.
* gcc.target/powerpc/dfp/dtstsfi-0.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-1.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-10.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-11.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-12.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-13.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-14.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-15.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-16.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-17.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-18.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-19.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-2.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-20.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-21.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-22.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-23.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-24.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-25.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-26.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-27.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-28.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-29.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-3.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-30.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-31.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-32.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-33.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-34.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-35.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-36.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-37.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-38.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-39.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-4.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-40.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-41.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-42.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-43.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-44.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-45.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-46.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-47.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-48.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-49.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-5.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-50.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-51.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-52.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-53.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-54.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-55.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-56.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-57.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-58.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-59.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-6.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-60.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-61.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-62.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-63.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-64.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-65.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-66.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-67.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-68.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-69.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-7.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-70.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-71.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-72.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-73.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-74.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-75.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-76.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-77.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-78.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-79.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-8.c: New test.
* gcc.target/powerpc/dfp/dtstsfi-9.c: New test.
2016-06-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
James Greenhalgh <james.greenhalgh@arm.com>
* gcc.target/aarch64/vect_copy_lane_1.c: New test.
2016-06-30 James Greenhalgh <james.greenhalgh@arm.com>
Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/vget_set_lane_1.c: New test.
2016-06-30 David Malcolm <dmalcolm@redhat.com>
PR driver/71651
* gcc.dg/spellcheck-options-12.c: New test case.
2016-06-30 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71693
* gcc.c-torture/compile/pr71693.c: New test.
2016-06-29 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/spellcheck-params.c: New testcase.
* gcc.dg/spellcheck-params-2.c: New testcase.
2016-06-29 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-extract-1.c: New file to test ISA 3.0
vector extract instructions.
* gcc.target/powerpc/p9-extract-2.c: Likewise.
2016-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/71686
* gfortran.dg/unexpected_eof_2.f90: New test.
* gfortran.dg/unexpected_eof_3.f90: New test.
2016-06-29 Jim Wilson <jim.wilson@linaro.org>
* gcc.dg/asr_div1.c: Add aarch64 specific dg-options.
2016-06-29 Cesar Philippidis <cesar@codesourcery.com>
* gfortran.dg/goacc/asyncwait-2.f95: Updated expected diagnostics.
* gfortran.dg/goacc/asyncwait-3.f95: Likewise.
* gfortran.dg/goacc/asyncwait-4.f95: Add test coverage.
2016-06-29 Richard Biener <rguenther@suse.de>
PR middle-end/15256
* gcc.dg/tree-ssa/forwprop-34.c: New testcase.
2016-06-29 Matthew Wahab <matthew.wahab@arm.com>
* gcc.target/arm/aapcs/neon-vect10.c: Require
-mfloat-ab=hard. Replace arm_neon_fp16_ok with arm_neon_fp16_hw.
* gcc.target/arm/aapcs/neon-vect9.c: Likewise.
* gcc.target/arm/aapcs/vfp18.c: Likewise.
* gcc.target/arm/aapcs/vfp19.c: Likewise.
* gcc.target/arm/aapcs/vfp20.c: Likewise.
* gcc.target/arm/aapcs/vfp21.c: Likewise.
* gcc.target/arm/fp16-aapcs-1.c: Require
-mfloat-ab=hard. Also simplify the test.
* gcc.target/arm/fp16-aapcs-2.c: New.
2016-06-29 Matthew Wahab <matthew.wahab@arm.com>
* lib/target-supports.exp (add_options_for_arm_fp16): Reword comment.
(add_options_for_arm_fp16_ieee): New.
(add_options_for_arm_fp16_alternative): New.
(effective_target_arm_fp16_ok_nocache): Add to comment. Fix a
long-line.
(effective_target_arm_fp16_hw): New.
2016-06-29 Ilya Enkovich <ilya.enkovich@intel.com>
PR tree-optimization/71655
* g++.dg/pr71655.C: New test.
2016-06-29 Martin Liska <mliska@suse.cz>
* gcc.dg/pr71585.c: New test.
* gcc.dg/pr71585-2.c: New test.
* gcc.dg/pr71585-3.c: New test.
2016-06-29 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/70729
* g++.dg/vect/pr70729.cc: New test.
2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
* c-c++-common/gomp/cancel-1.c: Extend.
2016-06-29 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71625
* gcc.dg/strlenopt-28.c: New test.
2016-06-29 Richard Biener <rguenther@suse.de>
PR middle-end/71002
* g++.dg/torture/pr71002.C: Adjust testcase.
2016-06-29 Jakub Jelinek <jakub@redhat.com>
PR c/71685
* gcc.dg/pr71685.c: New test.
2016-06-28 Martin Sebor <msebor@redhat.com>
PR c/71552
* gcc.dg/init-bad-9.c: New test.
2016-06-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/abs128-1.c: Require VSX.
* gcc.target/powerpc/copysign128-1.c: Likewise.
* gcc.target/powerpc/inf128-1.c: Likewise.
* gcc.target/powerpc/nan128-1.c: Likewise.
2016-06-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71626
* gcc.c-torture/execute/pr71626-1.c: New test.
* gcc.c-torture/execute/pr71626-2.c: New test.
2016-06-28 Peter Bergner <bergner@vnet.ibm.com>
PR target/71656
* gcc.target/powerpc/pr71656-2.c: Fix syntax errors.
2016-06-27 Segher Boessenkool <segher@kernel.crashing.org>
PR target/71670
* gcc.target/powerpc/pr71670.c: New testcase.
2016-06-27 Peter Bergner <bergner@vnet.ibm.com>
PR target/71656
* gcc.target/powerpc/pr71656-1.c: New test.
* gcc.target/powerpc/pr71656-2.c: New test.
2016-06-27 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add ifdef
around fp16 code.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f16_indices_1.c:
Add arm_neon_fp16_ok effective target.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f16_indices_1.c:
Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f16_indices_1.c:
Likewise.
2016-06-26 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/predict-12.c: New testcase.
2016-06-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/71649
* gfortran.dg/pr71649.f90: New test.
2016-06-25 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71643
* g++.dg/opt/pr71643.C: New test.
PR tree-optimization/71631
* gcc.c-torture/execute/pr71631.c: New test.
2016-06-24 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/predict-11.c: New testcase.
* gfortran.dg/predict-2.f90: New testcase.
2016-06-24 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/predict-10.c: New test.
rs6000-builtin.def (BU_FLOAT128_2): New #define. [gcc] 2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): New #define. (BU_FLOAT128_1): Likewise. (FABSQ): Likewise. (COPYSIGNQ): Likewise. (RS6000_BUILTIN_NANQ): Likewise. (RS6000_BUILTIN_NANSQ): Likewise. (RS6000_BUILTIN_INFQ): Likewise. (RS6000_BUILTIN_HUGE_VALQ): Likewise. * config/rs6000/rs6000.c (rs6000_fold_builtin): New prototype. (TARGET_FOLD_BUILTIN): New #define. (rs6000_builtin_mask_calculate): Add TARGET_FLOAT128 entry. (rs6000_invalid_builtin): Add handling for RS6000_BTM_FLOAT128. (rs6000_fold_builtin): New target hook implementation, handling folding of 128-bit NaNs and infinities. (rs6000_init_builtins): Initialize const_str_type_node; ensure all entries are filled in to avoid problems during bootstrap self-test; define builtins for 128-bit NaNs and infinities. (rs6000_opt_mask): Add entry for float128. * config/rs6000/rs6000.h (RS6000_BTM_FLOAT128): New #define. (RS6000_BTM_COMMON): Include RS6000_BTM_FLOAT128. (rs6000_builtin_type_index): Add RS6000_BTI_const_str. (const_str_type_node): New #define. * config/rs6000/rs6000.md (copysign<mode>3 for IEEE128): Convert to a define_expand that dispatches to either copysign<mode>3_soft or copysign<mode>3_hard. (copysign<mode>3_hard): Rename from copysign<mode>3. (copysign<mode>3_soft): New define_insn. * doc/extend.texi: Document new builtins. [gcc/testsuite] 2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/abs128-1.c: New. * gcc.target/powerpc/copysign128-1.c: New. * gcc.target/powerpc/inf128-1.c: New. * gcc.target/powerpc/nan128-1.c: New. From-SVN: r237774
2016-06-24 23:55:40 +02:00
2016-06-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/abs128-1.c: New.
* gcc.target/powerpc/copysign128-1.c: New.
* gcc.target/powerpc/inf128-1.c: New.
* gcc.target/powerpc/nan128-1.c: New.
2016-06-24 Eric Botcazou <ebotcazou@adacore.com>
* gfortran.dg/pr71642.f90: New test.
2016-06-24 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71647
* gcc.target/i386/pr71647.c: New test.
2016-06-24 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/noplt-gd-1.c: New test.
* gcc.target/i386/noplt-gd-2.c: Likewise.
* gcc.target/i386/noplt-gd-3.c: Likewise.
* gcc.target/i386/noplt-ld-1.c: Likewise.
* gcc.target/i386/noplt-ld-2.c: Likewise.
* gcc.target/i386/noplt-ld-3.c: Likewise.
* lib/target-supports.exp
(check_effective_target_tls_get_addr_via_got): New.
vect-nb-iter-ub-1.c: Remove default vector testsuite compile flags. 2016-06-24 Uros Bizjak <ubizjak@gmail.com> * gcc.dg/vect/vect-nb-iter-ub-1.c: Remove default vector testsuite compile flags. * gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto. 2016-06-24 Uros Bizjak <ubizjak@gmail.com> * g++dg/vect/pr36684.cc: Add dg-do compile. * gcc.dg/vect/O3-pr70130.c: Remove dg-do run. * gcc.dg/vect/pr70021.c: Ditto. * gcc.dg/vect/pr70138-1.c: Ditto. * gcc.dg/vect/pr70138-2.c: Ditto. * gcc.dg/vect/pr70354-1.c: Ditto. * gcc.dg/vect/pr70354-2.c: Ditto. * gcc.dg/vect/pr71259.c: Ditto. * gcc.dg/vect/pr71416-1.c: Ditto. * gcc.dg/vect/slp-43.c: Ditto. * gcc.dg/vect/slp-45.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-1.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto. * gfortran.dg/vect/pr69980.f90: Ditto. 2016-06-24 Uros Bizjak <ubizjak@gmail.com> * gcc.dg/vect/O3-pr70130.c: Include tree-vect.h and call check_vect. * gcc.dg/vect/bb-slp-30.c: Ditto. * gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Ditto. * gcc.dg/vect/fast-math-bb-slp-call-3.c: Ditto. * gcc.dg/vect/pr45902.c: Ditto. * gcc.dg/vect/pr48172.c: Ditto. * gcc.dg/vect/pr48377.c: Ditto. * gcc.dg/vect/pr49038.c: Ditto. * gcc.dg/vect/pr49771.c: Ditto. * gcc.dg/vect/pr52091.c: Ditto. * gcc.dg/vect/pr53185-2.c: Ditto. * gcc.dg/vect/pr56826.c: Ditto. * gcc.dg/vect/pr60276.c: Ditto. * gcc.dg/vect/pr62021.c: Ditto. * gcc.dg/vect/pr63530.c: Ditto. * gcc.dg/vect/pr65518.c: Ditto. * gcc.dg/vect/pr65947-1.c: Ditto. * gcc.dg/vect/pr65947-10.c: Ditto. * gcc.dg/vect/pr65947-11.c: Ditto. * gcc.dg/vect/pr65947-12.c: Ditto. * gcc.dg/vect/pr65947-13.c: Ditto. * gcc.dg/vect/pr65947-2.c: Ditto. * gcc.dg/vect/pr65947-3.c: Ditto. * gcc.dg/vect/pr65947-4.c: Ditto. * gcc.dg/vect/pr65947-5.c: Ditto. * gcc.dg/vect/pr65947-6.c: Ditto. * gcc.dg/vect/pr65947-7.c: Ditto. * gcc.dg/vect/pr65947-8.c: Ditto. * gcc.dg/vect/pr65947-9.c: Ditto. * gcc.dg/vect/pr71416-1.c: Ditto. * gcc.dg/vect/pr71439.c: Ditto. * gcc.dg/vect/slp-widen-mult-half.c: Ditto. * gcc.dg/vect/vect-bswap16.c: Ditto. * gcc.dg/vect/vect-bswap32.c: Ditto. * gcc.dg/vect/vect-bswap64.c: Ditto. * gcc.dg/vect/vect-live-1.c: Ditto. * gcc.dg/vect/vect-live-2.c: Ditto. * gcc.dg/vect/vect-live-3.c: Ditto. * gcc.dg/vect/vect-live-4.c: Ditto. * gcc.dg/vect/vect-live-5.c: Ditto. * gcc.dg/vect/vect-live-slp-1.c: Ditto. * gcc.dg/vect/vect-live-slp-2.c: Ditto. * gcc.dg/vect/vect-live-slp-3.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-1.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto. * gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto. * gcc.dg/vect/vect-neg-store-1.c: Ditto. * gcc.dg/vect/vect-neg-store-2.c: Ditto. * gcc.dg/vect/vect-outer-pr69720.c: Ditto. * gcc.dg/vect/vect-reduc-mul_1.c: Ditto. * gcc.dg/vect/vect-reduc-mul_2.c: Ditto. * gcc.dg/vect/vect-reduc-or_1.c: Ditto. * gcc.dg/vect/vect-reduc-or_2.c: Ditto. * gcc.dg/vect/vect-widen-mult-const-s16.c: Ditto. * gcc.dg/vect/vect-widen-mult-const-u16.c: Ditto. * gcc.dg/vect/vect-widen-mult-half-u8.c: Ditto. * gcc.dg/vect/vect-widen-mult-half.c: Ditto. From-SVN: r237761
2016-06-24 17:46:21 +02:00
2016-06-24 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/vect/vect-nb-iter-ub-1.c: Remove default vector
testsuite compile flags.
* gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto.
2016-06-24 Uros Bizjak <ubizjak@gmail.com>
* g++dg/vect/pr36684.cc: Add dg-do compile.
* gcc.dg/vect/O3-pr70130.c: Remove dg-do run.
* gcc.dg/vect/pr70021.c: Ditto.
* gcc.dg/vect/pr70138-1.c: Ditto.
* gcc.dg/vect/pr70138-2.c: Ditto.
* gcc.dg/vect/pr70354-1.c: Ditto.
* gcc.dg/vect/pr70354-2.c: Ditto.
* gcc.dg/vect/pr71259.c: Ditto.
* gcc.dg/vect/pr71416-1.c: Ditto.
* gcc.dg/vect/slp-43.c: Ditto.
* gcc.dg/vect/slp-45.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-1.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto.
* gfortran.dg/vect/pr69980.f90: Ditto.
2016-06-24 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/vect/O3-pr70130.c: Include tree-vect.h and call check_vect.
* gcc.dg/vect/bb-slp-30.c: Ditto.
* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Ditto.
* gcc.dg/vect/fast-math-bb-slp-call-3.c: Ditto.
* gcc.dg/vect/pr45902.c: Ditto.
* gcc.dg/vect/pr48172.c: Ditto.
* gcc.dg/vect/pr48377.c: Ditto.
* gcc.dg/vect/pr49038.c: Ditto.
* gcc.dg/vect/pr49771.c: Ditto.
* gcc.dg/vect/pr52091.c: Ditto.
* gcc.dg/vect/pr53185-2.c: Ditto.
* gcc.dg/vect/pr56826.c: Ditto.
* gcc.dg/vect/pr60276.c: Ditto.
* gcc.dg/vect/pr62021.c: Ditto.
* gcc.dg/vect/pr63530.c: Ditto.
* gcc.dg/vect/pr65518.c: Ditto.
* gcc.dg/vect/pr65947-1.c: Ditto.
* gcc.dg/vect/pr65947-10.c: Ditto.
* gcc.dg/vect/pr65947-11.c: Ditto.
* gcc.dg/vect/pr65947-12.c: Ditto.
* gcc.dg/vect/pr65947-13.c: Ditto.
* gcc.dg/vect/pr65947-2.c: Ditto.
* gcc.dg/vect/pr65947-3.c: Ditto.
* gcc.dg/vect/pr65947-4.c: Ditto.
* gcc.dg/vect/pr65947-5.c: Ditto.
* gcc.dg/vect/pr65947-6.c: Ditto.
* gcc.dg/vect/pr65947-7.c: Ditto.
* gcc.dg/vect/pr65947-8.c: Ditto.
* gcc.dg/vect/pr65947-9.c: Ditto.
* gcc.dg/vect/pr71416-1.c: Ditto.
* gcc.dg/vect/pr71439.c: Ditto.
* gcc.dg/vect/slp-widen-mult-half.c: Ditto.
* gcc.dg/vect/vect-bswap16.c: Ditto.
* gcc.dg/vect/vect-bswap32.c: Ditto.
* gcc.dg/vect/vect-bswap64.c: Ditto.
* gcc.dg/vect/vect-live-1.c: Ditto.
* gcc.dg/vect/vect-live-2.c: Ditto.
* gcc.dg/vect/vect-live-3.c: Ditto.
* gcc.dg/vect/vect-live-4.c: Ditto.
* gcc.dg/vect/vect-live-5.c: Ditto.
* gcc.dg/vect/vect-live-slp-1.c: Ditto.
* gcc.dg/vect/vect-live-slp-2.c: Ditto.
* gcc.dg/vect/vect-live-slp-3.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-1.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-2.c: Ditto.
* gcc.dg/vect/vect-nb-iter-ub-3.c: Ditto.
* gcc.dg/vect/vect-neg-store-1.c: Ditto.
* gcc.dg/vect/vect-neg-store-2.c: Ditto.
* gcc.dg/vect/vect-outer-pr69720.c: Ditto.
* gcc.dg/vect/vect-reduc-mul_1.c: Ditto.
* gcc.dg/vect/vect-reduc-mul_2.c: Ditto.
* gcc.dg/vect/vect-reduc-or_1.c: Ditto.
* gcc.dg/vect/vect-reduc-or_2.c: Ditto.
* gcc.dg/vect/vect-widen-mult-const-s16.c: Ditto.
* gcc.dg/vect/vect-widen-mult-const-u16.c: Ditto.
* gcc.dg/vect/vect-widen-mult-half-u8.c: Ditto.
* gcc.dg/vect/vect-widen-mult-half.c: Ditto.
2016-06-24 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/float128-cmp-invalid.c (main): Use __builtin_nanq.
2016-06-24 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/noplt-1.c: Don't disable for ia32. Scan for
ia32 if R_386_GOT32X relocation is supported.
* gcc.target/i386/noplt-3.c: Likewise.
* gcc.target/i386/noplt-2.c: Likewise.
(main): Renamed to ...
(bar): This.
* gcc.target/i386/noplt-4.c: Likewise.
(main): Renamed to ...
(bar): This.
* gcc.target/i386/pr67400-3.c: Don't disable for ia32.
* gcc.target/i386/pr67400-5.c: Likewise.
internal-fn.c (expand_arith_set_overflow): New function. * internal-fn.c (expand_arith_set_overflow): New function. (expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): Use it. (expand_arith_overflow_result_store): Likewise. Handle precision smaller than mode precision. * tree-vrp.c (extract_range_basic): For imag part, handle properly signed 1-bit precision result. * doc/extend.texi (__builtin_add_overflow): Document that last argument can't be pointer to enumerated or boolean type. (__builtin_add_overflow_p): Document that last argument can't have enumerated or boolean type. * c-common.c (check_builtin_function_arguments): Require last argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type. Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW if the last argument is pointer to enumerated or boolean type. * c-c++-common/builtin-arith-overflow-1.c (generic_wrong_type, f3, f4): Adjust expected diagnostics. * c-c++-common/torture/builtin-arith-overflow.h (TP): New macro. (T): If OVFP is defined, redefine to TP. * c-c++-common/torture/builtin-arith-overflow-12.c: Adjust comment. * c-c++-common/torture/builtin-arith-overflow-p-1.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-2.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-3.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-4.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-5.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-6.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-7.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-8.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-9.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-10.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-11.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-12.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-13.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-14.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-15.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-16.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-17.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-18.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-19.c: New test. * g++.dg/ext/builtin-arith-overflow-1.C: Pass 0 instead of C as last argument to __builtin_add_overflow_p. From-SVN: r237754
2016-06-24 13:03:27 +02:00
2016-06-24 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/torture/builtin-arith-overflow-p-19.c: Run for C++ too.
* g++.dg/ext/builtin-arith-overflow-2.C: New test.
internal-fn.c (expand_arith_set_overflow): New function. * internal-fn.c (expand_arith_set_overflow): New function. (expand_addsub_overflow, expand_neg_overflow, expand_mul_overflow): Use it. (expand_arith_overflow_result_store): Likewise. Handle precision smaller than mode precision. * tree-vrp.c (extract_range_basic): For imag part, handle properly signed 1-bit precision result. * doc/extend.texi (__builtin_add_overflow): Document that last argument can't be pointer to enumerated or boolean type. (__builtin_add_overflow_p): Document that last argument can't have enumerated or boolean type. * c-common.c (check_builtin_function_arguments): Require last argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type. Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW if the last argument is pointer to enumerated or boolean type. * c-c++-common/builtin-arith-overflow-1.c (generic_wrong_type, f3, f4): Adjust expected diagnostics. * c-c++-common/torture/builtin-arith-overflow.h (TP): New macro. (T): If OVFP is defined, redefine to TP. * c-c++-common/torture/builtin-arith-overflow-12.c: Adjust comment. * c-c++-common/torture/builtin-arith-overflow-p-1.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-2.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-3.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-4.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-5.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-6.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-7.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-8.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-9.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-10.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-11.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-12.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-13.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-14.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-15.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-16.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-17.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-18.c: New test. * c-c++-common/torture/builtin-arith-overflow-p-19.c: New test. * g++.dg/ext/builtin-arith-overflow-1.C: Pass 0 instead of C as last argument to __builtin_add_overflow_p. From-SVN: r237754
2016-06-24 13:03:27 +02:00
* c-c++-common/builtin-arith-overflow-1.c (generic_wrong_type, f3,
f4): Adjust expected diagnostics.
* c-c++-common/torture/builtin-arith-overflow.h (TP): New macro.
(T): If OVFP is defined, redefine to TP.
* c-c++-common/torture/builtin-arith-overflow-12.c: Adjust comment.
* c-c++-common/torture/builtin-arith-overflow-p-1.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-2.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-3.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-4.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-5.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-6.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-7.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-8.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-9.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-10.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-11.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-12.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-13.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-14.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-15.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-16.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-17.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-18.c: New test.
* c-c++-common/torture/builtin-arith-overflow-p-19.c: New test.
* g++.dg/ext/builtin-arith-overflow-1.C: Pass 0 instead of C
as last argument to __builtin_add_overflow_p.
2016-06-23 Uros Bizjak <ubizjak@gmail.com>
* g++.dg/vect/pr33834_2.cc: Use dg-additional-options instead of
dg-options and remove default vector testsuite compile flags.
* g++.dg/vect/pr33860a.cc: Ditto.
* g++.dg/vect/pr45470-a.cc: Ditto.
* g++.dg/vect/pr45470-b.cc: Ditto.
* g++.dg/vect/pr60896.cc: Ditto.
* gcc.dg/vect/no-tree-pre-pr45241.c: Ditto.
* gcc.dg/vect/pr18308.c: Ditto.
* gcc.dg/vect/pr24049.c: Ditto.
* gcc.dg/vect/pr33373.c: Ditto.
* gcc.dg/vect/pr36228.c: Ditto.
* gcc.dg/vect/pr42395.c: Ditto.
* gcc.dg/vect/pr42604.c: Ditto.
* gcc.dg/vect/pr46663.c: Ditto.
* gcc.dg/vect/pr48765.c: Ditto.
* gcc.dg/vect/pr49093.c: Ditto.
* gcc.dg/vect/pr49352.c: Ditto.
* gcc.dg/vect/pr52298.c: Ditto.
* gcc.dg/vect/pr52870.c: Ditto.
* gcc.dg/vect/pr53185.c: Ditto.
* gcc.dg/vect/pr53773.c: Ditto.
* gcc.dg/vect/pr56695.c: Ditto.
* gcc.dg/vect/pr62171.c: Ditto.
* gcc.dg/vect/pr63530.c: Ditto.
* gcc.dg/vect/pr68339.c: Ditto.
* gcc.dg/vect/pr71259.c: Ditto.
* gcc.dg/vect/vect-82_64.c: Ditto.
* gcc.dg/vect/vect-83_64.c: Ditto.
* gcc.dg/vect/vect-debug-pr41926.c: Ditto.
* gcc.dg/vect/vect-shift-2-big-array.c: Ditto.
* gcc.dg/vect/vect-shift-2.c: Ditto.
* gfortran.dg/vect/fast-math-mgrid-resid.f: Ditto.
* gfortran.dg/vect/pr39318.f90: Ditto.
* gfortran.dg/vect/pr45714-a.f: Ditto.
* gfortran.dg/vect/pr45714-b.f: Ditto.
* gfortran.dg/vect/pr46213.f90: Ditto.
2016-06-23 Michael Meissner <meissner@linux.vnet.ibm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-splat-5.c: New test.
2016-06-23 Uros Bizjak <ubizjak@gmail.com>
PR tree-optimization/71488
* gcc.target/i386/i386.exp (check_effective_target_sse4): Move to ...
* lib/target-supports.exp: ... here.
(check_sse4_hw_available): New procedure.
(check_effective_target_sse4_runtime): Ditto.
* g++.dg/pr71488.C (dg-additional-options): Use -msse4 instead of
-march=westmere for sse4_runtime targets.
* gcc.dg/vect/tree-vect.h (check_vect): Handle __SSE4_2__.
* gcc.dg/vect/vect-bool-cmp.c: Include "tree-vect.h".
(dg-additional-options): Use for sse4_runtime targets.
(main): Call check_vect ().
(dg-final): Perform scan only for sse4_runtime targets.
i386: Access external function via GOT slot for -fno-plt i386 psABI has been updated to clarify that R_386_GOT32X and R_386_GOT32 relocations can be used to access GOT without base register when PIC is disabled: https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs 32-bit x86 assembler and linker from binutils 2.26.1 and 2.27 support call/jmp *_start@GOT cmpl $0, bar@GOT for both normal and IFUNC functions. We check if 32-bit x86 assembler and linker have the fix for: https://sourceware.org/bugzilla/show_bug.cgi?id=20244 before accessing external function via GOT slot for -fno-plt in both PIC and non-PIC modes. PR target/66232 PR target/67400 * configure.ac (as_ix86_tls_ldm_opt): Renamed to ... (as_ix86_gas_32_opt): This. (ld_ix86_tls_ldm_opt): Renamed to ... (ld_ix86_gld_32_opt): This. (R_386_TLS_LDM reloc): Updated. (R_386_GOT32X reloc): New assembler/linker check. (HAVE_AS_IX86_GOT32X): New. Defined to 1 if 32-bit assembler and linker support "jmp *_start@GOT" and "cmpl $0, bar@GOT". Otherise, defined to 0. * config.in: Regenerated. * configure: Likewise. * config/i386/i386.c (ix86_force_load_from_GOT_p): Return true if HAVE_AS_IX86_GOT32X is 1 in 32-bit mode. (ix86_legitimate_address_p): Allow UNSPEC_GOT for -fno-plt if ix86_force_load_from_GOT_p returns true. (ix86_print_operand_address_as): Also support UNSPEC_GOT if ix86_force_load_from_GOT_p returns true. (ix86_expand_move): Generate UNSPEC_GOT in 32-bit mode to load the external function address via the GOT slot. (ix86_nopic_noplt_attribute_p): Check both TARGET_64BIT and HAVE_AS_IX86_GOT32X before returning false. (ix86_output_call_insn): Generate "%!jmp/call\t*%p0@GOT" in 32-bit mode if ix86_nopic_noplt_attribute_p returns true. gcc/testsuite/ PR target/66232 PR target/67400 * gcc.target/i386/pr66232-14.c: New file. * gcc.target/i386/pr66232-15.c: Likewise. * gcc.target/i386/pr66232-16.c: Likewise. * gcc.target/i386/pr66232-17.c: Likewise. * gcc.target/i386/pr67400-1.c: Don't disable for ia32. Scan for ia32 if R_386_GOT32X relocation is supported. * gcc.target/i386/pr67400-2.c: Likewise. * gcc.target/i386/pr67400-3.c: Likewise. * gcc.target/i386/pr67400-4.c: Likewise. * gcc.target/i386/pr67400-6.c: Likewise. * gcc.target/i386/pr67400-7.c: Likewise. * lib/target-supports.exp (check_effective_target_got32x_reloc): New. From-SVN: r237736
2016-06-23 18:30:43 +02:00
2016-06-23 H.J. Lu <hongjiu.lu@intel.com>
PR target/66232
PR target/67400
* gcc.target/i386/pr66232-14.c: New file.
* gcc.target/i386/pr66232-15.c: Likewise.
* gcc.target/i386/pr66232-16.c: Likewise.
* gcc.target/i386/pr66232-17.c: Likewise.
* gcc.target/i386/pr67400-1.c: Don't disable for ia32. Scan for
ia32 if R_386_GOT32X relocation is supported.
* gcc.target/i386/pr67400-2.c: Likewise.
* gcc.target/i386/pr67400-3.c: Likewise.
* gcc.target/i386/pr67400-4.c: Likewise.
* gcc.target/i386/pr67400-6.c: Likewise.
* gcc.target/i386/pr67400-7.c: Likewise.
* lib/target-supports.exp (check_effective_target_got32x_reloc): New.
i386: Access external function via GOT slot for -fno-plt i386 psABI has been updated to clarify that R_386_GOT32X and R_386_GOT32 relocations can be used to access GOT without base register when PIC is disabled: https://groups.google.com/forum/#!topic/ia32-abi/awsRSvJOJfs 32-bit x86 assembler and linker from binutils 2.26.1 and 2.27 support call/jmp *_start@GOT cmpl $0, bar@GOT for both normal and IFUNC functions. We check if 32-bit x86 assembler and linker have the fix for: https://sourceware.org/bugzilla/show_bug.cgi?id=20244 before accessing external function via GOT slot for -fno-plt in both PIC and non-PIC modes. PR target/66232 PR target/67400 * configure.ac (as_ix86_tls_ldm_opt): Renamed to ... (as_ix86_gas_32_opt): This. (ld_ix86_tls_ldm_opt): Renamed to ... (ld_ix86_gld_32_opt): This. (R_386_TLS_LDM reloc): Updated. (R_386_GOT32X reloc): New assembler/linker check. (HAVE_AS_IX86_GOT32X): New. Defined to 1 if 32-bit assembler and linker support "jmp *_start@GOT" and "cmpl $0, bar@GOT". Otherise, defined to 0. * config.in: Regenerated. * configure: Likewise. * config/i386/i386.c (ix86_force_load_from_GOT_p): Return true if HAVE_AS_IX86_GOT32X is 1 in 32-bit mode. (ix86_legitimate_address_p): Allow UNSPEC_GOT for -fno-plt if ix86_force_load_from_GOT_p returns true. (ix86_print_operand_address_as): Also support UNSPEC_GOT if ix86_force_load_from_GOT_p returns true. (ix86_expand_move): Generate UNSPEC_GOT in 32-bit mode to load the external function address via the GOT slot. (ix86_nopic_noplt_attribute_p): Check both TARGET_64BIT and HAVE_AS_IX86_GOT32X before returning false. (ix86_output_call_insn): Generate "%!jmp/call\t*%p0@GOT" in 32-bit mode if ix86_nopic_noplt_attribute_p returns true. gcc/testsuite/ PR target/66232 PR target/67400 * gcc.target/i386/pr66232-14.c: New file. * gcc.target/i386/pr66232-15.c: Likewise. * gcc.target/i386/pr66232-16.c: Likewise. * gcc.target/i386/pr66232-17.c: Likewise. * gcc.target/i386/pr67400-1.c: Don't disable for ia32. Scan for ia32 if R_386_GOT32X relocation is supported. * gcc.target/i386/pr67400-2.c: Likewise. * gcc.target/i386/pr67400-3.c: Likewise. * gcc.target/i386/pr67400-4.c: Likewise. * gcc.target/i386/pr67400-6.c: Likewise. * gcc.target/i386/pr67400-7.c: Likewise. * lib/target-supports.exp (check_effective_target_got32x_reloc): New. From-SVN: r237736
2016-06-23 18:30:43 +02:00
re PR libfortran/48852 (Invalid spaces in list-directed output of complex constants) 2016-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/48852 * io/write.c: Cleaned up whitespace. (write_d, write_e, write_f, write_es, write_en): Use new helper function write_float_0. (write_float_0): New helper function. (get_precision, select_buffer, select_string, write_float_string): New helper functions used in remaining float writing functions. Helper function write_float_string now contains code for writing to kind=4 character internal units. (write_real): Modified to establish working buffers at this level and to use new helper functions. (write_real_g0): Likewise modified. (write_complex): Likewise modified. Gets both float strings before output so that final lengths can be determined which allows right justifying the complex number with no intervening spaces. * io/write_float.def (build_float_string): Renamed from previosly output_float, modified to use buffers passed in from higher functions, builds a null terminated string of the floating point value. Character kind=4 code eliminated. (write_infnan): Likewise modified to use incoming buffers and eliminate kind=4 related code. (OUTPUT_FLOAT_FMT_G): Deleted, functionality moved into FORMAT_FLOAT. (FORMAT_FLOAT): Renamed macro from WRITE_FLOAT. Use build_float_string. (get_float_string): Renamed from write_float, uses FORMAT_FLOAT macro. Buffer allocation removed, now at higher level. PR libgfortran/48852 * gfortran.dg/char4_iunit_1.f03: Update test. * gfortran.dg/f2003_io_5.f03: Update test. * gfortran.dg/real_const_3.f90: Update test. From-SVN: r237735
2016-06-23 17:58:05 +02:00
2016-06-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/48852
* gfortran.dg/char4_iunit_1.f03: Update test.
* gfortran.dg/f2003_io_5.f03: Update test.
* gfortran.dg/real_const_3.f90: Update test.
2016-06-23 Andi Kleen <ak@linux.intel.com>
* g++.dg/bprob/bprob.exp: Support autofdo.
* g++.dg/tree-prof/tree-prof.exp: dito.
* gcc.dg/tree-prof/tree-prof.exp: dito.
* gcc.misc-tests/bprob.exp: dito.
* gfortran.dg/prof/prof.exp: dito.
* lib/profopt.exp: dito.
* lib/target-supports.exp: Check for autofdo.
2016-06-23 Martin Liska <mliska@suse.cz>
* gcc.dg/pr71619.c: New test.
2016-06-23 H.J. Lu <hongjiu.lu@intel.com>
PR target/67400
* gcc.target/i386/pr67400-1.c: New test.
* gcc.target/i386/pr67400-2.c: Likewise.
* gcc.target/i386/pr67400-3.c: Likewise.
* gcc.target/i386/pr67400-4.c: Likewise.
* gcc.target/i386/pr67400-5.c: Likewise.
* gcc.target/i386/pr67400-6.c: Likewise.
* gcc.target/i386/pr67400-7.c: Likewise.
libcpp: Tweak to missing #include source location This patch tweaks the error message location for missing header files. Previously these read: test.c:1:17: fatal error: 404.h: No such file or directory #include "404.h" ^ compilation terminated. With this patch, the pertinent string is underlined: test.c:1:10: fatal error: 404.h: No such file or directory #include "404.h" ^~~~~~~ compilation terminated. gcc/testsuite/ChangeLog: * c-c++-common/missing-header-1.c: New test case. * c-c++-common/missing-header-2.c: New test case. * c-c++-common/missing-header-3.c: New test case. * c-c++-common/missing-header-4.c: New test case. libcpp/ChangeLog: * directives.c (do_include_common): Pass on "location" to _cpp_stack_include. * errors.c (cpp_diagnostic): Reimplement in terms of... (cpp_diagnostic_at): New function. (cpp_error_at): New function. (cpp_errno_filename): Add "loc" param and use it by using cpp_error_at rather than cpp_error. * files.c (find_file_in_dir): Add "loc" param and pass it to open_file_failed. (_cpp_find_file): Add "loc" param. Use it to convert calls to cpp_error to cpp_error_at, and pass it to find_file_in_dir and open_file_failed. (read_file_guts): Add "loc" param. Use it to convert calls to cpp_error to cpp_error_at. Pass it to cpp_errno_filename. (read_file): Add "loc" param. Pass it to open_file_failed and read_file_guts. (should_stack_file): Add "loc" param. Pass it to read_file. (_cpp_stack_file): Add "loc" param. Pass it to should_stack_file. (_cpp_stack_include): Add "loc" param. Pass it to _cpp_find_file and _cpp_stack_file. (open_file_failed): Add "loc" param. Pass it to cpp_errno_filename. (_cpp_fake_include): Add 0 as a source_location in call to _cpp_find_file. (_cpp_compare_file_date): Likewise. (cpp_push_include): Likewise for call to _cpp_stack_include. (cpp_push_default_include): Likewise. (_cpp_save_file_entries): Likewise for call to open_file_failed. (_cpp_has_header): Likewise for call to _cpp_find_file. * include/cpplib.h (cpp_errno_filename): Add source_location param. (cpp_error_at): New declaration. * init.c (cpp_read_main_file): Add 0 as a source_location in calls to _cpp_find_file and _cpp_stack_file. * internal.h (_cpp_find_file): Add source_location param. (_cpp_stack_file): Likewise. (_cpp_stack_include): Likewise. From-SVN: r237715
2016-06-22 17:29:21 +02:00
2016-06-22 David Malcolm <dmalcolm@redhat.com>
* c-c++-common/missing-header-1.c: New test case.
* c-c++-common/missing-header-2.c: New test case.
* c-c++-common/missing-header-3.c: New test case.
* c-c++-common/missing-header-4.c: New test case.
C FE: suggest corrections for misspelled identifiers and type names gcc/c-family/ChangeLog: PR c/70339 * c-common.h (enum lookup_name_fuzzy_kind): New enum. (lookup_name_fuzzy): New prototype. gcc/c/ChangeLog: PR c/70339 * c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h. (implicit_decl_warning): When issuing warnings for implicit declarations, attempt to provide a suggestion via lookup_name_fuzzy. (undeclared_variable): Likewise when issuing errors. (lookup_name_in_scope): Likewise. (struct edit_distance_traits<cpp_hashnode *>): New struct. (best_macro_match): New typedef. (find_closest_macro_cpp_cb): New function. (lookup_name_fuzzy): New function. * c-parser.c: Include gcc-rich-location.h. (c_token_starts_typename): Split out case CPP_KEYWORD into... (c_keyword_starts_typename): ...this new function. (c_parser_declaration_or_fndef): When issuing errors about missing "struct" etc, add a fixit. For other kinds of errors, attempt to provide a suggestion via lookup_name_fuzzy. (c_parser_parms_declarator): When looking ahead to detect typos in type names, also reject CPP_KEYWORD. (c_parser_parameter_declaration): When issuing errors about unknown type names, attempt to provide a suggestion via lookup_name_fuzzy. * c-tree.h (c_keyword_starts_typename): New prototype. gcc/ChangeLog: PR c/70339 * diagnostic-core.h (pedwarn_at_rich_loc): New prototype. * diagnostic.c (pedwarn_at_rich_loc): New function. * spellcheck.h (best_match::best_match): Add a "best_distance_so_far" optional parameter. (best_match::set_best_so_far): New method. (best_match::get_best_distance): New accessor. (best_match::get_best_candidate_length): New accessor. gcc/testsuite/ChangeLog: PR c/70339 * c-c++-common/attributes-1.c: Update dg-prune-output to include hint. * gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Update expected results due to builtin "nanl" now being suggested for "name". * gcc.dg/pr67580.c: Update expected messages. * gcc.dg/spellcheck-identifiers.c: New testcase. * gcc.dg/spellcheck-typenames.c: New testcase. From-SVN: r237714
2016-06-22 17:20:41 +02:00
2016-06-22 David Malcolm <dmalcolm@redhat.com>
PR c/70339
* c-c++-common/attributes-1.c: Update dg-prune-output to include
hint.
* gcc.dg/diagnostic-token-ranges.c (undeclared_identifier): Update
expected results due to builtin "nanl" now being suggested for
"name".
* gcc.dg/pr67580.c: Update expected messages.
* gcc.dg/spellcheck-identifiers.c: New testcase.
* gcc.dg/spellcheck-typenames.c: New testcase.
Implement -fdiagnostics-parseable-fixits gcc/ChangeLog: * common.opt (fdiagnostics-parseable-fixits): New option. * diagnostic.c: Include "selftest.h". (print_escaped_string): New function. (print_parseable_fixits): New function. (diagnostic_report_diagnostic): Call print_parseable_fixits. (selftest::assert_print_escaped_string): New function. (ASSERT_PRINT_ESCAPED_STRING_STREQ): New macro. (selftest::test_print_escaped_string): New function. (selftest::test_print_parseable_fixits_none): New function. (selftest::test_print_parseable_fixits_insert): New function. (selftest::test_print_parseable_fixits_remove): New function. (selftest::test_print_parseable_fixits_replace): New function. (selftest::diagnostic_c_tests): New function. * diagnostic.h (struct diagnostic_context): Add field "parseable_fixits_p". * doc/invoke.texi (Diagnostic Message Formatting Options): Add -fdiagnostics-parseable-fixits. (-fdiagnostics-parseable-fixits): New option. * opts.c (common_handle_option): Handle -fdiagnostics-parseable-fixits. * selftest-run-tests.c (selftest::run_tests): Call selftest::diagnostic_c_tests. * selftest.h (selftest::diagnostic_c_tests): New prototype. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c: New file. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add diagnostic-test-show-locus-parseable-fixits.c to sources for diagnostic_plugin_test_show_locus.c. * lib/gcc-defs.exp (freeform_regexps): New global. (dg-regexp): New function. (handle-dg-regexps): New function. * lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset freeform_regexps to the empty list. * lib/prune.exp (prune_gcc_output): Call handle-dg-regexps. libcpp/ChangeLog: * include/line-map.h (fixit_hint::get_start_loc): New pure virtual function. (fixit_hint::maybe_get_end_loc): Likewise. (fixit_insert::get_start_loc): New function, implementing fixit_hint::get_start_loc. (fixit_insert::maybe_get_end_loc): New function, implementing fixit_hint::maybe_get_end_loc. (fixit_remove::get_start_loc): New function, implementing fixit_hint::get_start_loc. (fixit_remove::maybe_get_end_loc): New function, implementing fixit_hint::maybe_get_end_loc. (fixit_replace::get_start_loc): New function, implementing fixit_hint::get_start_loc. (fixit_replace::maybe_get_end_loc): New function, implementing fixit_hint::maybe_get_end_loc. From-SVN: r237712
2016-06-22 16:42:30 +02:00
2016-06-22 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-show-locus-parseable-fixits.c: New
file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add
diagnostic-test-show-locus-parseable-fixits.c to sources for
diagnostic_plugin_test_show_locus.c.
* lib/gcc-defs.exp (freeform_regexps): New global.
(dg-regexp): New function.
(handle-dg-regexps): New function.
* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Reset
freeform_regexps to the empty list.
* lib/prune.exp (prune_gcc_output): Call handle-dg-regexps.
2016-06-22 Ilya Enkovich <ilya.enkovich@intel.com>
PR tree-optimization/71488
* g++.dg/pr71488.C: New test.
* gcc.dg/vect/vect-bool-cmp.c: New test.
2016-06-22 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/guality/param-5.c: New test.
2016-06-22 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.target/i386/asm-flag-7.c: New test.
remove mep-* support libgcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config.host: Remove support for mep-*. * config/mep/lib1funcs.S: Remove. * config/mep/lib2funcs.c: Remove. * config/mep/t-mep: Remove. * config/mep/tramp.c: Remove. gcc/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * common/config/mep/mep-common.c: Remove. * config.gcc: Remove mep-* support. * config/mep/constraints.md: Remove. * config/mep/default.h: Remove. * config/mep/intrinsics.h: Remove. * config/mep/intrinsics.md: Remove. * config/mep/ivc2-template.h: Remove. * config/mep/mep-c5.cpu: Remove. * config/mep/mep-core.cpu: Remove. * config/mep/mep-default.cpu: Remove. * config/mep/mep-ext-cop.cpu: Remove. * config/mep/mep-intrin.h: Remove. * config/mep/mep-ivc2.cpu: Remove. * config/mep/mep-pragma.c: Remove. * config/mep/mep-protos.h: Remove. * config/mep/mep.c: Remove. * config/mep/mep.cpu: Remove. * config/mep/mep.h: Remove. * config/mep/mep.md: Remove. * config/mep/mep.opt: Remove. * config/mep/predicates.md: Remove. * config/mep/t-mep: Remove. * doc/install.texi: Remove mep-* documentation. * doc/md.texi: Likewise. gcc/testsuite/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * gcc.dg/tree-ssa/forwprop-28.c: Remove mep-* support. * gcc.dg/tree-ssa/reassoc-32.c: Likewise. * gcc.dg/tree-ssa/reassoc-33.c: Likewise. * gcc.dg/tree-ssa/reassoc-34.c: Likewise. * gcc.dg/tree-ssa/reassoc-35.c: Likewise. * gcc.dg/tree-ssa/reassoc-36.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise. * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise. * gcc.dg/tree-ssa/ssa-thread-11.c: Likewise. * gcc.dg/tree-ssa/vrp87.c: Likewise. * lib/target-supports.exp: Likewise. contrib/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config-list.mk: Stop testing mep-elf. libstdc++-v3/ChangeLog: 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * configure.host: Remove mep-* support. From-SVN: r237666
2016-06-21 23:57:49 +02:00
2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* gcc.dg/tree-ssa/forwprop-28.c: Remove mep-* support.
* gcc.dg/tree-ssa/reassoc-32.c: Likewise.
* gcc.dg/tree-ssa/reassoc-33.c: Likewise.
* gcc.dg/tree-ssa/reassoc-34.c: Likewise.
* gcc.dg/tree-ssa/reassoc-35.c: Likewise.
* gcc.dg/tree-ssa/reassoc-36.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
* gcc.dg/tree-ssa/ssa-thread-11.c: Likewise.
* gcc.dg/tree-ssa/vrp87.c: Likewise.
* lib/target-supports.exp: Likewise.
2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* gcc.dg/attr-ms_struct-1.c: Stop testing interix.
* gcc.dg/attr-ms_struct-2.c: Likewise.
* gcc.dg/attr-ms_struct-packed1.c: Likewise.
* gcc.dg/bf-ms-attrib.c: Likewise.
* gcc.dg/bf-ms-layout-2.c: Likewise.
* gcc.dg/bf-ms-layout-3.c: Likewise.
* gcc.dg/bf-ms-layout.c: Likewise.
* gcc.dg/bf-no-ms-layout.c: Likewise.
* gcc.target/i386/bitfield1.c: Likewise.
* gcc.target/i386/bitfield2.c: Likewise.
* gcc.target/i386/bitfield3.c: Likewise.
2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/darn-0.c: Add dejagnu directives to disable
test if effective-target is not powerpc_p9vector_ok, or if a -mcpu
override other than -mcpu=power9 command-line option is specified,
or if the target operating system is aix.
* gcc.target/powerpc/darn-1.c: Likewise.
* gcc.target/powerpc/darn-2.c: Likewise.
* gcc.target/powerpc/vslv-0.c: Add dejagnu directives to disable
test if effective-target is not powerpc_p9vector_ok or if the
target operating system is not defined.
* gcc.target/powerpc/vslv-1.c: Likewise.
* gcc.target/powerpc/vsrv-0.c: Likewise.
* gcc.target/powerpc/vsrv-1.c: Likewise.
2016-06-21 Tobias Burnus <burnus@net-b.de>
PR fortran/71068
* gfortran.dg/coarray/data_1.f90: New.
2016-06-21 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/vrnd.c
(dg-require-effective-target): Use arm_v8_neon_hw.
* gcc.target/aarch64/advsimd-intrinsics/vrnda.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndm.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndn.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndp.c
(dg-require-effective-target): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrndx.c
(dg-require-effective-target): Likewise.
* lib/target-supports.exp (check_runtime arm_v8_neon_hw_available):
Add AArch64 check.
2016-06-21 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.dg/tree-ssa/attr-hotcold-2.c (scan-tree-dump-times):
Set to 3 so test passes.
2016-06-21 Wilco Dijkstra <wdijkstr@arm.com>
* gfortran.dg/vect/vect-8.f90 (vectorized loops): Set to 21.
2016-06-21 Ilya Verbin <ilya.verbin@intel.com>
* gcc.target/i386/avx512er-vrsqrt28ps-3.c: New test.
* gcc.target/i386/avx512er-vrsqrt28ps-4.c: New test.
* gcc.target/i386/avx512er-vrsqrt28ps-5.c: New test.
* gcc.target/i386/avx512er-vrsqrt28ps-6.c: New test.
2016-06-21 Ilya Verbin <ilya.verbin@intel.com>
* gcc.target/i386/avx512er-vrcp28ps-3.c: New test.
* gcc.target/i386/avx512er-vrcp28ps-4.c: New test.
2016-06-21 H.J. Lu <hongjiu.lu@intel.com>
PR target/71549
* gcc.target/i386/pr71549.c: New test.
2016-06-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/vadsdu-0.c: Replace
dg-require-effective-target directive to allow test to run on more
platforms, and add dg-skip-if directive to disable test on aix
platforms because of known incompatibilities.
* gcc.target/powerpc/vadsdu-1.c: Likewise.
* gcc.target/powerpc/vadsdu-2.c: Likewise.
* gcc.target/powerpc/vadsdu-3.c: Likewise.
* gcc.target/powerpc/vadsdu-4.c: Likewise.
* gcc.target/powerpc/vadsdu-5.c: Likewise.
* gcc.target/powerpc/vadsdub-1.c: Likewise.
* gcc.target/powerpc/vadsdub-2.c: Replace
dg-require-effective-target directive to allow test to run on more
platforms, and add dg-skip-if directive to disable test on aix
platforms because of known incompatibilities.
(doAbsoluteDifferenceUnsigned): Replace __builtin_vec_vadub call
with vec_absdb call to differentiate this test from vadsdub-1.c.
* gcc.target/powerpc/vadsduh-1.c: Replace
dg-require-effective-target directive to allow test to run on more
platforms, and add dg-skip-if directive to disable test on aix
platforms because of known incompatibilities.
* gcc.target/powerpc/vadsduh-2.c: Likewise.
* gcc.target/powerpc/vadsduw-1.c: Likewise.
* gcc.target/powerpc/vadsduw-2.c: Likewise.
2016-06-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71588
* gcc.dg/pr71558.c: New test.
2016-06-21 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* c-c++-common/pr68657-1.c: Require ptr32plus support.
* c-c++-common/pr68657-2.c: Likewise.
* c-c++-common/pr68657-3.c: Likewise.
* gcc.dg/torture/pr69714.c: Require int32plus support.
* gcc.dg/torture/pr70025.c: Likewise.
* gcc.dg/torture/pr70083.c: Likewise.
* gcc.dg/torture/pr70542.c: Likewise.
* gcc.dg/torture/pr70935.c: Require ptr32plus support.
2016-06-20 Joseph Myers <joseph@codesourcery.com>
PR c/71601
* gcc.dg/dfp/usual-arith-conv-bad-3.c: New test.
2016-06-20 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71581
* gcc.dg/pr71581.c: New test.
PR rtl-optimization/71591
* gcc.dg/cpp/pr71591.c: New test.
2016-06-20 David B. Robins <gcc@davidrobins.net>
PR target/71571
* g++.dg/torture/pr71571.C: New test.
2016-06-20 Jakub Jelinek <jakub@redhat.com>
PR target/71559
* gcc.target/i386/sse2-pr71559.c: New test.
* gcc.target/i386/avx-pr71559.c: New test.
* gcc.target/i386/avx512f-pr71559.c: New test.
2016-06-20 Tobias Burnus <burnus@net-b.de>
PR fortran/71194
* gfortran.dg/pointer_remapping_10.f90: New.
2016-06-20 David Malcolm <dmalcolm@redhat.com>
* g++.dg/diagnostic/string-literal-concat.C: New test case.
2016-06-20 Martin Sebor <msebor@redhat.com>
PR c/69507
* gnu89-const-expr-1.c: Avoid diagnosing __alignof__ as not conforming.
* gnu90-const-expr-1.c: Same.
* gnu99-const-expr-1.c: Same.
* gnu99-static-1.c: Same.
2016-06-20 Renlin Li <renlin.li@arm.com>
PR testsuite/71489
* gcc.dg/tree-ssa/attr-hotcold-2.c: Fix syntax errors.
2016-06-20 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.target/aarch64/vcvt_f64_1.c: New.
* gcc.target/aarch64/vcvt_n_f64_1.c: New.
* gcc.target/aarch64/vrecp_f64_1.c: New.
2016-06-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gfortran.dg/common_align_2.f90: Use "alignment" instead of
"alignement".
2016-06-20 Georg-Johann Lay <avr@gjlay.de>
PR target/71103
* gcc.target/avr/torture/pr71103-2.c: New test.
2016-06-19 Martin Sebor <msebor@redhat.com>
PR c/69507
* gcc.dg/alignof.c: New test.
2016-06-17 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/constexpr-specialization.C: Adjust for dg-message
vs dg-error; test constexpr specifier too.
2016-06-17 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/defaulted31.C: Adjust for dg-message vs dg-error.
2016-06-17 Christophe Lyon <christophe.lyon@linaro.org>
* lib/target-supports.exp
(check_effective_target_arm_neon_fp16_ok_nocache): Call
arm_neon_ok and merge flags. Fix temporary test name.
(check_effective_target_arm_neonv2_ok_nocache): Call arm_neon_ok
and merge flags.
2016-06-17 Martin Liska <mliska@suse.cz>
* gcc.dg/predict-9.c: Fix dump scanning.
2016-06-17 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/71354
* gcc.dg/vect/vect-23.c: Use vect_condition instead of vect_cond.
2016-06-17 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/71347
* gcc.dg/tree-ssa/pr71347.c: New test.
2016-06-17 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/71354
* gcc.dg/vect/vect-23.c: Add VECT_COND requirement.
2016-06-17 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/vect/vect-alias-check-1.c: New test.
2016-06-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR target/71151
* gcc.target/avr/pr71151-1.c: New test.
* gcc.target/avr/pr71151-2.c: New test.
* gcc.target/avr/pr71151-3.c: New test.
* gcc.target/avr/pr71151-4.c: New test.
* gcc.target/avr/pr71151-5.c: New test.
* gcc.target/avr/pr71151-6.c: New test.
* gcc.target/avr/pr71151-7.c: New test.
* gcc.target/avr/pr71151-8.c: New test.
* gcc.target/avr/pr71151-common.h: New test.
2016-06-16 Martin Liska <mliska@suse.cz>
* gfortran.dg/predict-1.f90: New test.
2016-06-16 Uros Bizjak <ubizjak@gmail.com>
PR target/71242
* gcc.dg/torture/float128-nan.c: Also run on ia64-*-*.
2016-06-16 Jan Hubicka <hubicka@ucw.cz>
* g++.dg/vect/pr36648.cc: Disable cunrolli
2016-06-16 Jakub Jelinek <jakub@redhat.com>
PR target/71554
* gcc.c-torture/execute/pr71554.c: New test.
PR rtl-optimization/71532
* gcc.dg/torture/pr71532.c: New test.
vsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in vector registers. [gcc] 2016-06-15 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in vector registers. (vsx_extract_<mode>, V2DImode/V2DFmode): Combine both vsx_extract_<mode>_internal{1,2} into a single insn that handles direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes extraction of the element at the top of the register as a scalar value. (vsx_extract_<mode>_internal1): Likewise. (vsx_extract_<mode>_internal2): Likewise. * config/rs6000/constraints.md (wi constraint): Remove a comment about DImode not being allowed in Altivec registers. (wB constraint): New constraint for constants that can be generated in Altivec registers with VSPLTISW/VUPKHSW. * config/rs6000/predicates.md (xxspltib_constant_split): Update comments. (xxspltib_constant_nosplit): Likewise. * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add support for -mupper-regs-di to enable DImode to go into Altivec registers. (POWERPC_MASKS): Likewise. (power7 cpu): Likewise. * config/rs6000/rs6000.opt (-mupper-regs-di): Likewise. * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support for DImode being allowed in Altivec registers. Update wi/wj constraints. Set scalar_in_vmx_p flag. (rs6000_option_override_internal): Add checks for -mupper-regs-di. (xxspltib_constant_p): Allow CONST_INT's with VOIDmode. Don't return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB. (rs6000_opt_masks): Add -mupper-regs-di. * config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use direct move to use wi and not wj. (lfiwzx): Likewise. (floatsi<mode>2_lfiwax_mem): Combine alternatives into a single alternative. (floatunssi<mode>2_lfiwzx_mem): Likewise. (fix_trunc<mode>di2_fctidz): Change second alternative to allow any VSX register, instead of just Altivec registers, to allow either operand to be an Altivec register or both. (fixuns_trunc<mode>di2_fctiduz): Likewise. (movdi_internal32): Add support for -mupper-regs-di. Add support to load constants via XXSPLTIB or VSPLTISW. Add spacing to allow the alternatives and attributes to be lined up to be easier to read. (movdi_internal64): Likewise. (64-bit DImode splitters): Change predicates to only split loading up GPR registers. Add splits for using XXSPLTIB or VSPLTISW to load constants in ISA 3.0 or ISA 2.07 respectively. * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mupper-regs-di. Update -mupper-regs-df and -mupper-regs-sf to mention -mcpu=power9 sets these options. * doc/md.texi (PowerPC and IBM RS6000 constraints): Document the wB constraint. [gcc/testsuite] 2016-06-15 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-dimode1.c: New test. * gcc.target/powerpc/p9-dimode2.c: Likewise. From-SVN: r237490
2016-06-15 20:17:58 +02:00
2016-06-15 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-dimode1.c: New test.
* gcc.target/powerpc/p9-dimode2.c: Likewise.
2016-06-15 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/compile/20160615-1.c: New test.
* g++.dg/cpp0x/ref-qual17.C: New test.
2016-06-15 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/71529
* gcc.target/i386/pr71529.C: New test.
2016-06-15 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71483
* g++.dg/vect/pr71483.c: New
2016-06-15 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70202
* g++.dg/inherit/crash6.C: New.
* g++.dg/inherit/union2.C: Likewise.
* g++.dg/inherit/virtual12.C: Likewise.
* g++.dg/inherit/virtual13.C: Likewise.
* g++.dg/inherit/virtual1.C: Tweak dg-* tests.
2016-06-15 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/float128-nan.c: Include stdint.h to define uint64_t.
2016-06-15 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71439
* gcc.dg/vect/pr71439.c: New
2016-06-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/ifcvt_multiple_sets_subreg_1.c: New test.
2016-06-15 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/slp-45.c: New testcase.
2016-06-15 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/bb-slp-pattern-2.c: Disable loop vectorization.
2016-06-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-elemrev-2.c: Change effective target
requirements, and disable for AIX for now.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.
2016-06-14 Jakub Jelinek <jakub@redhat.com>
PR c++/71528
* g++.dg/opt/pr71528.C: New test.
PR c++/71516
* g++.dg/init/pr71516.C: New test.
2016-06-14 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/init/array46.C: New.
2016-06-14 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/float128-3.c: New test.
* gcc.target/i386/quad-sse4.c: Ditto.
* gcc.target/i386/quad-sse.c: Use -msse instead of -msse2.
Update scan strings.
2016-06-14 Richard Biener <rguenther@suse.de>
PR middle-end/71526
* gfortran.dg/pr71526.f90: New testcase.
2016-06-14 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.dg/zero_bits_compound-1.c: Support aarch64.
* gcc.dg/zero_bits_compound-1.c: Likewise.
2016-06-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/71522
* gcc.dg/torture/pr71522.c: New testcase.
2016-06-14 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71520
* gcc.dg/tree-ssa/pr71520.c: New test.
2016-06-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/71521
* gcc.dg/tree-ssa/vrp101.c: New testcase.
2016-06-13 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/71498
* c-c++-common/ubsan/bounds-13.c: New test.
PR preprocessor/71183
* gcc.dg/cpp/source_date_epoch-3.c: New test.
2016-06-13 Jeff Law <law@redhat.com>
PR tree-optimization/71403
* c-c++-common/ubsan/pr71403-1.c: New test.
* c-c++-common/ubsan/pr71403-2.c: New test.
* c-c++-common/ubsan/pr71403-3.c: New test.
2016-06-13 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71478
* gcc.dg/pr71478.c: Remove dg-require-effective-target vect_int.
Add -Wno-psabi -w to dg-options.
altivec.h (vec_absd): New macro for vector absolute difference unsigned. gcc/ChangeLog: 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.h (vec_absd): New macro for vector absolute difference unsigned. (vec_absdb): New macro for vector absolute difference unsigned byte. (vec_absdh): New macro for vector absolute difference unsigned half-word. (vec_absdw): New macro for vector absolute difference unsigned word. * config/rs6000/altivec.md (UNSPEC_VADU): New value. (vadu<mode>3): New insn. (*p9_vadu<mode>3): New insn. * config/rs6000/rs6000-builtin.def (vadub): New built-in definition. (vaduh): New built-in definition. (vaduw): New built-in definition. (vadu): New overloaded built-in definition. (vadub): New overloaded built-in definition. (vaduh): New overloaded built-in definition. (vaduw): New overloaded built-in definition. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded vector absolute difference unsigned functions. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document the ISA 3.0 vector absolute difference unsigned built-in functions. gcc/testsuite/ChangeLog: 2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/vadsdu-0.c: New test. * gcc.target/powerpc/vadsdu-1.c: New test. * gcc.target/powerpc/vadsdu-2.c: New test. * gcc.target/powerpc/vadsdu-3.c: New test. * gcc.target/powerpc/vadsdu-4.c: New test. * gcc.target/powerpc/vadsdu-5.c: New test. * gcc.target/powerpc/vadsdub-1.c: New test. * gcc.target/powerpc/vadsdub-2.c: New test. * gcc.target/powerpc/vadsduh-1.c: New test. * gcc.target/powerpc/vadsduh-2.c: New test. * gcc.target/powerpc/vadsduw-1.c: New test. * gcc.target/powerpc/vadsduw-2.c: New test. From-SVN: r237390
2016-06-13 19:59:12 +02:00
2016-06-13 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/vadsdu-0.c: New test.
* gcc.target/powerpc/vadsdu-1.c: New test.
* gcc.target/powerpc/vadsdu-2.c: New test.
* gcc.target/powerpc/vadsdu-3.c: New test.
* gcc.target/powerpc/vadsdu-4.c: New test.
* gcc.target/powerpc/vadsdu-5.c: New test.
* gcc.target/powerpc/vadsdub-1.c: New test.
* gcc.target/powerpc/vadsdub-2.c: New test.
* gcc.target/powerpc/vadsduh-1.c: New test.
* gcc.target/powerpc/vadsduh-2.c: New test.
* gcc.target/powerpc/vadsduw-1.c: New test.
* gcc.target/powerpc/vadsduw-2.c: New test.
2016-06-13 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/c99-init-2.c (c): Update expected error message.
* gcc.dg/init-bad-8.c (foo): Likewise.
* gcc.dg/spellcheck-fields-3.c: New test case.
2016-06-13 Martin Liska <mliska@suse.cz>
* gcc.dg/predict-1.c: Distinguish between "loop iv compare"
and "guess loop iv compared" heuristics.
* gcc.dg/predict-2.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/predict-4.c: Likewise.
* gcc.dg/predict-5.c: Likewise.
* gcc.dg/predict-6.c: Likewise.
2016-06-13 Marek Polacek <polacek@redhat.com>
PR middle-end/71476
* c-c++-common/Wswitch-unreachable-4.c: New test.
* gcc.dg/Wswitch-unreachable-2.c: New test.
* g++.dg/tm/jump1.C: Move dg-warning.
2016-06-13 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/renaming10.ad[sb]: New test.
2016-06-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/70673
* gfortran.dg/pr70673.f90: New test.
2016-06-13 Richard Biener <rguenther@suse.de>
PR middle-end/64516
* gcc.dg/align-3.c: New testcase.
2016-06-13 Martin Liska <mliska@suse.cz>
* gcc.target/i386/pr71458.c: New test.
2016-06-12 Uros Bizjak <ubizjak@gmail.com>
PR target/71241
* gcc.dg/torture/float128-nan.c: New test.
2016-06-12 Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/60751
* gfortran.dg/guality/pr41558.f90: Remove extra comma in WRITE
statement.
2016-06-11 Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/60751
* gfortran.dg/comma_IO_extension_1.f90: New test.
* gfortran.dg/comma_IO_extension_2.f90: Likewise.
* gfortran.dg/array_constructor_49.f90: Remove extra comma in WRITE
statement.
* gfortran.dg/graphite/pr38083.f90: Likewise.
* gfortran.dg/integer_exponentiation_6.F90: Likewise and add
missing format.
2016-06-11 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/case_character.adb: New test.
2016-06-11 Segher Boessenkool <segher@kernel.crashing.org>
PR middle-end/71310
* gcc.target/powerpc/pr71310.c: New testcase.
2016-06-11 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71478
* gcc.dg/pr71478.c: New test.
2016-06-10 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71494
* gcc.c-torture/execute/pr71494.c: New test.
PR c/68657
* gcc.target/i386/pr68657.c: New test.
PR inline-asm/68843
* gcc.target/i386/pr68843-2.c: Add dg-do run and empty dg-options.
(test): Add -masm=intel alternatives.
PR c/71392 - SEGV calling integer overflow built-ins with a null pointer gcc/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_LEAF_LIST): New macro. (ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF): Same. * builtins.def (BUILT_IN_SADD_OVERFLOW, BUILT_IN_SADDL_OVERFLOW): Use them. (BUILT_IN_SADDLL_OVERFLOW, BUILT_IN_SSUB_OVERFLOW): Same. (BUILT_IN_SSUBL_OVERFLOW, BUILT_IN_SSUBLL_OVERFLOW): Same. (BUILT_IN_SMUL_OVERFLOW, BUILT_IN_SMULL_OVERFLOW): Same. (BUILT_IN_SMULLL_OVERFLOW, BUILT_IN_UADD_OVERFLOW): Same. (BUILT_IN_UADDL_OVERFLOW, BUILT_IN_UADDLL_OVERFLOW): Same. (BUILT_IN_USUB_OVERFLOW, BUILT_IN_USUBL_OVERFLOW): Same. (BUILT_IN_USUBLL_OVERFLOW, BUILT_IN_UMUL_OVERFLOW): Same. (BUILT_IN_UMULL_OVERFLOW, BUILT_IN_UMULLL_OVERFLOW): gcc/ada/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * gcc/ada/gcc-interface/utils.c (handle_nonnull_attribute): Accept the nonnull attribute in type-generic builtins. gcc/c-family/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * gcc/c-family/c-common.c (handle_nonnull_attribute): Accept the nonnull attribute in type-generic builtins. gcc/lto/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * gcc/lto/lto-lang.c (handle_nonnull_attribute): Accept the nonnull attribute in type-generic builtins. gcc/testsuite/ChangeLog: 2016-06-10 Martin Sebor <msebor@redhat.com> PR c/71392 * c-c++-common/builtin-arith-overflow-1.c: Add test cases. From-SVN: r237314
2016-06-10 19:38:19 +02:00
2016-06-10 Martin Sebor <msebor@redhat.com>
PR c/71392
* c-c++-common/builtin-arith-overflow-1.c: Add test cases.
2016-06-10 Jeff Law <law@redhat.com>
PR tree-optimization/71335
* gcc.c-torture/execute/pr71335.c: New test.
2016-06-10 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/must-tail-call-2.c: Remove all details from
the various "cannot tail-call: " messages.
2016-06-10 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/pr37780_1.c: Use arm_arch_v6t2 effective target
and options.
2016-06-10 Maxim Ostapenko <m.ostapenko@samsung.com>
PR sanitizer/71480
* c-c++-common/asan/pr71480.c: New test.
2016-06-10 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/guality/pr68037-1.c (ASMNAME): New.
(ASMNAME2): Likewise.
(main): Replace fn in asm statement with ASMNAME ("fn").
* gcc.dg/guality/pr68037-2.c: Likewise.
* gcc.dg/guality/pr68037-3.c: Likewise.
* gcc.dg/torture/pr68037-1.c: Likewise.
* gcc.dg/torture/pr68037-2.c: Likewise.
* gcc.dg/torture/pr68037-3.c: Likewise.
2016-06-10 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR inline-asm/68843
* gcc.target/i386/pr68843-1.c: New test.
* gcc.target/i386/pr68843-2.c: New test.
2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
[PR middle-end/71373] Handle more OMP_CLAUSE_* in nested function decomposition gcc/ * gimplify.c (gimplify_adjust_omp_clauses): Discard OMP_CLAUSE_TILE. * omp-low.c (scan_sharing_clauses): Don't expect OMP_CLAUSE_TILE. gcc/testsuite/ * c-c++-common/goacc/combined-directives.c: XFAIL tree scanning for OpenACC tile clauses. * gfortran.dg/goacc/combined-directives.f90: Likewise. gcc/ PR middle-end/71373 * tree-nested.c (convert_nonlocal_omp_clauses) (convert_local_omp_clauses): Handle OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO, OMP_CLAUSE__CACHE_, OMP_CLAUSE_TILE. gcc/testsuite/ PR middle-end/71373 * gcc.dg/goacc/nested-function-1.c: New file. * gcc.dg/goacc/nested-function-2.c: Likewise. * gcc.dg/goacc/pr71373.c: Likewise. * gfortran.dg/goacc/cray-2.f95: Likewise. * gfortran.dg/goacc/loop-1-2.f95: Likewise. * gfortran.dg/goacc/loop-3-2.f95: Likewise. * gfortran.dg/goacc/cray.f95: Update. * gfortran.dg/goacc/loop-1.f95: Likewise. * gfortran.dg/goacc/loop-3.f95: Likewise. * gfortran.dg/goacc/subroutines.f90: Update, and rename to... * gfortran.dg/goacc/nested-function-1.f90: ... this new file. libgomp/testsuite/ PR middle-end/71373 * libgomp.oacc-c/nested-function-1.c: New file. * libgomp.oacc-c/nested-function-2.c: Likewise. * libgomp.oacc-fortran/nested-function-1.f90: Likewise. * libgomp.oacc-fortran/nested-function-2.f90: Likewise. * libgomp.oacc-fortran/nested-function-3.f90: Likewise. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> From-SVN: r237291
2016-06-10 11:22:51 +02:00
Cesar Philippidis <cesar@codesourcery.com>
PR middle-end/71373
* gcc.dg/goacc/nested-function-1.c: New file.
* gcc.dg/goacc/nested-function-2.c: Likewise.
* gcc.dg/goacc/pr71373.c: Likewise.
* gfortran.dg/goacc/cray-2.f95: Likewise.
* gfortran.dg/goacc/loop-1-2.f95: Likewise.
* gfortran.dg/goacc/loop-3-2.f95: Likewise.
* gfortran.dg/goacc/cray.f95: Update.
* gfortran.dg/goacc/loop-1.f95: Likewise.
* gfortran.dg/goacc/loop-3.f95: Likewise.
* gfortran.dg/goacc/subroutines.f90: Update, and rename to...
* gfortran.dg/goacc/nested-function-1.f90: ... this new file.
2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
* c-c++-common/goacc/combined-directives.c: XFAIL tree scanning
for OpenACC tile clauses.
* gfortran.dg/goacc/combined-directives.f90: Likewise.
PR c/71381
* c-c++-common/goacc/cache-1.c: Update. Move invalid usage tests
to...
* c-c++-common/goacc/cache-2.c: ... this new file.
* gfortran.dg/goacc/cache-1.f95: Move invalid usage tests to...
* gfortran.dg/goacc/cache-2.f95: ... this new file.
* gfortran.dg/goacc/coarray.f95: Update OpenACC cache directive
usage.
* gfortran.dg/goacc/cray.f95: Likewise.
* gfortran.dg/goacc/loop-1.f95: Likewise.
2016-06-10 Alan Hayward <alan.hayward@arm.com>
PR tree-optimization/71407
PR tree-optimization/71416
* gcc.dg/vect/pr71407.c: New
* gcc.dg/vect/pr71416-1.c: New
* gcc.dg/vect/pr71416-2.c: New
2016-06-10 Richard Biener <rguenther@suse.de>
PR middle-end/71477
* gcc.dg/torture/pr71477.c: New testcase.
2016-06-09 Julia Koval <julia.koval@intel.com>
* gcc.target/i386/interrupt-12.c: Fix test for -fpic and corei7.
* gcc.target/i386/interrupt-13.c: Likewise.
* gcc.target/i386/interrupt-15.c: Likewise.
* gcc.target/i386/interrupt-14.c: Fix test for -fpic.
* gcc.target/i386/interrupt-24.c: Likewise.
* gcc.target/i386/interrupt-3.c: Fix test for corei7.
* gcc.target/i386/interrupt-9.c: Likewise.
* gcc.target/i386/interrupt-redzone-2.c: Likewise.
2016-06-09 Martin Sebor <msebor@redhat.com>
PR c/70883
* c-c++-common/builtin-arith-overflow-1.c: Adjust diagnostic text.
* gcc.dg/builtin-constant_p-1.c: Same.
* gcc.dg/builtins-error.c: Same.
* gcc.dg/pr70859.c: Same.
2016-06-09 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/execute/bswap-2.c: Require int32plus.
* gcc.dg/torture/pr68067-1.c: Likewise.
* gcc.dg/torture/pr68067-2.c: Likewise.
2016-06-09 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.dg/stack-usage-1.c (SIZE): Consider return address
when setting SIZE.
2016-06-09 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71465
* g++.dg/inherit/crash5.C: New.
Revert:
2016-06-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70202
* g++.dg/inherit/crash5.C: New.
* g++.dg/inherit/virtual1.C: Adjust.
2016-06-09 Martin Liska <mliska@suse.cz>
* g++.dg/predict-loop-exit-1.C: Scan for a new dump format.
* g++.dg/predict-loop-exit-2.C: Likewise.
* g++.dg/predict-loop-exit-3.C: Likewise.
* gcc.dg/predict-1.c: Likewise.
* gcc.dg/predict-2.c: Likewise.
* gcc.dg/predict-3.c: Likewise.
* gcc.dg/predict-4.c: Likewise.
* gcc.dg/predict-5.c: Likewise.
* gcc.dg/predict-6.c: Likewise.
* gcc.dg/predict-7.c: Likewise.
2016-06-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/71462
* gcc.dg/torture/pr71462.c: New testcase.
2016-06-09 Marek Polacek <polacek@redhat.com>
PR c/65471
* gcc.dg/c11-generic-3.c: New test.
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.
2016-06-08 Martin Sebor <msebor@redhat.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/70507
PR c/68120
* 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.
2016-06-08 Jakub Jelinek <jakub@redhat.com>
PR c++/71442
* g++.dg/cpp0x/Wunused-variable-1.C: New test.
2016-06-08 Alan Lawrence <alan.lawrence@arm.com>
* 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.
2016-06-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/68558
* gcc.dg/vect/slp-44.c: New testcase.
2016-06-08 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/slp-43.c: New testcase.
2016-06-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/71452
* gcc.dg/torture/pr71452.c: New testcase.
2016-06-08 Jakub Jelinek <jakub@redhat.com>
PR c++/71448
* g++.dg/torture/pr71448.C: New test.
2016-06-08 Bernd Schmidt <bschmidt@redhat.com>
PR debug/71432
PR ada/71413
* g++.dg/debug/pr71432.C: New test.
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.
2016-06-08 Alan Hayward <alan.hayward@arm.com>
* gcc.dg/vect/vect-live-2.c: Update effective target.
* gcc.dg/vect/vect-live-slp-3.c: Likewise.
* lib/target-supports.exp: Add aarch64 to vect_long.
2016-06-08 Marek Polacek <polacek@redhat.com>
PR c/71418
* gcc.dg/noncompile/pr71418.c: New test.
PR c/71426
* gcc.dg/noncompile/pr71426.c: New test.
2016-06-07 23:34:27 +02:00
2016-06-07 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/ipa/inlinehint-4.c: Disable partial inlining.
* gcc.dg/predict-1.c: Update template for new predictor hitrates.
* gcc.dg/predict-3.c: Update template.
* gcc.dg/predict-5.c: Update template.
* gcc.dg/predict-6.c: Update template.
* gcc.dg/predict-9.c: Update template.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Update template.
This patch adds support for the missing versions of the vec_mul altivec... This patch adds support for the missing versions of the vec_mul altivec builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins that are missing and this is part of a series of patches to add them. There aren't instructions for the {un}signed char, {un}signed short, and {un}signed int versions of vec_mul so the output code is built from other built-ins and operations that do have instructions. The new test case is an executable test which verifies that the generated code produces expected values. C macros were used so that the same test case could be used for all the various supported types. Bootstrapped and tested on powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk? [gcc] 2016-06-07 Bill Seurer <seurer@linux.vnet.ibm.com> * config/rs6000/altivec.h: Add __builtin_vec_mul. * config/rs6000/rs6000-builtin.def (vec_mul): Change vec_mul to a special case Altivec builtin. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove VSX_BUILTIN_VEC_MUL (replaced with special case code). * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add code for ALTIVEC_BUILTIN_VEC_MUL. * config/rs6000/rs6000.c (altivec_init_builtins): Add definition for __builtin_vec_mul. [gcc/testsuite] 2016-06-07 Bill Seurer <seurer@linux.vnet.ibm.com> * gcc.target/powerpc/vec-mul.c: New test. From-SVN: r237183
2016-06-07 22:18:09 +02:00
2016-06-07 Bill Seurer <seurer@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-mul.c: New test.
2016-06-07 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/spellcheck-fields-2.c: New test case.
2016-06-07 Richard Biener <rguenther@suse.de>
PR c/61564
* gcc.dg/Wpragmas-1.c: New testcase.
* gcc.dg/Wattributes-4.c: Likewise.
* gcc.dg/ipa/pr70646.c: Drop optimize pragma in favor of dg-option
entry.
2016-06-07 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: Remove
spurious debug code.
2016-06-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/71428
* gcc.dg/torture/pr71428.c: New testcase.
2016-06-07 Richard Biener <rguenther@suse.de>
PR middle-end/71423
* gcc.dg/torture/pr71423.c: New testcase.
2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71408
* gcc.dg/tree-ssa/pr71408.c: New test.
2016-06-07 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71281
* g++.dg/torture/pr71281.C: New test.
2016-06-06 Marek Polacek <polacek@redhat.com>
PR c/71362
* gcc.dg/pr71362.c: New test.
2016-06-06 Jakub Jelinek <jakub@redhat.com>
Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70847
PR c++/71330
PR c++/71393
* g++.dg/opt/pr70847.C: New test.
* g++.dg/ubsan/pr70847.C: New test.
* g++.dg/ubsan/pr71393.C: New test.
2016-06-06 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71259
* gcc.dg/vect/pr71259.c: New test.
Selftest framework gcc/ChangeLog: * Makefile.in (OBJS): Add function-tests.o, hash-map-tests.o, hash-set-tests.o, rtl-tests.o, selftest-run-tests.o. (OBJS-libcommon): Add selftest.o. (OBJS-libcommon-target): Add selftest.o. (all.internal): Add "selftest". (all.cross): Likewise. (selftest): New phony target. (s-selftest): New target. (selftest-gdb): New phony target. (COLLECT2_OBJS): Add selftest.o. * bitmap.c: Include "selftest.h". (selftest::test_gc_alloc): New function. (selftest::test_set_range): New function. (selftest::test_clear_bit_in_middle): New function. (selftest::test_copying): New function. (selftest::test_bitmap_single_bit_set_p): New function. (selftest::bitmap_c_tests): New function. * common.opt (fself-test): New. * diagnostic-show-locus.c: Include "selftest.h". (make_range): New function. (test_range_contains_point_for_single_point): New function. (test_range_contains_point_for_single_line): New function. (test_range_contains_point_for_multiple_lines): New function. (assert_eq): New function. (test_get_line_width_without_trailing_whitespace): New function. (selftest::diagnostic_show_locus_c_tests): New function. * et-forest.c: Include "selftest.h". (selftest::test_single_node): New function. (selftest::test_simple_tree): New function. (selftest::test_disconnected_nodes): New function. (selftest::et_forest_c_tests): New function. * fold-const.c: Include "selftest.h". (selftest::assert_binop_folds_to_const): New function. (selftest::assert_binop_folds_to_nonlvalue): New function. (selftest::test_arithmetic_folding): New function. (selftest::fold_const_c_tests): New function. * function-tests.c: New file. * gimple.c: Include "selftest.h". Include "gimple-pretty-print.h". (selftest::verify_gimple_pp): New function. (selftest::test_assign_single): New function. (selftest::test_assign_binop): New function. (selftest::test_nop_stmt): New function. (selftest::test_return_stmt): New function. (selftest::test_return_without_value): New function. (selftest::gimple_c_tests): New function. * hash-map-tests.c: New file. * hash-set-tests.c: New file. * input.c: Include "selftest.h". (selftest::assert_loceq): New function. (selftest::test_accessing_ordinary_linemaps): New function. (selftest::test_unknown_location): New function. (selftest::test_builtins): New function. (selftest::test_reading_source_line): New function. (selftest::input_c_tests): New function. * rtl-tests.c: New file. * selftest-run-tests.c: New file. * selftest.c: New file. * selftest.h: New file. * spellcheck.c: Include "selftest.h". (selftest::levenshtein_distance_unit_test_oneway): New function, adapted from testsuite/gcc.dg/plugin/levenshtein_plugin.c. (selftest::levenshtein_distance_unit_test): Likewise. (selftest::spellcheck_c_tests): Likewise. * toplev.c: Include selftest.h. (toplev::run_self_tests): New. (toplev::main): Handle -fself-test. * toplev.h (toplev::run_self_tests): New. * tree.c: Include "selftest.h". (selftest::test_integer_constants): New function. (selftest::test_identifiers): New function. (selftest::test_labels): New function. (selftest::tree_c_tests): New function. * tree-cfg.c: Include "selftest.h". (selftest::push_fndecl): New function. (selftest::test_linear_chain): New function. (selftest::test_diamond): New function. (selftest::test_fully_connected): New function. (selftest::tree_cfg_c_tests): New function. * vec.c: Include "selftest.h". (selftest::safe_push_range): New function. (selftest::test_quick_push): New function. (selftest::test_safe_push): New function. (selftest::test_truncate): New function. (selftest::test_safe_grow_cleared): New function. (selftest::test_pop): New function. (selftest::test_safe_insert): New function. (selftest::test_ordered_remove): New function. (selftest::test_unordered_remove): New function. (selftest::test_block_remove): New function. (selftest::reverse_cmp): New function. (selftest::test_qsort): New function. (selftest::vec_c_tests): New function.c. * wide-int.cc: Include selftest.h and wide-int-print.h. (selftest::from_int <wide_int>): New function. (selftest::from_int <offset_int>): New function. (selftest::from_int <widest_int>): New function. (selftest::assert_deceq): New function. (selftest::assert_hexeq): New function. (selftest::test_printing <VALUE_TYPE>): New function template. (selftest::test_ops <VALUE_TYPE>): New function template. (selftest::test_comparisons <VALUE_TYPE>): New function template. (selftest::run_all_wide_int_tests <VALUE_TYPE>): New function template. (selftest::wide_int_cc_tests): New function. gcc/testsuite/ChangeLog: * gcc.dg/plugin/levenshtein-test-1.c: Delete. * gcc.dg/plugin/levenshtein_plugin.c: Delete. * gcc.dg/plugin/plugin.exp (plugin_test_list): Remove the above. From-SVN: r237144
2016-06-06 19:11:30 +02:00
2016-06-06 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/levenshtein-test-1.c: Delete.
* gcc.dg/plugin/levenshtein_plugin.c: Delete.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Remove the
above.
2016-06-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR middle-end/37780
* gcc.c-torture/execute/pr37780.c: New test.
* gcc.target/aarch64/pr37780_1.c: Likewise.
* gcc.target/arm/pr37780_1.c: Likewise.
2016-06-06 Marek Polacek <polacek@redhat.com>
* c-c++-common/attr-may-alias-1.c: New test.
* c-c++-common/attr-may-alias-2.c: New test.
* gcc.dg/pr39464.c: Turn dg-warning into dg-bogus.
2016-06-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c/24414
* gcc.target/i386/pr24414.c: New test.
sparc: support for the SPARC M7 and VIS 4.0 gcc/ChangeLog: 2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com> * config/sparc/sparc.md (cpu): Add niagara7 cpu type. Include the M7 SPARC DFA scheduler. New attribute v3pipe. Annotate insns with v3pipe where appropriate. Define cpu_feature vis4. Add lzd instruction type and set it on clzdi_sp64 and clzsi_sp64. Add (V8QI "8") to vbits. Add insns {add,sub}v8qi3 Add insns ss{add,sub}v8qi3 Add insns us{add,sub}{v8qi,v4hi}3 Add insns {min,max}{v8qi,v4hi,v2si}3 Add insns {minu,maxu}{v8qi,v4hi,v2si}3 Add insns fpcmp{le,gt,ule,ug,ule,ugt}{8,16,32}_vis. * config/sparc/niagara4.md: Add a comment explaining the discrepancy between the documented latenty numbers and the implemented ones. * config/sparc/niagara7.md: New file. * configure.ac (HAVE_AS_SPARC5_VIS4): Define if the assembler supports SPARC5 and VIS 4.0 instructions. * configure: Regenerate. * config.in: Likewise. * config.gcc: niagara7 is a supported cpu in sparc*-*-* targets. * config/sparc/sol2.h (ASM_CPU32_DEFAUILT_SPEC): Set for TARGET_CPU_niagara7. (ASM_CPU64_DEFAULT_SPEC): Likewise. (CPP_CPU_SPEC): Handle niagara7. (ASM_CPU_SPEC): Likewise. * config/sparc/sparc-opts.h (processor_type): Add PROCESSOR_NIAGARA7. (mvis4): New option. * config/sparc/sparc.h (TARGET_CPU_niagara7): Define. (AS_NIAGARA7_FLAG): Define. (ASM_CPU64_DEFAULT_SPEC): Set for niagara7. (CPP_CPU64_DEFAULT_SPEC): Likewise. (CPP_CPU_SPEC): Handle niagara7. (ASM_CPU_SPEC): Likewise. * config/sparc/sparc.c (niagara7_costs): Define. (sparc_option_override): Handle niagara7 and adjust cache-related parameters with better values for niagara cpus. Also support VIS4. (sparc32_initialize_trampoline): Likewise. (sparc_use_sched_lookahead): Likewise. (sparc_issue_rate): Likewise. (sparc_register_move_cost): Likewise. (dump_target_flag_bits): Support VIS4. (sparc_vis_init_builtins): Likewise. (sparc_builtins): Likewise. * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__ for VIS4 4.0. * config/sparc/driver-sparc.c (cpu_names): Add SPARC-M7 and UltraSparc M7. * config/sparc/sparc.opt (sparc_processor_type): New value niagara7. * config/sparc/visintrin.h (__attribute__): Prototypes for the VIS4 builtins. * doc/invoke.texi (SPARC Options): Document -mcpu=niagara7 and -mvis4. * doc/extend.texi (SPARC VIS Built-in Functions): Document the VIS4 builtins. gcc/testsuite/ChangeLog: 2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com> * gcc.target/sparc/vis4misc.c: New file. * gcc.target/sparc/fpcmp.c: Likewise. * gcc.target/sparc/fpcmpu.c: Likewise. From-SVN: r237132
2016-06-06 13:40:02 +02:00
2016-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
* gcc.target/sparc/vis4misc.c: New file.
* gcc.target/sparc/fpcmp.c: Likewise.
* gcc.target/sparc/fpcmpu.c: Likewise.
2016-06-06 Alan Hayward <alan.hayward@arm.com>
* gcc.dg/vect/vect-live-1.c: Use additional-options.
* gcc.dg/vect/vect-live-3.c: Likewise.
2016-06-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/71398
* gcc.dg/torture/pr71398.c: New testcase.
2016-06-06 Uros Bizjak <ubizjak@gmail.com>
PR target/71389
* g++.dg/pr71389.C: New test.
2016-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/71404
* gfortran.dg/fmt_read_5.f: New test.
2016-06-05 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/69659
* gfortran.dg/class_array_22.f03: New test.
2016-06-05 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-prof/peel-1.c: Fix testcase.
2016-06-05 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/predict-9.c: Update template.
2016-06-05 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/49377
* g++.dg/template/pr49377.C: New.
2016-06-04 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71405
* g++.dg/torture/pr71405.C: New test.
2016-06-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70202
* g++.dg/inherit/crash5.C: New.
* g++.dg/inherit/virtual1.C: Adjust.
2016-06-03 Jeff Law <law@redhat.com>
PR tree-optimization/71316
* gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output.
2016-06-03 Jakub Jelinek <jakub@redhat.com>
* gcc.dg/vect/vect-live-1.c: Remove dg-options. Add
dg-additional-options with just -fno-tree-scev-cprop in it.
* gcc.dg/vect/vect-live-2.c: Likewise.
* gcc.dg/vect/vect-live-5.c: Likewise.
* gcc.dg/vect/vect-live-slp-1.c: Likewise.
* gcc.dg/vect/vect-live-slp-2.c: Likewise.
* gcc.dg/vect/vect-live-slp-3.c: Likewise.
2016-06-03 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/27100
* g++.dg/other/friend6.C: New test.
2016-06-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* g++.dg/torture/ppc-ldst-array.C: New.
Add option for whether ceil etc. can raise "inexact", adjust x86 conditions. In ISO C99/C11, the ceil, floor, round and trunc functions may or may not raise the "inexact" exception for noninteger arguments. Under TS 18661-1:2014, the C bindings for IEEE 754-2008, these functions are prohibited from raising "inexact", in line with the general rule that "inexact" is only when the mathematical infinite precision result of a function differs from the result after rounding to the target type. GCC has no option to select TS 18661 requirements for not raising "inexact" when expanding built-in versions of these functions inline. Furthermore, even given such requirements, the conditions on the x86 insn patterns for these functions are unnecessarily restrictive. I'd like to make the out-of-line glibc versions follow the TS 18661 requirements; in the cases where this slows them down (the cases using x87 floating point), that makes it more important for inline versions to be used when the user does not care about "inexact". This patch fixes these issues. A new option -fno-fp-int-builtin-inexact is added to request TS 18661 rules for these functions; the default -ffp-int-builtin-inexact reflects that such exceptions are allowed by C99 and C11. (The intention is that if C2x incorporates TS 18661-1, then the default would change in C2x mode.) The x86 built-ins for rint (x87, SSE2 and SSE4.1) are made unconditionally available (no longer depending on -funsafe-math-optimizations or -fno-trapping-math); "inexact" is correct for noninteger arguments to rint. For floor, ceil and trunc, the x87 and SSE2 built-ins are OK if -ffp-int-builtin-inexact or -fno-trapping-math (they may raise "inexact" for noninteger arguments); the SSE4.1 built-ins are made to use ROUND_NO_EXC so that they do not raise "inexact" and so are OK unconditionally. Now, while there was no semantic reason for depending on -funsafe-math-optimizations, the insn patterns had such a dependence because of use of gen_truncxf<mode>2_i387_noop to truncate back to SFmode or DFmode after using frndint in XFmode. In this case a no-op truncation is safe because rounding to integer always produces an exactly representable value (the same reason why IEEE semantics say it shouldn't produce "inexact") - but of course that insn pattern isn't safe because it would also match cases where the truncation is not in fact a no-op. To allow frndint to be used for SFmode and DFmode without that unsafe pattern, the relevant frndint patterns are extended to SFmode and DFmode or new SFmode and DFmode patterns added, so that the frndint operation can be represented in RTL as an operation acting directly on SFmode or DFmode without the extension and the problematic truncation. A generic test of the new option is added, as well as x86-specific tests, both execution tests including the generic test with different x86 options and scan-assembler tests verifying that functions that should be inlined with different options are indeed inlined. I think other architectures are OK for TS 18661-1 semantics already. Considering those defining "ceil" patterns: aarch64, arm, rs6000, s390 use instructions that do not raise "inexact"; nvptx does not support floating-point exceptions. (This does mean the -f option in fact only affects one architecture, but I think it should still be a -f option; it's logically architecture-independent and is expected to be affected by future -std options, so is similar to e.g. -fexcess-precision=, which also does nothing on most architectures but is implied by -std options.) Bootstrapped with no regressions on x86_64-pc-linux-gnu. OK to commit? PR target/71276 PR target/71277 gcc: * common.opt (ffp-int-builtin-inexact): New option. * doc/invoke.texi (-fno-fp-int-builtin-inexact): Document. * doc/md.texi (floor@var{m}2, btrunc@var{m}2, round@var{m}2) (ceil@var{m}2): Document dependence on this option. * ipa-inline-transform.c (inline_call): Handle flag_fp_int_builtin_inexact. * ipa-inline.c (can_inline_edge_p): Likewise. * config/i386/i386.md (rintxf2): Do not test flag_unsafe_math_optimizations. (rint<mode>2_frndint): New define_insn. (rint<mode>2): Do not test flag_unsafe_math_optimizations for 387 or !flag_trapping_math for SSE. Just use gen_rint<mode>2_frndint for 387 instead of extending and truncating. (frndintxf2_<rounding>): Test flag_fp_int_builtin_inexact || !flag_trapping_math instead of flag_unsafe_math_optimizations. Change to frndint<mode>2_<rounding>. (frndintxf2_<rounding>_i387): Likewise. Change to frndint<mode>2_<rounding>_i387. (<rounding_insn>xf2): Likewise. (<rounding_insn><mode>2): Test flag_fp_int_builtin_inexact || !flag_trapping_math instead of flag_unsafe_math_optimizations for x87. Test TARGET_ROUND || !flag_trapping_math || flag_fp_int_builtin_inexact instead of !flag_trapping_math for SSE. Use ROUND_NO_EXC in constant operand of gen_sse4_1_round<mode>2. Just use gen_frndint<mode>2_<rounding> for 387 instead of extending and truncating. gcc/testsuite: * gcc.dg/torture/builtin-fp-int-inexact.c, gcc.target/i386/387-builtin-fp-int-inexact.c, gcc.target/i386/387-rint-inline-1.c, gcc.target/i386/387-rint-inline-2.c, gcc.target/i386/sse2-builtin-fp-int-inexact.c, gcc.target/i386/sse2-rint-inline-1.c, gcc.target/i386/sse2-rint-inline-2.c, gcc.target/i386/sse4_1-builtin-fp-int-inexact.c, gcc.target/i386/sse4_1-rint-inline.c: New tests. From-SVN: r237074
2016-06-03 17:49:04 +02:00
2016-06-03 Joseph Myers <joseph@codesourcery.com>
PR target/71276
PR target/71277
* gcc.dg/torture/builtin-fp-int-inexact.c,
gcc.target/i386/387-builtin-fp-int-inexact.c,
gcc.target/i386/387-rint-inline-1.c,
gcc.target/i386/387-rint-inline-2.c,
gcc.target/i386/sse2-builtin-fp-int-inexact.c,
gcc.target/i386/sse2-rint-inline-1.c,
gcc.target/i386/sse2-rint-inline-2.c,
gcc.target/i386/sse4_1-builtin-fp-int-inexact.c,
gcc.target/i386/sse4_1-rint-inline.c: New tests.
Implement x86 interrupt attribute The interrupt and exception handlers are called by x86 processors. X86 hardware pushes information onto stack and calls the handler. The requirements are 1. Both interrupt and exception handlers must use the 'IRET' instruction, instead of the 'RET' instruction, to return from the handlers. 2. All registers are callee-saved in interrupt and exception handlers. 3. The difference between interrupt and exception handlers is the exception handler must pop 'ERROR_CODE' off the stack before the 'IRET' instruction. The design goals of interrupt and exception handlers for x86 processors are: 1. Support both 32-bit and 64-bit modes. 2. Flexible for compilers to optimize. 3. Easy to use by programmers. To implement interrupt and exception handlers for x86 processors, a compiler should support: 'interrupt' attribute Use this attribute to indicate that the specified function with mandatory arguments is an interrupt or exception handler. The compiler generates function entry and exit sequences suitable for use in an interrupt handler when this attribute is present. The 'IRET' instruction, instead of the 'RET' instruction, is used to return from interrupt or exception handlers. All registers, except for the EFLAGS register which is restored by the 'IRET' instruction, are preserved by the compiler. Since GCC doesn't preserve MPX, SSE, MMX nor x87 states, the GCC option, -mgeneral-regs-only, should be used to compile interrupt and exception handlers. Note for compiler implementers: If the compiler generates MPX, SSE, MMX or x87 instructions in an interrupt or exception handler, or functions called from an interrupt or exception handler may contain MPX, SSE, MMX or x87 instructions, the compiler must save and restore the corresponding state. Since the direction flag in the FLAGS register in interrupt (exception) handlers is undetermined, cld instruction must be emitted in function prologue if rep string instructions are used in interrupt (exception) handler or interrupt (exception) handler isn't a leaf function. Any interruptible-without-stack-switch code must be compiled with -mno-red-zone since interrupt handlers can and will, because of the hardware design, touch the red zone. 1. interrupt handler must be declared with a mandatory pointer argument: struct interrupt_frame; __attribute__ ((interrupt)) void f (struct interrupt_frame *frame) { ... } and user must properly define the structure the pointer pointing to. 2. exception handler: The exception handler is very similar to the interrupt handler with a different mandatory function signature: typedef unsigned int uword_t __attribute__ ((mode (__word__))); struct interrupt_frame; __attribute__ ((interrupt)) void f (struct interrupt_frame *frame, uword_t error_code) { ... } and compiler pops the error code off stack before the 'IRET' instruction. The exception handler should only be used for exceptions which push an error code and all other exceptions must use the interrupt handler. The system will crash if the wrong handler is used. 'no_caller_saved_registers' attribute Use this attribute to indicate that the specified function has no caller-saved registers. That is, all registers are callee-saved. The compiler generates proper function entry and exit sequences to save and restore any modified registers, except for the EFLAGS register. Since GCC doesn't preserve MPX, SSE, MMX nor x87 states, the GCC option, -mgeneral-regs-only, should be used to compile functions with 'no_caller_saved_registers'attribute. Note for compiler implementers: If the compiler generates MPX, SSE, MMX or x87 instructions in a function with 'no_caller_saved_registers' attribute or functions called from a function with 'no_caller_saved_registers' attribute may contain MPX, SSE, MMX or x87 instructions, the compiler must save and restore the corresponding state. The user can call functions specified with 'no_caller_saved_registers' attribute from an interrupt handler without saving and restoring all call clobbered registers. On x86, interrupt handlers are only called by processors which push interrupt data onto stack at the address where the normal return address is. Interrupt handlers must access interrupt data via pointers so that they can update interrupt data. gcc/ PR target/66960 PR target/67630 PR target/67634 PR target/67841 PR target/68037 PR target/68618 PR target/68661 PR target/69575 PR target/69596 PR target/69734 * config/i386/i386-protos.h (ix86_epilogue_uses): New prototype. * config/i386/i386.c (ix86_conditional_register_usage): Preserve all registers, except for function return registers if there are no caller-saved registers. (ix86_set_func_type): New function. (ix86_set_current_function): Call ix86_set_func_type to set no_caller_saved_registers and func_type. Call reinit_regs if caller-saved registers are changed. Don't allow MPX, SSE, MMX nor x87 instructions in interrupt handler nor function with no_caller_saved_registers attribute. (ix86_function_ok_for_sibcall): Return false if there are no caller-saved registers. (type_natural_mode): Don't warn ABI change for MMX in interrupt handler. (ix86_function_arg_advance): Skip for callee in interrupt handler. (ix86_function_arg): Return special arguments in interrupt handler. (ix86_promote_function_mode): Promote pointer to word_mode only for normal functions. (ix86_can_use_return_insn_p): Don't use `ret' instruction in interrupt handler. (ix86_epilogue_uses): New function. (ix86_hard_regno_scratch_ok): Likewise. (ix86_save_reg): Preserve all registers in interrupt handler after reload. Preserve all registers, except for function return registers, if there are no caller-saved registers after reload. (find_drap_reg): Always use callee-saved register if there are no caller-saved registers. (ix86_minimum_incoming_stack_boundary): Return MIN_STACK_BOUNDARY for interrupt handler. (ix86_expand_prologue): Don't allow DRAP in interrupt handler. Emit cld instruction if stringops are used in interrupt handler or interrupt handler isn't a leaf function. (ix86_expand_epilogue): Generate interrupt return for interrupt handler and pop the 'ERROR_CODE' off the stack before interrupt return in exception handler. (ix86_expand_call): Disallow calling interrupt handler directly. If there are no caller-saved registers, mark all registers that are clobbered by the call which returns as clobbered. (ix86_handle_no_caller_saved_registers_attribute): New function. (ix86_handle_interrupt_attribute): Likewise. (ix86_attribute_table): Add interrupt and no_caller_saved_registers attributes. (TARGET_HARD_REGNO_SCRATCH_OK): Likewise. * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use argument accumulation in interrupt function if stack may be realigned to avoid DRAP. (EPILOGUE_USES): New. (function_type): New enum. (machine_function): Add func_type and no_caller_saved_registers. * config/i386/i386.md (UNSPEC_INTERRUPT_RETURN): New. (interrupt_return): New pattern. * doc/extend.texi: Document x86 interrupt and no_caller_saved_registers attributes. gcc/testsuite/ PR target/66960 PR target/67630 PR target/67634 PR target/67841 PR target/68037 PR target/68618 PR target/68661 PR target/69575 PR target/69596 PR target/69734 * gcc.dg/guality/pr68037-1.c: New test. * gcc.dg/guality/pr68037-2.c: Likewise. * gcc.dg/guality/pr68037-3.c: Likewise. * gcc.dg/torture/pr68037-1.c: Likewise. * gcc.dg/torture/pr68037-2.c: Likewise. * gcc.dg/torture/pr68037-3.c: Likewise. * gcc.dg/torture/pr68661-1a.c: Likewise. * gcc.dg/torture/pr68661-1b.c: Likewise. * gcc.target/i386/interrupt-1.c: Likewise. * gcc.target/i386/interrupt-2.c: Likewise. * gcc.target/i386/interrupt-3.c: Likewise. * gcc.target/i386/interrupt-4.c: Likewise. * gcc.target/i386/interrupt-5.c: Likewise. * gcc.target/i386/interrupt-6.c: Likewise. * gcc.target/i386/interrupt-7.c: Likewise. * gcc.target/i386/interrupt-8.c: Likewise. * gcc.target/i386/interrupt-9.c: Likewise. * gcc.target/i386/interrupt-10.c: Likewise. * gcc.target/i386/interrupt-11.c: Likewise. * gcc.target/i386/interrupt-12.c: Likewise. * gcc.target/i386/interrupt-13.c: Likewise. * gcc.target/i386/interrupt-14.c: Likewise. * gcc.target/i386/interrupt-15.c: Likewise. * gcc.target/i386/interrupt-16.c: Likewise. * gcc.target/i386/interrupt-17.c: Likewise. * gcc.target/i386/interrupt-18.c: Likewise. * gcc.target/i386/interrupt-19.c: Likewise. * gcc.target/i386/interrupt-20.c: Likewise. * gcc.target/i386/interrupt-21.c: Likewise. * gcc.target/i386/interrupt-22.c: Likewise. * gcc.target/i386/interrupt-23.c: Likewise. * gcc.target/i386/interrupt-24.c: Likewise. * gcc.target/i386/interrupt-25.c: Likewise. * gcc.target/i386/interrupt-26.c: Likewise. * gcc.target/i386/interrupt-27.c: Likewise. * gcc.target/i386/interrupt-28.c: Likewise. * gcc.target/i386/interrupt-387-err-1.c: Likewise. * gcc.target/i386/interrupt-387-err-2.c: Likewise. * gcc.target/i386/interrupt-bnd-err-1.c: Likewise. * gcc.target/i386/interrupt-bnd-err-2.c: Likewise. * gcc.target/i386/interrupt-iamcu.c: Likewise. * gcc.target/i386/interrupt-mmx-err-1.c: Likewise. * gcc.target/i386/interrupt-mmx-err-2.c: Likewise. * gcc.target/i386/interrupt-redzone-1.c: Likewise. * gcc.target/i386/interrupt-redzone-2.c: Likewise. * gcc.target/i386/interrupt-sibcall-1.c: Likewise. * gcc.target/i386/interrupt-sibcall-2.c: Likewise. * gcc.target/i386/interrupt-switch-abi.c: Likewise. Co-Authored-By: Julia Koval <julia.koval@intel.com> From-SVN: r237073
2016-06-03 17:08:00 +02:00
2016-06-03 H.J. Lu <hongjiu.lu@intel.com>
Julia Koval <julia.koval@intel.com>
PR target/66960
PR target/67630
PR target/67634
PR target/67841
PR target/68037
PR target/68618
PR target/68661
PR target/69575
PR target/69596
PR target/69734
* gcc.dg/guality/pr68037-1.c: New test.
* gcc.dg/guality/pr68037-2.c: Likewise.
* gcc.dg/guality/pr68037-3.c: Likewise.
* gcc.dg/torture/pr68037-1.c: Likewise.
* gcc.dg/torture/pr68037-2.c: Likewise.
* gcc.dg/torture/pr68037-3.c: Likewise.
* gcc.dg/torture/pr68661-1a.c: Likewise.
* gcc.dg/torture/pr68661-1b.c: Likewise.
* gcc.target/i386/interrupt-1.c: Likewise.
* gcc.target/i386/interrupt-2.c: Likewise.
* gcc.target/i386/interrupt-3.c: Likewise.
* gcc.target/i386/interrupt-4.c: Likewise.
* gcc.target/i386/interrupt-5.c: Likewise.
* gcc.target/i386/interrupt-6.c: Likewise.
* gcc.target/i386/interrupt-7.c: Likewise.
* gcc.target/i386/interrupt-8.c: Likewise.
* gcc.target/i386/interrupt-9.c: Likewise.
* gcc.target/i386/interrupt-10.c: Likewise.
* gcc.target/i386/interrupt-11.c: Likewise.
* gcc.target/i386/interrupt-12.c: Likewise.
* gcc.target/i386/interrupt-13.c: Likewise.
* gcc.target/i386/interrupt-14.c: Likewise.
* gcc.target/i386/interrupt-15.c: Likewise.
* gcc.target/i386/interrupt-16.c: Likewise.
* gcc.target/i386/interrupt-17.c: Likewise.
* gcc.target/i386/interrupt-18.c: Likewise.
* gcc.target/i386/interrupt-19.c: Likewise.
* gcc.target/i386/interrupt-20.c: Likewise.
* gcc.target/i386/interrupt-21.c: Likewise.
* gcc.target/i386/interrupt-22.c: Likewise.
* gcc.target/i386/interrupt-23.c: Likewise.
* gcc.target/i386/interrupt-24.c: Likewise.
* gcc.target/i386/interrupt-25.c: Likewise.
* gcc.target/i386/interrupt-26.c: Likewise.
* gcc.target/i386/interrupt-27.c: Likewise.
* gcc.target/i386/interrupt-28.c: Likewise.
* gcc.target/i386/interrupt-387-err-1.c: Likewise.
* gcc.target/i386/interrupt-387-err-2.c: Likewise.
* gcc.target/i386/interrupt-bnd-err-1.c: Likewise.
* gcc.target/i386/interrupt-bnd-err-2.c: Likewise.
* gcc.target/i386/interrupt-iamcu.c: Likewise.
* gcc.target/i386/interrupt-mmx-err-1.c: Likewise.
* gcc.target/i386/interrupt-mmx-err-2.c: Likewise.
* gcc.target/i386/interrupt-redzone-1.c: Likewise.
* gcc.target/i386/interrupt-redzone-2.c: Likewise.
* gcc.target/i386/interrupt-sibcall-1.c: Likewise.
* gcc.target/i386/interrupt-sibcall-2.c: Likewise.
* gcc.target/i386/interrupt-switch-abi.c: Likewise.
re PR tree-optimization/52171 (memcmp/strcmp/strncmp can be optimized when the result is tested for [in]equality with 0) PR tree-optimization/52171 * builtins.c (expand_cmpstrn_or_cmpmem): Delete, moved elsewhere. (expand_builtin_memcmp): New arg RESULT_EQ. All callers changed. Look for constant strings. Move some code to emit_block_cmp_hints and use it. * builtins.def (BUILT_IN_MEMCMP_EQ): New. * defaults.h (COMPARE_MAX_PIECES): New macro. * expr.c (move_by_pieces_d, store_by_pieces_d): Remove old structs. (move_by_pieces_1, store_by_pieces_1, store_by_pieces_2): Remvoe. (clear_by_pieces_1): Don't declare. Move definition before use. (can_do_by_pieces): New static function. (can_move_by_pieces): Use it. Return bool. (by_pieces_ninsns): Renamed from move_by_pieces_ninsns. New arg OP. All callers changed. Handle COMPARE_BY_PIECES. (class pieces_addr); New. (pieces_addr::pieces_addr, pieces_addr::decide_autoinc, pieces_addr::adjust, pieces_addr::increment_address, pieces_addr::maybe_predec, pieces_addr::maybe_postinc): New member functions for it. (class op_by_pieces_d): New. (op_by_pieces_d::op_by_pieces_d, op_by_pieces_d::run): New member functions for it. (class move_by_pieces_d, class compare_by_pieces_d, class store_by_pieces_d): New subclasses of op_by_pieces_d. (move_by_pieces_d::prepare_mode, move_by_pieces_d::generate, move_by_pieces_d::finish_endp, store_by_pieces_d::prepare_mode, store_by_pieces_d::generate, store_by_pieces_d::finish_endp, compare_by_pieces_d::generate, compare_by_pieces_d::prepare_mode, compare_by_pieces_d::finish_mode): New member functions. (compare_by_pieces, emit_block_cmp_via_cmpmem): New static functions. (expand_cmpstrn_or_cmpmem): Moved here from builtins.c. (emit_block_cmp_hints): New function. (move_by_pieces, store_by_pieces, clear_by_pieces): Rewrite to just use the newly defined classes. * expr.h (by_pieces_constfn): New typedef. (can_store_by_pieces, store_by_pieces): Use it in arg declarations. (emit_block_cmp_hints, expand_cmpstrn_or_cmpmem): Declare. (move_by_pieces_ninsns): Don't declare. (can_move_by_pieces): Change return value to bool. * target.def (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Update docs. (compare_by_pieces_branch_ratio): New hook. * target.h (enum by_pieces_operation): Add COMPARE_BY_PIECES. (by_pieces_ninsns): Declare. * targethooks.c (default_use_by_pieces_infrastructure_p): Handle COMPARE_BY_PIECES. (default_compare_by_pieces_branch_ratio): New function. * targhooks.h (default_compare_by_pieces_branch_ratio): Declare. * doc/tm.texi.in (STORE_MAX_PIECES, COMPARE_MAX_PIECES): Document. * doc/tm.texi: Regenerate. * tree-ssa-strlen.c: Include "builtins.h". (handle_builtin_memcmp): New static function. (strlen_optimize_stmt): Call it for BUILT_IN_MEMCMP. * tree.c (build_common_builtin_nodes): Create __builtin_memcmp_eq. testsuite/ PR tree-optimization/52171 * gcc.dg/pr52171.c: New test. * gcc.target/i386/pr52171.c: New test. From-SVN: r237069
2016-06-03 16:20:53 +02:00
2016-06-03 Bernd Schmidt <bschmidt@redhat.com>
PR tree-optimization/52171
* gcc.dg/pr52171.c: New test.
* gcc.target/i386/pr52171.c: New test.
re PR tree-optimization/52171 (memcmp/strcmp/strncmp can be optimized when the result is tested for [in]equality with 0) PR tree-optimization/52171 * builtins.c (expand_cmpstrn_or_cmpmem): Delete, moved elsewhere. (expand_builtin_memcmp): New arg RESULT_EQ. All callers changed. Look for constant strings. Move some code to emit_block_cmp_hints and use it. * builtins.def (BUILT_IN_MEMCMP_EQ): New. * defaults.h (COMPARE_MAX_PIECES): New macro. * expr.c (move_by_pieces_d, store_by_pieces_d): Remove old structs. (move_by_pieces_1, store_by_pieces_1, store_by_pieces_2): Remvoe. (clear_by_pieces_1): Don't declare. Move definition before use. (can_do_by_pieces): New static function. (can_move_by_pieces): Use it. Return bool. (by_pieces_ninsns): Renamed from move_by_pieces_ninsns. New arg OP. All callers changed. Handle COMPARE_BY_PIECES. (class pieces_addr); New. (pieces_addr::pieces_addr, pieces_addr::decide_autoinc, pieces_addr::adjust, pieces_addr::increment_address, pieces_addr::maybe_predec, pieces_addr::maybe_postinc): New member functions for it. (class op_by_pieces_d): New. (op_by_pieces_d::op_by_pieces_d, op_by_pieces_d::run): New member functions for it. (class move_by_pieces_d, class compare_by_pieces_d, class store_by_pieces_d): New subclasses of op_by_pieces_d. (move_by_pieces_d::prepare_mode, move_by_pieces_d::generate, move_by_pieces_d::finish_endp, store_by_pieces_d::prepare_mode, store_by_pieces_d::generate, store_by_pieces_d::finish_endp, compare_by_pieces_d::generate, compare_by_pieces_d::prepare_mode, compare_by_pieces_d::finish_mode): New member functions. (compare_by_pieces, emit_block_cmp_via_cmpmem): New static functions. (expand_cmpstrn_or_cmpmem): Moved here from builtins.c. (emit_block_cmp_hints): New function. (move_by_pieces, store_by_pieces, clear_by_pieces): Rewrite to just use the newly defined classes. * expr.h (by_pieces_constfn): New typedef. (can_store_by_pieces, store_by_pieces): Use it in arg declarations. (emit_block_cmp_hints, expand_cmpstrn_or_cmpmem): Declare. (move_by_pieces_ninsns): Don't declare. (can_move_by_pieces): Change return value to bool. * target.def (TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Update docs. (compare_by_pieces_branch_ratio): New hook. * target.h (enum by_pieces_operation): Add COMPARE_BY_PIECES. (by_pieces_ninsns): Declare. * targethooks.c (default_use_by_pieces_infrastructure_p): Handle COMPARE_BY_PIECES. (default_compare_by_pieces_branch_ratio): New function. * targhooks.h (default_compare_by_pieces_branch_ratio): Declare. * doc/tm.texi.in (STORE_MAX_PIECES, COMPARE_MAX_PIECES): Document. * doc/tm.texi: Regenerate. * tree-ssa-strlen.c: Include "builtins.h". (handle_builtin_memcmp): New static function. (strlen_optimize_stmt): Call it for BUILT_IN_MEMCMP. * tree.c (build_common_builtin_nodes): Create __builtin_memcmp_eq. testsuite/ PR tree-optimization/52171 * gcc.dg/pr52171.c: New test. * gcc.target/i386/pr52171.c: New test. From-SVN: r237069
2016-06-03 16:20:53 +02:00
2016-06-03 Jan Hubicka <jh@suse.cz>
* g++.dg/tree-ssa/pred-1.C: New testcase
* gcc.dg/tree-ssa/pred-1.c: New testcase
2016-06-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/70957
* gcc.target/powerpc/vsx-elemrev-2.c: Require p9vector hardware
support.
* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.
2016-06-03 Alan Hayward <alan.hayward@arm.com>
* gcc.dg/vect/vect-live-slp-5.c: Remove dg check.
2016-06-03 Alan Hayward <alan.hayward@arm.com>
* gcc.dg/tree-ssa/pr64183.c: Ensure test does not vectorize.
* gcc.dg/vect/no-scevccp-vect-iv-2.c: Remove xfail.
* gcc.dg/vect/vect-live-1.c: New test.
* gcc.dg/vect/vect-live-2.c: New test.
* gcc.dg/vect/vect-live-3.c: New test.
* gcc.dg/vect/vect-live-4.c: New test.
* gcc.dg/vect/vect-live-5.c: New test.
* gcc.dg/vect/vect-live-slp-1.c: New test.
* gcc.dg/vect/vect-live-slp-2.c: New test.
* gcc.dg/vect/vect-live-slp-3.c: New test.
2016-06-03 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71387
* g++.dg/opt/pr71387.C: New test.
2016-06-02 Jeff Law <law@redhat.com>
PR tree-optimization/71328
* gcc.c-torture/compile/pr71328.c: New test.
2016-06-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/52393
* gfortran.dg/fmt_read_3.f90: Fix typo.
* gfortran.dg/fmt_read_4.f90: New test.
2016-06-02 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/forw_enum10.C: Adjust for dg-message vs dg-error.
* g++.dg/cpp0x/forw_enum6.C: Likewise.
* g++.dg/cpp0x/forw_enum8.C: Likewise.
* g++.dg/cpp0x/override2.C: Likewise.
* g++.dg/parse/crash5.C: Likewise.
* g++.dg/parse/error16.C: Likewise.
* g++.dg/parse/error27.C: Likewise.
* g++.dg/template/qualttp15.C: Likewise.
* g++.dg/template/redecl4.C: Likewise.
* g++.old-deja/g++.other/crash39.C: Likewise.
* g++.old-deja/g++.other/struct1.C: Likewise.
* g++.old-deja/g++.pt/m9a.C: Likewise.
* g++.old-deja/g++.pt/memclass10.C: Likewise.
2016-06-02 Jakub Jelinek <jakub@redhat.com>
PR c++/71372
* c-c++-common/pr71372.c: New test.
* gcc.dg/cpp/source_date_epoch-1.c (main): Test __DATE__ and
__TIME__ strings with __builtin_strcmp instead of printf and
dg-output.
2016-06-02 Martin Liska <mliska@suse.cz>
* gcc.dg/predict-9.c: New test.
2016-06-02 Jakub Jelinek <jakub@redhat.com>
* lib/gcc-dg.exp (cleanup-after-saved-dg-test): Add missing
global set_compiler_env_var and global saved_compiler_env_var.
2016-06-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/71295
* gcc.c-torture/compile/pr71295.c: New test.
2016-06-02 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx512vl-concatv4si-1.c: New test.
* gcc.target/i386/avx512dq-concatv2si-1.c: New test.
* gcc.target/i386/avx512vl-concatv2si-1.c: New test.
* gcc.target/i386/avx512dq-concatv2di-1.c: New test.
* gcc.target/i386/avx512vl-concatv2di-1.c: New test.
* gcc.target/i386/sse2-init-v2di-2.c: Adjust expected vec_concatv2di
alternative number.
re PR target/71186 (PowerPC64: Autovectorised code hits ICE with -O3 -mpower9 -mlra) [gcc] 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71186 * config/rs6000/vsx.md (xxspltib_<mode>_nosplit): Add alternatives for loading up all 0's or all 1's. [gcc/testsuite] 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71186 * gcc.target/powerpc/pr71186.c: New test. Index: gcc/config/rs6000/vsx.md =================================================================== --- gcc/config/rs6000/vsx.md (.../svn+ssh://meissner@gcc.gnu.org/svn/gcc/trunk/gcc/config/rs6000) (revision 236935) +++ gcc/config/rs6000/vsx.md (.../gcc/config/rs6000) (working copy) @@ -776,8 +776,8 @@ (define_insn "xxspltib_v16qi" [(set_attr "type" "vecperm")]) (define_insn "xxspltib_<mode>_nosplit" - [(set (match_operand:VSINT_842 0 "vsx_register_operand" "=wa") - (match_operand:VSINT_842 1 "xxspltib_constant_nosplit" "wE"))] + [(set (match_operand:VSINT_842 0 "vsx_register_operand" "=wa,wa") + (match_operand:VSINT_842 1 "xxspltib_constant_nosplit" "jwM,wE"))] "TARGET_P9_VECTOR" { rtx op1 = operands[1]; [gcc] 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/vsx.md (vsx_splat_<mode>, V2DI/V2DF): Simplify alternatives, eliminating preferred register class. Add support for the MTVSRDD instruction in ISA 3.0. (vsx_splat_v4si_internal): Use splat_input_operand instead of reg_or_indexed_operand. (vsx_splat_v4sf_internal): Likewise. [gcc/testsuite] 2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-splat-4.c: New test. From-SVN: r237006
2016-06-01 22:09:35 +02:00
2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-splat-4.c: New test.
2016-05-31 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/71186
* gcc.target/powerpc/pr71186.c: New test.
2016-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/52393
* gfortran.dg/fmt_read_3.f90: New test.
2016-06-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
* lib/target-supports.exp (check_effective_target_arm_acq_rel): New
procedure.
c-common.c (get_source_date_epoch): Rename to cb_get_source_date_epoch. gcc/c-family/ChangeLog: 2016-05-13 Eduard Sanou <dhole@openmailbox.org> * c-common.c (get_source_date_epoch): Rename to cb_get_source_date_epoch. * c-common.c (cb_get_source_date_epoch): Use a single generic erorr message when the parsing fails. Use error_at instead of fatal_error. * c-common.h (get_source_date_epoch): Rename to cb_get_source_date_epoch. * c-common.h (cb_get_source_date_epoch): Prototype. * c-common.h (MAX_SOURCE_DATE_EPOCH): Define. * c-common.h (c_omp_region_type): Remove trailing comma. * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback. * c-lex.c (c_lex_with_flags): Remove initialization of pfile->source_date_epoch. gcc/ChangeLog: 2016-05-13 Eduard Sanou <dhole@openmailbox.org> * doc/cppenv.texi: Note that the `%s` in `date` is a non-standard extension. * gcc.c (driver_handle_option): Call set_source_date_epoch_envvar. * gcc.c (set_source_date_epoch_envvar): New function, sets the SOURCE_DATE_EPOCH environment variable to the current time. gcc/testsuite/ChangeLog: 2016-05-13 Eduard Sanou <dhole@openmailbox.org> * gcc.dg/cpp/source_date_epoch-1.c: New file, test the proper behaviour of the macros __DATE__ and __TIME__ when SOURCE_DATE_EPOCH env var is set. * gcc.dg/cpp/source_date_epoch-2.c: New file, test the error output when parsing the SOURCE_DATE_EPOCH env var, and make sure it is only shown once. * lib/gcc-dg.exp (dg-set-compiler-env-var): New function, set env vars during compilation. * lib/gcc-dg.exp (restore-compiler-env-var): New function, restore env vars set by dg-set-compiler-env-var. libcpp/ChangeLog: 2016-05-13 Eduard Sanou <dhole@openmailbox.org> * include/cpplib.h (cpp_callbacks): Add get_source_date_epoch callback. * include/cpplib.h (cpp_init_source_date_epoch): Remove prototype. * init.c (cpp_init_source_date_epoch): Remove function. * init.c (cpp_create_reader): Initialize pfile->source_date_epoch. * internal.h (cpp_reader): Extend comment about source_date_epoch. * macro.c (_cpp_builtin_macro_text): Use get_source_date_epoch callback only once, read pfile->source_date_epoch on future passes. Check that get_source_date_epoch callback is not NULL. From-SVN: r237001
2016-06-01 18:42:41 +02:00
2016-06-01 Eduard Sanou <dhole@openmailbox.org>
* gcc.dg/cpp/source_date_epoch-1.c: New file, test the proper
behaviour of the macros __DATE__ and __TIME__ when SOURCE_DATE_EPOCH
env var is set.
* gcc.dg/cpp/source_date_epoch-2.c: New file, test the error output
when parsing the SOURCE_DATE_EPOCH env var, and make sure it is only
shown once.
* lib/gcc-dg.exp (dg-set-compiler-env-var): New function, set env vars
during compilation.
* lib/gcc-dg.exp (restore-compiler-env-var): New function, restore env
vars set by dg-set-compiler-env-var.
2016-06-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/71156
* gfortran.dg/submodule_14.f08: Add missing recursive prefix
to the module procedure declaration.
* gfortran.dg/submodule_16.f08: New test.
2016-06-01 Jakub Jelinek <jakub@redhat.com>
PR middle-end/71371
* c-c++-common/gomp/pr71371.c: New test.
2016-06-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/71366
* gcc.dg/torture/pr71366-1.c: New testcase.
* gcc.dg/torture/pr71366-2.c: Likewise.
2016-06-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/vslv-0.c: New test.
* gcc.target/powerpc/vslv-1.c: New test.
* gcc.target/powerpc/vsrv-0.c: New test.
* gcc.target/powerpc/vsrv-1.c: New test.
2016-06-01 Nathan Sidwell <nathan@acm.org>
* c-c++-common/torture/pr57945.c: Add expected PTX error.
* gcc.target/nvptx/weak.c: New.
2016-06-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/71261
* gcc.dg/torture/vect-bool-1.c: New testcase.
2016-06-01 Jakub Jelinek <jakub@redhat.com>
* gfortran.dg/gomp/order-1.f90: New test.
* gfortran.dg/gomp/order-2.f90: New test.
2016-06-01 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/unroll-6.c: Update template.
* gcc.dg/unroll-7.c: New testcase.
* gcc.dg/unroll-8.c: New testcase.
2016-06-01 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt56.ad[sb]: New test.
2016-06-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/66635
* g++.dg/cpp0x/constexpr-ice16.C: New.
2016-06-01 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/71314
* gcc.dg/tree-ssa/ssa-thread-14.c: Adjust target selector. Pass
-mbranch-cost=2.
2016-06-01 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/71077
* gcc.dg/tree-ssa/pr71077.c: New test.
2016-05-31 Jan Hubicka <hubicka@ucw.cz>
* g++.dg/predict-lop-exit-1.C: Update template for new predictor name.
* g++.dg/predict-lop-exit-2.C: Update template for new predictor name.
* g++.dg/predict-lop-exit-2.C: Update template for new predictor name.
2016-05-31 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71248
* g++.dg/cpp0x/pr71248.C: New.
* g++.dg/cpp0x/auto7.C: Test column numbers too.
* g++.dg/cpp0x/constexpr-static8.C: Likewise.
* g++.dg/init/new37.C: Likewise.
* g++.dg/template/static1.C: Likewise.
* g++.dg/template/static2.C: Likewise.
2016-05-31 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx512vl-vbroadcast-3.c: Scan %\[re\]di
instead of %rdi.
* gcc.target/i386/avx512vl-vcvtps2ph-3.c: Likewise.
2016-05-31 Marek Polacek <polacek@redhat.com>
* c-c++-common/Wswitch-unreachable-3.c: New test.
* g++.dg/warn/Wswitch-unreachable-1.C: New test.
2016-05-31 Richard Biener <rguenther@suse.de>
PR tree-optimization/71352
* gcc.dg/tree-ssa/reassoc-45.c: New testcase.
2016-05-31 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.target/arm/armv5_thumb_isa.c: New test.
2016-05-31 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/71346
* gcc.target/i386/pr71346.c: New test.
2016-05-31 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69068
* gcc.dg/graphite/pr69068.c: New test.
2016-05-27 Martin Sebor <msebor@redhat.com>
PR c++/71306
* g++.dg/warn/Wplacement-new-size-3.C: New test.
2016-05-30 Jakub Jelinek <jakub@redhat.com>
PR c++/71349
* c-c++-common/gomp/clauses-1.c (bar): Add dd argument. Add
nowait depend(inout: dd[0]) clauses where permitted.
re PR c++/71238 (Undeclared function message imprecisely points to error column) /cp 2016-05-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/71238 * lex.c (unqualified_name_lookup_error): Take a location too. (unqualified_fn_lookup_error): Take a cp_expr. * cp-tree.h (unqualified_name_lookup_error, unqualified_fn_lookup_error): Adjust declarations. * semantics.c (perform_koenig_lookup): Adjust unqualified_fn_lookup_error call, pass the location of the identifier too as part of a cp_expr. /testsuite 2016-05-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/71238 * g++.dg/parse/pr71238.C: New. * g++.dg/concepts/friend1.C: Test column numbers too. * g++.dg/cpp0x/initlist31.C: Likewise. * g++.dg/cpp0x/pr51420.C: Likewise. * g++.dg/cpp0x/udlit-declare-neg.C: Likewise. * g++.dg/cpp0x/udlit-member-neg.C: Likewise. * g++.dg/ext/builtin3.C: Likewise. * g++.dg/lookup/friend12.C: Likewise. * g++.dg/lookup/friend7.C: Likewise. * g++.dg/lookup/koenig1.C: Likewise. * g++.dg/lookup/koenig5.C: Likewise. * g++.dg/lookup/used-before-declaration.C: Likewise. * g++.dg/overload/koenig1.C: Likewise. * g++.dg/template/crash65.C: Likewise. * g++.dg/template/friend57.C: Likewise. * g++.dg/warn/Wshadow-5.C: Likewise. * g++.dg/warn/Wunused-8.C: Likewise. * g++.old-deja/g++.bugs/900211_01.C: Likewise. * g++.old-deja/g++.jason/lineno5.C: Likewise. * g++.old-deja/g++.jason/member.C: Likewise. * g++.old-deja/g++.jason/report.C: Likewise. * g++.old-deja/g++.jason/scoping12.C: Likewise. * g++.old-deja/g++.law/visibility20.C: Likewise. * g++.old-deja/g++.ns/koenig5.C: Likewise. * g++.old-deja/g++.other/static5.C: Likewise. * g++.old-deja/g++.pt/overload2.C: Likewise. From-SVN: r236896
2016-05-30 21:18:13 +02:00
2016-05-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71238
* g++.dg/parse/pr71238.C: New.
* g++.dg/concepts/friend1.C: Test column numbers too.
* g++.dg/cpp0x/initlist31.C: Likewise.
* g++.dg/cpp0x/pr51420.C: Likewise.
* g++.dg/cpp0x/udlit-declare-neg.C: Likewise.
* g++.dg/cpp0x/udlit-member-neg.C: Likewise.
* g++.dg/ext/builtin3.C: Likewise.
* g++.dg/lookup/friend12.C: Likewise.
* g++.dg/lookup/friend7.C: Likewise.
* g++.dg/lookup/koenig1.C: Likewise.
* g++.dg/lookup/koenig5.C: Likewise.
* g++.dg/lookup/used-before-declaration.C: Likewise.
* g++.dg/overload/koenig1.C: Likewise.
* g++.dg/template/crash65.C: Likewise.
* g++.dg/template/friend57.C: Likewise.
* g++.dg/warn/Wshadow-5.C: Likewise.
* g++.dg/warn/Wunused-8.C: Likewise.
* g++.old-deja/g++.bugs/900211_01.C: Likewise.
* g++.old-deja/g++.jason/lineno5.C: Likewise.
* g++.old-deja/g++.jason/member.C: Likewise.
* g++.old-deja/g++.jason/report.C: Likewise.
* g++.old-deja/g++.jason/scoping12.C: Likewise.
* g++.old-deja/g++.law/visibility20.C: Likewise.
* g++.old-deja/g++.ns/koenig5.C: Likewise.
* g++.old-deja/g++.other/static5.C: Likewise.
* g++.old-deja/g++.pt/overload2.C: Likewise.
2016-05-30 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-ssa/peel1.c: New testcase.
* gcc.dg/tree-ssa/pr61743-1.c: Disable loop peeling.
* gcc.dg/tree-ssa/pr61743-2.c: Disable loop peeling.
2016-05-30 Tom de Vries <tom@codesourcery.com>
* gcc.dg/graphite/pr69067.c (main): Remove superfluous argument in call
to ce.
2016-05-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71099
* g++.dg/parse/virtual1.C: New.
2016-05-30 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/iamcu/args.h (clear_non_sret_int_hardware_registers):
Use correct register when clearing %edx.
2016-05-30 Alexander Monakov <amonakov@ispras.ru>
PR tree-optimization/71289
* gcc.dg/pr71289.c: New test.
2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71269
PR middle-end/71292
* gcc.dg/tree-ssa/pr71269.c: New test.
* gcc.dg/tree-ssa/pr71292.c: New test.
2016-05-30 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71252
* gcc.dg/tree-ssa/pr71252-2.c: New test.
2016-05-30 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-ssa/cunroll-12.c: New testcase.
* gcc.dg/tree-ssa/cunroll-13.c: New testcase.
* gcc.dg/tree-ssa/cunroll-14.c: New testcase.
2016-05-30 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69067
* gcc.dg/graphite/pr69067.c: New test.
2016-05-29 Uros Bizjak <ubizjak@gmail.com>
PR target/71245
* gcc.target/i386/pr71245-1.c: New test.
* gcc.target/i386/pr71245-2.c: Ditto.
2016-05-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/71105
* g++.dg/cpp0x/lambda/lambda-conv11.C: New.
* g++.dg/cpp1y/lambda-conv1.C: Likewise.
* g++.dg/cpp1y/lambda-conv2.C: Likewise.
2016-05-27 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-ssa/prefetch-5.c: Remove xfail.
2016-05-28 Ville Voutilainen <ville.voutilainen@gmail.com>
Revert:
PR c++/69855
* g++.dg/overload/69855.C: New.
* g++.old-deja/g++.law/missed-error2.C: Adjust.
* g++.old-deja/g++.pt/crash3.C: Likewise.
2016-05-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/60385
* g++.dg/parse/namespace13.C: New.
2016-05-26 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/pr21417.c: Update expected output.
* gcc.dg/tree-ssa/pr66752-3.c: Likewise.
* gcc.dg/tree-ssa/pr68198.c: Likewise.
* gcc.dg/tree-ssa/pr69196-1.c: Likewise.
* gcc.dg/tree-ssa/pr69270-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-6.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-12.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-13.c: Likewise.
* gcc.dg/tree-ssa/vrp56.c: Likewise.
2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
PR c++/69855
* g++.dg/overload/69855.C: New.
* g++.old-deja/g++.law/missed-error2.C: Adjust.
* g++.old-deja/g++.pt/crash3.C: Likewise.
2016-05-27 Jiong Wang <jiong.wang@arm.com>
PR target/63596
* gcc.target/aarch64/va_arg_1.c: New testcase.
* gcc.target/aarch64/va_arg_2.c: Likewise.
* gcc.target/aarch64/va_arg_3.c: Likewise.
2016-05-27 Jiong Wang <jiong.wang@arm.com>
* gcc.dg/tree-ssa/stdarg-2.c: Enable all testcases for AArch64.
* gcc.dg/tree-ssa/stdarg-3.c: Likewise.
* gcc.dg/tree-ssa/stdarg-4.c: Likewise.
* gcc.dg/tree-ssa/stdarg-5.c: Likewise.
* gcc.dg/tree-ssa/stdarg-6.c: Likewise.
2016-05-27 Marek Polacek <polacek@redhat.com>
PR middle-end/71308
* g++.dg/torture/pr71308.C: New test.
2016-05-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.dg/zero_bits_compound-1.c: New test.
* gcc.dg/zero_bits_compound-2.c: New test.
2016-05-27 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/71279
* gcc.dg/pr71279.c: New test.
rs6000.c (rs6000_emit_p9_fp_minmax): New function for ISA 3.0 min/max support. [gcc] 2016-05-26 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): New function for ISA 3.0 min/max support. (rs6000_emit_p9_fp_cmove): New function for ISA 3.0 floating point conditional move support. (rs6000_emit_cmove): Call rs6000_emit_p9_fp_minmax and rs6000_emit_p9_fp_cmove if the ISA 3.0 instructions are available. * config/rs6000/rs6000.md (SFDF2): New iterator to allow doing conditional moves where the comparison type is different from move type. (fp_minmax): New code iterator for smin/smax. (minmax): New code attributes for min/max. (SMINMAX): Likewise. (smax<mode>3): Combine min, max insns into one insn using the fp_minmax code iterator. Add support for ISA 3.0 min/max instructions that don't need -ffast-math. (s<minmax><mode>3): Likewise. (smax<mode>3_vsx): Likewise. (smin<mode>3): Likewise. (s<minmax><mode>3_vsx): Likewise. (smin<mode>3_vsx): Likewise. (pre-VSX min/max splitters): Likewise. (s<minmax><mode>3_fpr): Likewise. (movsfcc): Rewrite floating point conditional moves to combine SFmode/DFmode into a single insn. (mov<mode>cc): Likewise. (movdfcc): Likewise. (fselsfsf4): Combine FSEL cases into a single insn, using SFDF and SFDF2 iterators to handle all combinations. (fseldfsf4): Likewise. (fsel<SFDF:mode><SFDF2:mode>4): Likewise. (fseldfdf4): Likewise. (fselsfdf4): Likewise. (mov<SFDF:mode><SFDF2:mode>cc_p9): Add support for the ISA 3.0 comparison instructions that set a 0/-1 mask, and use it for floating point conditional move via XXSEL. (fpmask<mode>): Likewise. (xxsel<mode>): Likewise. * config/rs6000/predicates.md (min_max_operator): Delete, no longer used. (fpmask_comparison_operaton): New insn for ISA 3.0 comparison instructions that generate a 0/-1 mask for use with XXSEL. * config/rs6000/rs6000.h (TARGET_MINMAX_SF): New helper macros to say whether floating point min/max is available, either through FSEL, ISA 2.06 min/max, and ISA 3.0 min/max instrucitons. (TARGET_MINMAX_DF): Likewise. [gcc/testsuite] 2016-05-26 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-minmax-1.c: New tests for ISA 3.0 floating point min/max/comparison instructions. * gcc.target/powerpc/p9-minmax-2.c: Likewise. From-SVN: r236795
2016-05-26 23:38:19 +02:00
2016-05-26 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-minmax-1.c: New tests for ISA 3.0
floating point min/max/comparison instructions.
* gcc.target/powerpc/p9-minmax-2.c: Likewise.
2016-05-26 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/gomp/schedule-1.c: New test.
* gfortran.dg/gomp/schedule-1.f90: New test.
2016-05-26 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70822
PR c++/70106
* g++.dg/cpp1y/auto-fn32.C: New test.
* g++.dg/cpp1y/paren4.C: New test.
2016-05-26 Nathan Sidwell <nathan@acm.org>
* gcc.dg/20060410.c: Xfail on ptx.
* gcc.dg/torture/c99-contract-1.c: Skip on ptx.
* c-c++-common/torture/complex-sign-mixed-add.c: Skip on ptx -O0
* c-c++-common/torture/complex-sign-mixed-sub.c: Skip on ptx -O0
* gcc.c-torture/execute/pr68185.c: Skip on ptx -O0 & Os.
* gcc.c-torture/execute/20020529-1.c: Skip on ptx -00.
2016-05-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.dg/plugin/plugin.exp: skip tail call tests for Thumb-1.
2016-05-26 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/71280
* gcc.dg/pr71280.c: New test.
* gcc.target/i386/avx512vl-vcvtps2ph-3.c: New test.
* gcc.target/i386/avx512bw-vpalignr-4.c: New test.
* gcc.target/i386/avx512vl-vpalignr-4.c: New test.
* gcc.target/i386/avx512vl-vbroadcast-3.c: New test.
2016-05-26 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/simd/vmul_elem_1.c: Force result variables to be
kept in memory.
2016-05-25 Jeff Law <law@redhat.com>
PR tree-optimization/71272
* gcc.c-torture/compile/pr71272.c: new test.
This patch adds support for the vec_cmpne altivec builtins from the Power... This patch adds support for the vec_cmpne altivec builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins that are missing and this is part of a series of patches to add them. There aren't instructions for vec_cmpne so the output code is built from other built-ins that do have instructions which in this case is the following. vec_cmpneq (va, vb) == vec_nor (vec_cmpeq (va, vb), vec_cmpeq (va, vb)) The new test cases are executable tests which verify that the generated code produces expected values. C macros were used so that the same test case could be used for both the signed and unsigned versions of various basic types. A separate executable test case is used for the long long versions of vec_cmpne because of some differences in loading and storing the vectors. [gcc] 2016-05-25 Bill Seurer <seurer@linux.vnet.ibm.com> * config/rs6000/altivec.h (vec_cmpne): Add #define for vec_cmpne. * config/rs6000/rs6000-builtin.def (vec_cmpne): Add vec_cmpne as a special case builtin. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add code for ALTIVEC_BUILTIN_VEC_CMPNE. * config/rs6000/rs6000.c (altivec_init_builtins): Add definition for __builtin_vec_cmpne. [gcc/testsuite] 2016-05-25 Bill Seurer <seurer@linux.vnet.ibm.com> * gcc.target/powerpc/vec-cmpne.c: New test. * gcc.target/powerpc/vec-cmpne-long.c: New test. From-SVN: r236753
2016-05-25 23:55:22 +02:00
2016-05-25 Bill Seurer <seurer@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-cmpne.c: New test.
* gcc.target/powerpc/vec-cmpne-long.c: New test.
2016-05-25 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt55.ad[sb]: New test.
2016-05-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* c-c++-common/Wduplicated-cond-1.c: Use smaller const literal.
* c-c++-common/pr60226.c: Require int32plus.
* gcc.c-torture/execute/pr70602.c: Likewise.
* gcc.dg/Warray-bounds-11.c: Use __SIZE_TYPE__ instead of
unsigned long for malloc arg type.
* gcc.dg/asr_div1.c: Require int32plus.
* gcc.dg/enum-mode-1.c: XFAIL for int16.
* gcc.dg/pie-1.c: Require pie.
* gcc.dg/pie-2.c: Likewise.
* gcc.dg/pr59471.c: Require int32plus.
* gcc.dg/pr59963-2.c: XFAIL for int16.
* gcc.dg/pr60114.c: Require int32plus.
* gcc.dg/pr62090-2.c: Use __SIZE_TYPE__ instead of
unsigned long for typedef of size_t.
* gcc.dg/pr63914.c: Require int32plus.
* gcc.dg/pr64536.c: Require pt32plus.
* gcc.dg/pr65658.c: Likewise.
* gcc.dg/pr67271.c: Require int32plus.
* gcc.dg/pr68112.c: Likewise.
* gcc.dg/pr69071.c: Skip for avr target.
* gcc.dg/pr69973.c: Require int32plus.
* gcc.dg/pr70169.c: Skip for avr target.
* gcc.dg/sso-6.c: Require int32plus.
* gcc.dg/sso-7.c: Likewise.
* gcc.dg/sso-8.c: Likewise.
* gcc.dg/vrp-min-max-2.c: Likewise.
2016-05-25 H.J. Lu <hongjiu.lu@intel.com>
PR target/70738
* gcc.target/i386/pr70738-1.c: New test.
* gcc.target/i386/pr70738-2.c: Likewise.
* gcc.target/i386/pr70738-3.c: Likewise.
* gcc.target/i386/pr70738-4.c: Likewise.
* gcc.target/i386/pr70738-5.c: Likewise.
* gcc.target/i386/pr70738-6.c: Likewise.
* gcc.target/i386/pr70738-7.c: Likewise.
* gcc.target/i386/pr70738-8.c: Likewise.
* gcc.target/i386/pr70738-9.c: Likewise.
2016-05-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/66940
* gcc.c-torture/execute/pr66940.c: New test.
AVX-512F: Add vectorizer support builtins gcc/ * config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF, V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND. * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512, IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512, IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512, IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512, IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512, IX86_BUILTIN_ROUNDPS_AZ_SFIX512. (builtin_description bdesc_args): Add __builtin_ia32_floorps512, __builtin_ia32_ceilps512, __builtin_ia32_truncps512, __builtin_ia32_floorpd512, __builtin_ia32_ceilpd512, __builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512, __builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512, __builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512. Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for __builtin_ia32_cvtps2dq512_mask. (ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF. (ix86_builtin_vectorized_function): Handle builtins mentioned above. * config/i386/sse.md (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>): Rename to ... (avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this. (<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename to ... (avx512f_cvtpd2dq512<mask_name><round_name>): ... this. (avx512f_vec_pack_sfix_v8df): New define_expand. (avx512f_roundpd512): Rename to ... (avx512f_round<castmode>512): ... this. Change iterator. (avx512f_roundps512_sfix): New define_expand. (round<mode>2_sfix): Change iterator. gcc/testsuite/ * gcc.target/i386/avx512f-ceil-vec-1.c: New test. * gcc.target/i386/avx512f-ceil-vec-2.c: New test. * gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-ceilf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-ceilf-vec-1.c: New test. * gcc.target/i386/avx512f-ceilf-vec-2.c: New test. * gcc.target/i386/avx512f-floor-vec-1.c: New test. * gcc.target/i386/avx512f-floor-vec-2.c: New test. * gcc.target/i386/avx512f-floorf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-floorf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-floorf-vec-1.c: New test. * gcc.target/i386/avx512f-floorf-vec-2.c: New test. * gcc.target/i386/avx512f-rint-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-rint-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-rintf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-rintf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-round-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-round-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-roundf-sfix-vec-1.c: New test. * gcc.target/i386/avx512f-roundf-sfix-vec-2.c: New test. * gcc.target/i386/avx512f-trunc-vec-1.c: New test. * gcc.target/i386/avx512f-trunc-vec-2.c: New test. * gcc.target/i386/avx512f-truncf-vec-1.c: New test. * gcc.target/i386/avx512f-truncf-vec-2.c: New test. From-SVN: r236709
2016-05-25 17:08:14 +02:00
2016-05-25 Ilya Verbin <ilya.verbin@intel.com>
* gcc.target/i386/avx512f-ceil-vec-1.c: New test.
* gcc.target/i386/avx512f-ceil-vec-2.c: New test.
* gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: New test.
* gcc.target/i386/avx512f-ceilf-sfix-vec-2.c: New test.
* gcc.target/i386/avx512f-ceilf-vec-1.c: New test.
* gcc.target/i386/avx512f-ceilf-vec-2.c: New test.
* gcc.target/i386/avx512f-floor-vec-1.c: New test.
* gcc.target/i386/avx512f-floor-vec-2.c: New test.
* gcc.target/i386/avx512f-floorf-sfix-vec-1.c: New test.
* gcc.target/i386/avx512f-floorf-sfix-vec-2.c: New test.
* gcc.target/i386/avx512f-floorf-vec-1.c: New test.
* gcc.target/i386/avx512f-floorf-vec-2.c: New test.
* gcc.target/i386/avx512f-rint-sfix-vec-1.c: New test.
* gcc.target/i386/avx512f-rint-sfix-vec-2.c: New test.
* gcc.target/i386/avx512f-rintf-sfix-vec-1.c: New test.
* gcc.target/i386/avx512f-rintf-sfix-vec-2.c: New test.
* gcc.target/i386/avx512f-round-sfix-vec-1.c: New test.
* gcc.target/i386/avx512f-round-sfix-vec-2.c: New test.
* gcc.target/i386/avx512f-roundf-sfix-vec-1.c: New test.
* gcc.target/i386/avx512f-roundf-sfix-vec-2.c: New test.
* gcc.target/i386/avx512f-trunc-vec-1.c: New test.
* gcc.target/i386/avx512f-trunc-vec-2.c: New test.
* gcc.target/i386/avx512f-truncf-vec-1.c: New test.
* gcc.target/i386/avx512f-truncf-vec-2.c: New test.
2016-05-25 Marek Polacek <polacek@redhat.com>
PR c/71265
* gcc.dg/noncompile/pr71265.c: New test.
PR c/71266
* gcc.dg/noncompile/old-style-parm-3.c: New test.
2016-05-25 Nathan Sidwell <nathan@acm.org>
* gcc.c-torture/execute/921110-1.c: Fix abort decl.
2016-05-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/71261
* c-c++-common/torture/pr71261.c: New testcase.
2016-05-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/71264
* gcc.dg/vect/pr71264.c: New testcase.
2016-05-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55992
* g++.dg/cpp0x/alias-decl-53.C: New.
* g++.dg/cpp0x/alias-decl-54.C: Likewise.
2016-05-25 Martin Liska <mliska@suse.cz>
* g++.dg/pr71239.C: New test.
2016-05-25 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/pr58135.c: Rename to ...
* gcc.dg/vect/bb-slp-pr58135.c: ... this.
2016-05-25 Marek Polacek <polacek@redhat.com>
* g++.dg/pr65295.C: Use target c++14.
2016-05-24 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.
2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-vneg.c: New test for ISA 3.0 VNEGW/VNEGD
instructions.
c-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER. gcc/c/ * c-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER. * c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp argument with enum c_omp_region_type ort. (handle_omp_array_sections): Likewise. Update call to handle_omp_array_sections_1. (c_finish_omp_clauses): Add specific errors and warning messages for OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update call to handle_omp_array_sections. gcc/cp/ * parser.c (cp_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER. * semantics.c (handle_omp_array_sections_1): Replace bool is_omp argument with enum c_omp_region_type ort. Don't privatize OpenACC non-static members. (handle_omp_array_sections): Replace bool is_omp argument with enum c_omp_region_type ort. Update call to handle_omp_array_sections_1. (finish_omp_clauses): Add specific errors and warning messages for OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update call to handle_omp_array_sections. gcc/ * gimplify.c (omp_notice_variable): Use zero-length arrays for data pointers inside OACC_DATA regions. (gimplify_scan_omp_clauses): Prune firstprivate clause associated with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions. (gimplify_adjust_omp_clauses): Fix typo in comment. gcc/testsuite/ * c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test. * c-c++-common/goacc/deviceptr-1.c: Likewise. * c-c++-common/goacc/kernels-alias-3.c: Likewise. * c-c++-common/goacc/kernels-alias-4.c: Likewise. * c-c++-common/goacc/kernels-alias-5.c: Likewise. * c-c++-common/goacc/kernels-alias-8.c: Likewise. * c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise. * c-c++-common/goacc/pcopy.c: Likewise. * c-c++-common/goacc/pcopyin.c: Likewise. * c-c++-common/goacc/pcopyout.c: Likewise. * c-c++-common/goacc/pcreate.c: Likewise. * c-c++-common/goacc/pr70688.c: New test. * c-c++-common/goacc/present-1.c: Adjust test. * c-c++-common/goacc/reduction-5.c: Likewise. * g++.dg/goacc/data-1.C: New test. libgomp/ * oacc-mem.c (acc_malloc): Update handling of shared-memory targets. (acc_free): Likewise. (acc_memcpy_to_device): Likewise. (acc_memcpy_from_device): Likewise. (acc_deviceptr): Likewise. (acc_hostptr): Likewise. (acc_is_present): Likewise. (acc_map_data): Likewise. (acc_unmap_data): Likewise. (present_create_copy): Likewise. (delete_copyout): Likewise. (update_dev_host): Likewise. * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail. * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test. * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test. * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test. * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that it only runs on nvptx targets. * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise. From-SVN: r236678
2016-05-25 00:54:21 +02:00
2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
* c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test.
* c-c++-common/goacc/deviceptr-1.c: Likewise.
* c-c++-common/goacc/kernels-alias-3.c: Likewise.
* c-c++-common/goacc/kernels-alias-4.c: Likewise.
* c-c++-common/goacc/kernels-alias-5.c: Likewise.
* c-c++-common/goacc/kernels-alias-8.c: Likewise.
* c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
* c-c++-common/goacc/pcopy.c: Likewise.
* c-c++-common/goacc/pcopyin.c: Likewise.
* c-c++-common/goacc/pcopyout.c: Likewise.
* c-c++-common/goacc/pcreate.c: Likewise.
* c-c++-common/goacc/pr70688.c: New test.
* c-c++-common/goacc/present-1.c: Adjust test.
* c-c++-common/goacc/reduction-5.c: Likewise.
* g++.dg/goacc/data-1.C: New test.
altivec.md (VParity): New mode iterator for vector parity built-in functions. [gcc] 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/altivec.md (VParity): New mode iterator for vector parity built-in functions. (p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing zeros. (p9v_parity<mode>2): Likewise. * config/rs6000/vector.md (VEC_IP): New mode iterator for vector parity. (ctz<mode>2): ISA 3.0 expander for vector count trailing zeros. (parity<mode>2): ISA 3.0 expander for vector parity. * config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for power9 built-ins. (BU_P9_64BIT_MISC_0): Likewise. (BU_P9_MISC_0): Likewise. (BU_P9V_AV_1): Likewise. (BU_P9V_AV_2): Likewise. (BU_P9V_AV_3): Likewise. (BU_P9V_AV_P): Likewise. (BU_P9V_VSX_1): Likewise. (BU_P9V_OVERLOAD_1): Likewise. (BU_P9V_OVERLOAD_2): Likewise. (BU_P9V_OVERLOAD_3): Likewise. (VCTZB): Add vector count trailing zeros support. (VCTZH): Likewise. (VCTZW): Likewise. (VCTZD): Likewise. (VPRTYBD): Add vector parity support. (VPRTYBQ): Likewise. (VPRTYBW): Likewise. (VCTZ): Add overloaded vector count trailing zeros support. (VPRTYB): Add overloaded vector parity support. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add overloaded vector count trailing zeros and parity instructions. * config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for vector parity support. * config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count trailing zeros support. (vec_cntlz): Likewise. (vec_vctzb): Likewise. (vec_vctzd): Likewise. (vec_vctzh): Likewise. (vec_vctzw): Likewise. (vec_vprtyb): Add ISA 3.0 vector parity support. (vec_vprtybd): Likewise. (vec_vprtybw): Likewise. (vec_vprtybq): Likewise. * doc/extend.texi (PowerPC AltiVec Built-in Functions): Document the ISA 3.0 vector count trailing zeros and vector parity built-in functions. [gcc/testsuite] 2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0 vector parity built-in functions. * gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector count trailing zeros automatic vectorization. * gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector count trailing zeros built-in functions. From-SVN: r236677
2016-05-25 00:45:45 +02:00
2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0
vector parity built-in functions.
* gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector
count trailing zeros automatic vectorization.
* gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector
count trailing zeros built-in functions.
2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.dg/tree-ssa/reassoc-44.c: New test.
2016-05-24 Pat Haugen <pthaugen@us.ibm.com>
PR target/71050
* gcc.target/powerpc/lhs-1.c: Fix testcase to avoid subreg changes.
2016-05-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/50436
* g++.dg/template/crash123.C: New.
* g++.dg/template/crash124.C: Likewise.
2016-05-24 Martin Sebor <msebor@redhat.com>
PR c++/71147
* g++.dg/ext/flexary16.C: New test.
2016-05-24 Ilya Verbin <ilya.verbin@intel.com>
* gcc.target/i386/avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES
before math.h is included.
* gcc.target/i386/avx-floor-sfix-2-vec.c: Likewise.
* gcc.target/i386/avx-rint-sfix-2-vec.c: Likewise.
* gcc.target/i386/avx-round-sfix-2-vec.c: Likewise.
* gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise.
* gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise.
* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceil-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-ceilf-vec.c: Likewise.
* gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-floor-vec.c: Likewise.
* gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-rint-vec.c: Likewise.
* gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-rintf-vec.c: Likewise.
* gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-round-vec.c: Likewise.
* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-roundf-vec.c: Likewise.
* gcc.target/i386/sse4_1-trunc-vec.c: Likewise.
* gcc.target/i386/sse4_1-truncf-vec.c: Likewise.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
* gcc.target/i386/sse4_1-floorf-vec.c: Likewise.
2016-05-24 Michael Meissner <meissner@linux.vnet.ibm.com>
Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/p9-vpermr.c: New test for ISA 3.0 vpermr
support.
2016-05-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69872
* g++.dg/warn/Wno-narrowing1.C: New.
2016-05-24 Marek Polacek <polacek@redhat.com>
PR c/71249
* c-c++-common/Wswitch-unreachable-2.c: New test.
2016-05-24 Jakub Jelinek <jakub@redhat.com>
PR c++/71257
* g++.dg/vect/simd-clone-6.cc: New test.
* g++.dg/gomp/declare-simd-6.C: New test.
PR middle-end/70434
PR c/69504
* c-c++-common/vector-subscript-5.c (foo): Move ; out of the ifdef.
2016-05-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/71240
* gcc.dg/optimize-bswapsi-5.c: New testcase.
2016-05-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/71230
* gcc.dg/torture/pr71230.c: New testcase.
* g++.dg/torture/pr71230.C: Likewise.
2016-05-24 Thomas Schwinge <thomas@codesourcery.com>
* c-c++-common/goacc/routine-5.c: Add tests.
* g++.dg/goacc/routine-2.C: Remove duplicate tests.
* gfortran.dg/goacc/routine-6.f90: Add tests.
2016-05-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/71253
* gcc.dg/torture/pr71253.c: New testcase.
2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71252
* gfortran.dg/pr71252.f90: New test.
2016-05-24 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/vect/vect-load-lanes-peeling-1.c: New test.
2016-05-24 Richard Biener <rguenther@suse.de>
PR middle-end/70434
PR c/69504
* c-c++-common/vector-subscript-4.c: New testcase.
* c-c++-common/vector-subscript-5.c: Likewise.
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/71123
* gfortran.dg/namelist_90.f: New test
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/66461
* gfortran.dg/unexpected_eof.f: New test
2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com>
Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/p9-permute.c: Run test on big endian as well
as little endian.
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70972
* g++.dg/cpp0x/inh-ctor20.C: New.
* g++.dg/cpp0x/inh-ctor21.C: Likewise.
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69095
* g++.dg/cpp0x/variadic168.C: New.
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/pr31445.C: Test column number too.
* g++.dg/cpp0x/pr32253.C: Likewise.
* g++.dg/cpp0x/variadic-ex13.C: Likewise.
* g++.dg/cpp0x/variadic36.C: Likewise.
2016-05-23 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/fold-notshift-2.c: Adjust.
2016-05-23 Marek Polacek <polacek@redhat.com>
PR c/49859
* c-c++-common/Wswitch-unreachable-1.c: New test.
* gcc.dg/Wswitch-unreachable-1.c: New test.
* c-c++-common/goacc/sb-2.c (void foo): Add dg-warning.
* g++.dg/cpp0x/lambda/lambda-switch.C (main): Likewise.
* g++.dg/gomp/block-10.C: Likewise.
* gcc.dg/gomp/block-10.c: Likewise.
* g++.dg/gomp/block-9.C: Likewise.
* gcc.dg/gomp/block-9.c: Likewise.
* g++.dg/gomp/target-1.C: Likewise.
* g++.dg/gomp/target-2.C: Likewise.
* gcc.dg/gomp/target-1.c: Likewise.
* gcc.dg/gomp/target-2.c: Likewise.
* g++.dg/gomp/taskgroup-1.C: Likewise.
* gcc.dg/gomp/taskgroup-1.c: Likewise.
* gcc.dg/gomp/teams-1.c: Likewise.
* g++.dg/gomp/teams-1.C: Likewise.
* g++.dg/overload/error3.C: Likewise.
* g++.dg/tm/jump1.C: Likewise.
* g++.dg/torture/pr40335.C: Likewise.
* gcc.dg/c99-vla-jump-5.c: Likewise.
* gcc.dg/switch-warn-1.c: Likewise.
* gcc.dg/Wjump-misses-init-1.c: Use -Wno-switch-unreachable.
* gcc.dg/nested-func-1.c: Likewise.
* gcc.dg/pr67784-4.c: Likewise.
2016-05-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/71230
* gfortran.dg/pr71230-1.f90: New testcase.
* gfortran.dg/pr71230-2.f90: Likewise.
2016-05-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
* gcc.dg/vect/bb-slp-19.c: Remove XFAIL.
* gcc.dg/vect/pr58135.c: Add new.
* gfortran.dg/pr46519-1.f: Adjust test case.
2016-05-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53401
* g++.dg/cpp0x/decltype64.C: New.
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add fp16 tests.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: Likewise.
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (result):
Add poly64x1_t and poly64x2_t cases if supported.
* gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h
(buffer, buffer_pad, buffer_dup, buffer_dup_pad): Likewise.
* gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: New file.
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: New file.
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vrnd.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: New.
* gcc.target/aarch64/advsimd-intrinsics/vrnda.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndm.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndn.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndp.c: New.
* gcc.target/aarch64/advsimd-intrinsics/vrndx.c: New.
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Add fp16 tests.
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vtst.c: Add tests for
vtst_p8, vtstq_p8, vtst_p16 and vtstq_p16.
2016-05-22 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx512bw-kunpckdq-1.c (avx512bw_test): Use "m"
constraint instead of "r".
* gcc.target/i386/avx512f-additional-reg-names.c (foo): Use vpxord
insn instead of vxorpd.
* gcc.target/i386/strinline.c: Add dg-require-effective-target ia32.
* gcc.target/i386/avx512dq-vinsert-1.c: New test.
* gcc.target/i386/avx512vl-vinsert-1.c: New test.
* gcc.target/i386/avx512vl-vinserti32x4-3.c: New test.
* gcc.target/i386/avx512dq-vbroadcast-2.c: New test.
* gcc.target/i386/avx512vl-vbroadcast-2.c: New test.
* gcc.target/i386/avx512vl-vbroadcast-1.c: New test.
2016-05-22 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/40921
* gcc.dg/tree-ssa/pr40921.c: New test.
2016-05-20 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
PR target/71103
* gcc.target/avr/pr71103.c: New test.
2016-05-21 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/71179
* gcc.dg/tree-ssa/pr71179.c: New test.
2016-05-20 Martin Sebor <msebor@redhat.com>
PR c/71115
* gcc.dg/init-excess-2.c: New test.
2016-05-20 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt53.adb: New test.
* gnat.dg/opt54.adb: Likewise.
2016-05-20 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/70884
* gcc.dg/tree-ssa/pr70919.c: New test.
2016-05-20 Bill Seurer <seurer@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-adde.c: Change dejagnu options, fix code
formatting.
* gcc.target/powerpc/vec-adde-int128.c: Change dejagnu options,
fix code formatting.
2016-05-20 Nathan Sidwell <nathan@acm.org>
* gcc.target/nvptx/uninit-decl.c: Force common storage, add
non-common cases.
* gcc.dg/tree-ssa/ssa-store-ccp-2.c: Add -fcommon.
jit: implement gcc_jit_rvalue_set_bool_require_tail_call This implements the libgccjit support for must-tail-call via a new: gcc_jit_rvalue_set_bool_require_tail_call API entrypoint. (I didn't implement a wrapper for this within the C++ bindings) gcc/jit/ChangeLog: * docs/topics/compatibility.rst: Add LIBGCCJIT_ABI_6. * docs/topics/expressions.rst (Function calls): Add documentation of gcc_jit_rvalue_set_bool_require_tail_call. * docs/_build/texinfo/libgccjit.texi: Regenerate. * jit-common.h (gcc::jit::recording::base_call): Add forward decl. * jit-playback.c: Within namespace gcc::jit::playback... (context::build_call) Add "require_tail_call" param and use it to set CALL_EXPR_MUST_TAIL_CALL. (context::new_call): Add "require_tail_call" param. (context::new_call_through_ptr): Likewise. * jit-playback.h: Within namespace gcc::jit::playback... (context::new_call: Add "require_tail_call" param. (context::new_call_through_ptr): Likewise. (context::build_call): Likewise. * jit-recording.c: Within namespace gcc::jit::recording... (base_call::base_call): New constructor. (base_call::write_reproducer_tail_call): New method. (call::call): Update for inheritance from base_call. (call::replay_into): Provide m_require_tail_call to call to new_call. (call::write_reproducer): Call write_reproducer_tail_call. (call_through_ptr::call_through_ptr): Update for inheritance from base_call. (call_through_ptr::replay_into): Provide m_require_tail_call to call to new_call_through_ptr. (recording::call_through_ptr::write_reproducer): Call write_reproducer_tail_call. * jit-recording.h: Within namespace gcc::jit::recording... (rvalue::dyn_cast_base_call): New virtual function. (class base_call): New subclass of class rvalue. (class call): Inherit from base_call rather than directly from rvalue, moving get_precedence and m_args to base_call. (class call_through_ptr): Likewise. * libgccjit.c (gcc_jit_rvalue_set_bool_require_tail_call): New function. * libgccjit.h (LIBGCCJIT_HAVE_gcc_jit_rvalue_set_bool_require_tail_call): New macro. (gcc_jit_rvalue_set_bool_require_tail_call): New function. * libgccjit.map (LIBGCCJIT_ABI_6): New. (gcc_jit_rvalue_set_bool_require_tail_call): Add. gcc/testsuite/ChangeLog: * jit.dg/all-non-failing-tests.h: Add test-factorial-must-tail-call.c. * jit.dg/test-error-impossible-must-tail-call.c: New test case. * jit.dg/test-factorial-must-tail-call.c: New test case. From-SVN: r236531
2016-05-20 21:12:49 +02:00
2016-05-20 David Malcolm <dmalcolm@redhat.com>
* jit.dg/all-non-failing-tests.h: Add
test-factorial-must-tail-call.c.
* jit.dg/test-error-impossible-must-tail-call.c: New test case.
* jit.dg/test-factorial-must-tail-call.c: New test case.
2016-05-20 Jakub Jelinek <jakub@redhat.com>
PR fortran/71204
* gfortran.dg/pr71204.f90: New test.
2016-05-20 Cesar Philippidis <cesar@codesourcery.com>
* gcc.target/nvptx/sincos.c: New test.
2016-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70572
* g++.dg/cpp1y/auto-fn31.C: New.
This patch adds support for the signed and unsigned int versions of the... This patch adds support for the signed and unsigned int versions of the vec_addec altivec builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins that are missing and this is part of a series of patches to add them. There aren't instructions for the int versions of vec_addec so the output code is built from other built-ins that do have instructions which in this case is the following. vec_addec (va, vb, carryv) == vec_or (vec_addc (va, vb), vec_addc(vec_add(va, vb), vec_and (carryv, 0x1))) The new test cases are executable tests which verify that the generated code produces expected values. C macros were used so that the same test case could be used for both the signed and unsigned versions. An extra executable test case is also included to ensure that the modified support for the __int128 versions of vec_addec is not broken. The same test case could not be used for both int and __int128 because of some differences in loading and storing the vectors. Bootstrapped and tested on powerpc64le-unknown-linux-gnu and powerpc64-unknown-linux-gnu with no regressions. Is this ok for trunk? [gcc] 2016-05-20 Bill Seurer <seurer@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (vec_addec): Change vec_addec to a special case builtin. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add support for ALTIVEC_BUILTIN_VEC_ADDEC. * config/rs6000/rs6000.c (altivec_init_builtins): Add definition for __builtin_vec_addec. [gcc/testsuite] 2016-05-20 Bill Seurer <seurer@linux.vnet.ibm.com> * gcc.target/powerpc/vec-addec.c: New test. * gcc.target/powerpc/vec-addec-int128.c: New test. From-SVN: r236515
2016-05-20 17:25:04 +02:00
2016-05-20 Bill Seurer <seurer@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-addec.c: New test.
* gcc.target/powerpc/vec-addec-int128.c: New test.
Implement CALL_EXPR_MUST_TAIL_CALL This patch implements support for marking CALL_EXPRs as being mandatory for tail-call-optimization. expand_call tries harder to perform the optimization on such CALL_EXPRs, and issues an error if it fails. Currently this flag isn't accessible from any frontend, so the patch uses a plugin for testing the functionality. gcc/ChangeLog: * calls.c (maybe_complain_about_tail_call): New function. (initialize_argument_information): Call maybe_complain_about_tail_call when clearing *may_tailcall. (can_implement_as_sibling_call_p): Call maybe_complain_about_tail_call when returning false. (expand_call): Read CALL_EXPR_MUST_TAIL_CALL and, if set, ensure try_tail_call is set. Call maybe_complain_about_tail_call if tail-call optimization fails. * cfgexpand.c (expand_call_stmt): Initialize CALL_EXPR_MUST_TAIL_CALL from gimple_call_must_tail_p. * gimple-pretty-print.c (dump_gimple_call): Dump gimple_call_must_tail_p. * gimple.c (gimple_build_call_from_tree): Call gimple_call_set_must_tail with the value of CALL_EXPR_MUST_TAIL_CALL. * gimple.h (enum gf_mask): Add GF_CALL_MUST_TAIL_CALL. (gimple_call_set_must_tail): New function. (gimple_call_must_tail_p): New function. * print-tree.c (print_node): Update printing of TREE_STATIC to reflect its use for CALL_EXPR_MUST_TAIL_CALL. * tree-core.h (struct tree_base): Add MUST_TAIL_CALL to the trailing comment listing applicable flags. * tree.h (CALL_EXPR_MUST_TAIL_CALL): New macro. gcc/testsuite/ChangeLog: * gcc.dg/plugin/must-tail-call-1.c: New test case. * gcc.dg/plugin/must-tail-call-2.c: New test case. * gcc.dg/plugin/must_tail_call_plugin.c: New file. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. From-SVN: r236514
2016-05-20 16:20:03 +02:00
2016-05-20 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/must-tail-call-1.c: New test case.
* gcc.dg/plugin/must-tail-call-2.c: New test case.
* gcc.dg/plugin/must_tail_call_plugin.c: New file.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
2016-05-20 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/tree-ssa/prefetch-5.c: xfail.
2016-05-20 Jakub Jelinek <jakub@redhat.com>
PR c++/71210
* g++.dg/opt/pr71210-1.C: New test.
* g++.dg/opt/pr71210-2.C: New test.
PR tree-optimization/29756
gcc.dg/tree-ssa/vector-6.c: Add -Wno-psabi -w to dg-options.
Add -msse2 for x86 and -maltivec for powerpc. Use scan-tree-dump-times
only on selected targets where V4SImode vectors are known to be
supported.
2016-05-20 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/71079
PR tree-optimization/71206
* gcc.dg/tree-ssa/pr71206.c: New testcase.
2016-05-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* gcc.dg/vect/section-anchors-vect-70.c: New test-case.
* gcc.dg/vect/section-anchors-vect-71.c: Likewise.
* gcc.dg/vect/section-anchors-vect-72.c: Likewise.
2016-05-20 Richard Guenther <rguenther@suse.de>
PR tree-optimization/29756
* gcc.dg/tree-ssa/vector-6.c: New testcase.
2016-05-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/71185
* gcc.dg/tree-ssa/pr71185.c: New testcase.
2016-05-20 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/ifc-cd.c: Adjust.
2016-05-19 Marek Polacek <polacek@redhat.com>
PR c++/71075
* g++.dg/diagnostic/pr71075.C: New test.
2016-05-19 David Malcolm <dmalcolm@redhat.com>
PR c++/71184
* g++.dg/pr71184.C: New test case.
darn-0.c: New test. gcc/testsuite/ChangeLog: 2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/darn-0.c: New test. * gcc.target/powerpc/darn-1.c: New test. * gcc.target/powerpc/darn-2.c: New test. gcc/ChangeLog: 2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/altivec.md (UNSPEC_DARN): New unspec constant. (UNSPEC_DARN_32): New unspec constant. (UNSPEC_DARN_RAW): New unspec constant. (darn_32): New instruction. (darn_raw): New instruction. (darn): New instruction. * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_0): Add support and documentation for this macro. (BU_P9_MISC_1): New macro definition. (BU_P9_64BIT_MISC_0): New macro definition. (BU_P9_MISC_0): New macro definition. (darn_32): New builtin definition. (darn_raw): New builtin definition. (darn): New builtin definition. * config/rs6000/rs6000.c: Add #define RS6000_BUILTIN_0 and #undef RS6000_BUILTIN_0 directives to surround each occurrence of #include "rs6000-builtin.def". (rs6000_builtin_mask_calculate): Add in the RS6000_BTM_MODULO and RS6000_BTM_64BIT flags to the returned mask, depending on configuration. (def_builtin): Correct an error in the assignments made to the debugging variable attr_string. (rs6000_expand_builtin): Add support for no-operand built-in functions. (builtin_function_type): Remove fatal_error assertion that is no longer valid. (rs6000_common_init_builtins): Add support for no-operand built-in functions. * config/rs6000/rs6000.h (RS6000_BTM_MODULO): New macro definition. (RS6000_BTM_PURE): Enhance comment to clarify intent of this flag definition. (RS6000_BTM_64BIT): New macro definition. * doc/extend.texi: Document __builtin_darn (void), __builtin_darn_raw (void), and __builtin_darn_32 (void) built-in functions. From-SVN: r236480
2016-05-19 19:47:40 +02:00
2016-05-19 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/darn-0.c: New test.
* gcc.target/powerpc/darn-1.c: New test.
* gcc.target/powerpc/darn-2.c: New test.
2016-05-19 Marek Polacek <polacek@redhat.com>
PR tree-optimization/71031
* gcc.dg/tree-ssa/vrp100.c: New test.
2016-05-19 Ilya Enkovich <ilya.enkovich@intel.com>
PR rtl-optimization/71148
* gcc.dg/pr71148.c: New test.
2016-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/71056
* gcc.target/arm/pr71056.c: New test.
2016-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
* c-c++-common/pr69669.c: Check the used mode.
2016-05-19 Maxim Ostapenko <m.ostapenko@samsung.com>
PR sanitizer/64354
* c-c++-common/tsan/sanitize-thread-macro.c: New test.
2016-05-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/70729
* gcc.dg/autopar/outer-6.c: Adjust to avoid redundant store.
* gcc.dg/graphite/scop-18.c: Likewise.
* gcc.dg/pr41783.c: Disable LIM.
* gcc.dg/tree-ssa/loadpre10.c: Likewise.
* gcc.dg/tree-ssa/loadpre23.c: Likewise.
* gcc.dg/tree-ssa/loadpre24.c: Likewise.
* gcc.dg/tree-ssa/loadpre25.c: Likewise.
* gcc.dg/tree-ssa/loadpre4.c: Likewise.
* gcc.dg/tree-ssa/loadpre8.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-16.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-18.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-20.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-3.c: Likewise.
* gfortran.dg/pr42108.f90: Likewise.
2016-05-18 David Malcolm <dmalcolm@redhat.com>
PR driver/69265
* gcc.dg/spellcheck-options-11.c: New test case.
2016-05-18 Jakub Jelinek <jakub@redhat.com>
PR c++/71100
* g++.dg/opt/pr71100.C: New test.
2016-05-18 Martin Jambor <mjambor@suse.cz>
PR ipa/69708
* gcc.dg/ipa/iinline-cstagg-2.c: New test.
* gcc.dg/ipa/ipcp-cstagg-5.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-6.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-7.c: Likewise.
Indirect inlining of targets from references of global constants 2016-05-18 Martin Jambor <mjambor@suse.cz> PR ipa/69708 * cgraph.h (cgraph_indirect_call_info): New field guaranteed_unmodified. * ipa-cp.c (ipa_get_indirect_edge_target_1): Also pass parameter value to ipa_find_agg_cst_for_param, check guaranteed_unmodified when appropriate. * ipa-inline-analysis.c (evaluate_conditions_for_known_args): Also pass the parameter value to ipa_find_agg_cst_for_param. * ipa-prop.c (ipa_load_from_parm_agg): New parameter guaranteed_unmodified, store AA results there instead of bailing out if present. (ipa_note_param_call): Also initialize guaranteed_unmodified flag. (ipa_analyze_indirect_call_uses): Also set guaranteed_unmodified flag. (find_constructor_constant_at_offset): New function. (ipa_find_agg_cst_from_init): Likewise. (ipa_find_agg_cst_for_param): Also seearch for aggregate values in static initializers of contants, report back through a new paameter from_global_constant if that was the case. (try_make_edge_direct_simple_call): Also pass parameter value to ipa_find_agg_cst_for_param, check guaranteed_unmodified when appropriate. (ipa_write_indirect_edge_info): Stream new flag guaranteed_unmodified. (ipa_read_indirect_edge_info): Likewise. * ipa-prop.h (ipa_find_agg_cst_for_param): Update declaration. (ipa_load_from_parm_agg): Likewise. testsuite/ * gcc.dg/ipa/iinline-cstagg-1.c: New test. * gcc.dg/ipa/ipcp-cstagg-1.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-2.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-3.c: Likewise. * gcc.dg/ipa/ipcp-cstagg-4.c: Likewise. From-SVN: r236416
2016-05-18 18:38:56 +02:00
2016-05-18 Martin Jambor <mjambor@suse.cz>
PR ipa/69708
* gcc.dg/ipa/iinline-cstagg-1.c: New test.
* gcc.dg/ipa/ipcp-cstagg-1.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-2.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-3.c: Likewise.
* gcc.dg/ipa/ipcp-cstagg-4.c: Likewise.
2016-05-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69793
* g++.dg/template/crash122.C: New.
2016-05-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70466
* g++.dg/template/pr70466-1.C: New.
* g++.dg/template/pr70466-2.C: Likewise.
re PR target/70915 (Improve loading 0/-1 in VSX registers on PowerPC) [gcc] 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/70915 * config/rs6000/constraints.md (wE constraint): New constraint for a vector constant that can be loaded with XXSPLTIB. (wM constraint): New constraint for a vector constant of a 1's. (wS constraint): New constraint for a vector constant that can be loaded with XXSPLTIB and a vector sign extend instruction. * config/rs6000/predicates.md (xxspltib_constant_split): New predicates for wE/wS constraints. (xxspltib_constant_nosplit): Likewise. (easy_vector_constant): Add support for constants that can be loaded via XXSPLTIB. (all_ones_constant): New predicate for vector constant with all 1's set. (splat_input_operand): Add support for ISA 3.0 word splat operations. * config/rs6000/rs6000.c (xxspltib_constant_p): New function to return if a constant can be loaded with the ISA 3.0 XXSPLTIB instruction and possibly with a sign extension. (output_vec_const_move): Add support for XXSPLTIB. If we are loading up 0/-1 into Altivec registers, prefer using VSPLTISW instead of XXLXOR/XXLORC. (rs6000_expand_vector_init): Add support for ISA 3.0 word splat operations. (rs6000_legitimize_reload_address): Likewise. (rs6000_output_move_128bit): Use output_vec_const_move to emit constants. * config/rs6000/vsx.md (VSX_M): Add TImode (if -mvsx-timode) and combine VSX_M and VSX_M2 into one iterator. (VSX_M2): Likewise. (VSINT_84): New iterators for loading constants with XXSPLTIB. (VSINT_842): Likewise. (UNSPEC_VSX_SIGN_EXTEND): New UNSPEC. (xxspltib_v16qi): New insns to load up constants with the ISA 3.0 XXSPLTIB instruction. (xxspltib_<mode>_nosplit): Likewise. (xxspltib_<mode>_split): New insn to load up constants with XXSPLTIB and a sign extend instruction. (vsx_mov<mode>): Replace single move that handled all vector types with separate 32-bit and 64-bit moves. Combine the movti_<bit> moves (when -mvsx-timode is in effect) into the main vector moves. Eliminate separate moves for <VSr> <VSa>, where the preferred register class (<VSr>) is listed first, and the secondary register class (<VSa>) is listed second with a '?' to discourage use. Prefer loading 0/-1 in any VSX register for ISA 3.0, and Altivec registers for ISA 2.06/2.07 (PR target/70915) so that if the register was involved in a slow operation, the clear/set operation does not wait for the slow operation to finish. Adjust the length attributes for 32-bit mode. Use rs6000_output_move_128bit and drop the use of the string instructions for 32-bit movti when -mvsx-timode is in effect. Use spacing so that the alternatives and attributes don't generate long lines, and put things in columns, so that it is easier to match up the operands and attributes with the insn alternatives. (vsx_mov<mode>_64bit): Likewise. (vsx_mov<mode>_32bit): Likewise. (vsx_movti_64bit): Fold movti into normal vector moves. (vsx_movti_32bit): Likewise. (vsx_splat_<mode>, V4SI/V4SF modes): Add support for ISA 3.0 word spat instructions. (vsx_splat_v4si_internal): Likewise. (vsx_splat_v4sf_internal): Likewise. (vector fusion peepholes): Use VSX_M instead of VSX_M2. (vsx_sign_extend_qi_<mode>): New ISA 3.0 instructions to sign extend vector elements. (vsx_sign_extend_hi_<mode>): Likewise. (vsx_sign_extend_si_v2di): Likewise. * config/rs6000/rs6000-protos.h (xxspltib_constant_p): Add declaration. * doc/md.texi (PowerPC constraints): Document the wE, wM, and wS constraints. Add trailing period to wL documentation. [gcc/testsuite] 2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/p9-splat-1.c: New tests for ISA 3.0 word splat operations and the XXSPLTIB instruction. * gcc.target/powerpc/p9-splat-2.c: Likewise. * gcc.target/powerpc/p9-splat-3.c: Likewise. * gcc.target/powerpc/pr47755.c: Allow vspltisw in addition to xxlxor to clear a register. From-SVN: r236394
2016-05-18 16:04:32 +02:00
2016-05-18 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-splat-1.c: New tests for ISA 3.0 word
splat operations and the XXSPLTIB instruction.
* gcc.target/powerpc/p9-splat-2.c: Likewise.
* gcc.target/powerpc/p9-splat-3.c: Likewise.
* gcc.target/powerpc/pr47755.c: Allow vspltisw in addition to
xxlxor to clear a register.
2016-05-18 Richard Sandiford <richard.sandiford@arm.com>
* gcc.dg/torture/pr71020.c: New test.
2016-05-18 Martin Jambor <mjambor@suse.cz>
PR ipa/70646
* gcc.dg/ipa/pr70646.c: New test.
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vget_lane.c: Add fp16 tests.
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add
missing tests for vreinterpretq_p{8,16}.
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vsli_n.c: Add checks for
vsliq_n_s64 and vsliq_n_u64.
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK,
CHECK_FP, CHECK_CUMULATIVE_SAT): Print which type was checked.
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vmul.c: Remove useless #ifdef.
* gcc.target/aarch64/advsimd-intrinsics/vshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vtst.c: Likewise.
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Fix typo
in comment.
2016-05-18 14:41:50 +02:00
2016-05-18 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/aarch64/noplt_3.c: Scan for "br\t".
* gcc.target/aarch64/tail_indirect_call_1.c: Scan for "br\t",
"blr\t" and switch to scan-assembler-times.
2016-05-18 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: Guard float64_t
with __aarch64__.
* gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: Guard variable
declarations under __aarch64__ and __ARM_FEATURE_FMA.
2016-05-18 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx512bw-vpbroadcast-1.c: New test.
* gcc.target/i386/avx512bw-vpbroadcast-2.c: New test.
* gcc.target/i386/avx512bw-vpbroadcast-3.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-1.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-2.c: New test.
* gcc.target/i386/avx512vl-vpbroadcast-3.c: New test.
* gcc.target/i386/avx512vl-vpalignr-3.c: New test.
* gcc.target/i386/avx512bw-vpalignr-3.c: New test.
* gcc.target/i386/avx512vl-vpshufb-3.c: New test.
* gcc.target/i386/avx512bw-vpshufb-3.c: New test.
* gcc.target/i386/avx512vl-vpmulhrsw-3.c: New test.
* gcc.target/i386/avx512bw-vpmulhrsw-3.c: New test.
* gcc.target/i386/avx512bw-vpmaddubsw-3.c: New test.
2016-05-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/71168
* gcc.dg/torture/pr71168.c: New testcase.
2016-05-17 Kugan Vivekanandarajah <kuganv@linaro.org>
PR middle-end/63586
* gcc.dg/tree-ssa/pr63586-2.c: New test.
* gcc.dg/tree-ssa/pr63586.c: New test.
* gcc.dg/tree-ssa/reassoc-14.c: Adjust multiplication count.
2016-05-17 Nathan Sidwell <nathan@acm.org>
* gcc.c-torture/execute/20030222-1.c: Skip on ptx.
* gcc.dg/pr68671.c: Fix ptx xfail-if.
* gcc.dg/torture/pr54261-1.c: Allocate atomic var statically.
* gcc.dg/torture/type-generic-1.c: Enable UNSAFE for ptx.
2016-05-17 Nathan Sidwell <nathan@acm.org>
* gcc.target/nvptx/abi-vararg-3.c: New.
2016-05-17 Mikhail Maltsev <maltsevm@gmail.com>
PR tree-optimization/54579
PR middle-end/55299
* gcc.dg/fold-notrotate-1.c: New test.
* gcc.dg/fold-notshift-1.c: New test.
* gcc.dg/fold-notshift-2.c: New test.
2016-05-17 Marek Polacek <polacek@redhat.com>
PR ipa/71146
* g++.dg/ipa/pr71146.C: New test.
2016-05-17 David Malcolm <dmalcolm@redhat.com>
* jit.dg/test-error-array-bounds.c: New test case.
2016-05-17 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/and-1.c: New testcase.
2016-05-17 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/andnot-1.c: New testcase.
2016-05-17 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/vrp99.c: New testcase.
2016-05-17 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/simd/vmul_elem_1.c: Use intrinsics.
2016-05-17 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/simd/vmul_elem_1.c: New.
2016-05-17 Jiong Wang <jiong.wang@arm.com>
* gcc.target/aarch64/fmla_intrinsic_1.c: Allow ".d[index]" besides
".2d[index]" when scan the assembly.
* gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: New entry for
float64x1.
* gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: New.
2016-05-17 Richard Biener <rguenther@suse.de>
PR tree-optimization/71132
* gcc.dg/torture/pr71132.c: New testcase.
2016-05-17 Christophe Lyon <christophe.lyon@linaro.org>
* g++.dg/inherit/think1.C: Fix dg-do and dg-skip order.
2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/70809
* gcc.target/aarch64/pr70809_1.c: New test.
2016-05-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/cpu-diagnostics-1.c: Skip if -mcpu is overriden.
* gcc.target/aarch64/cpu-diagnostics-2.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-3.c: Likewise.
* gcc.target/aarch64/cpu-diagnostics-4.c: Likewise.
2016-05-17 Dominique d'Humieres <dominiq@lps.ens.fr>
Ilya Enkovich <ilya.enkovich@intel.com>
PR target/71114
* gcc.target/i386/pr70799-1.c: Fix scan for Darwin.
2016-05-16 Jan Hubicka <hubicka@ucw.cz>
* g++.dg/ipa/ivinline-7.C: Do not xfail.
* g++.dg/ipa/ivinline-9.C: Do not xfail.
[ARM] Enable __fp16 as a function parameter and return type. gcc/ 2016-05-16 Matthew Wahab <matthew.wahab@arm.com> Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Jiong Wang <jiong.wang@arm.com> * config/arm/arm-c.c (arm_cpu_builtins): Use def_or_undef_macro for __ARM_FP16_FORMAT_IEEE and __ARM_FP16_FORMAT_ALTERNATIVE. Define __ARM_FP16_ARGS when appropriate. * config/arm/arm.c (arm_invalid_parameter_type): Remove declaration. (arm_invalid_return_type): Likewise. (TARGET_INVALID_PARAMETER_TYPE): Remove. (TARGET_INVALID_RETURN_TYPE): Remove. (aapcs_vfp_sub_candidate): Allow HFmode. (aapcs_vfp_allocate): Add comment. Support HFmode. (aapcs_vfp_allocate_return_reg): Likewise. (struct aapcs_cp_arg_layout): Slightly reword comments for is_return_candidate and allocate_return_reg. (output_mov_vfp): Update assert. (arm_hard_regno_mode_ok): Remove comment, update HF-mode condition. (arm_invalid_parameter_type): Remove. (amr_invalid_return_type): Remove. * config/arm/arm.h (TARGET_NEON_FP16): Fix definition. * config/arm/arm.md (*arm32_movhf): Disable for TARGET_VFP. * config/arm/vfp.md (*movhf_vfp): Enable for TARGET_VFP. gcc/testsuite/ 2016-05-16 Matthew Wahab <matthew.wahab@arm.com> * g++.dg/ext/arm-fp16/fp16-param-1.c: Update expected output. Add test for __ARM_FP16_ARGS. * g++.dg/ext/arm-fp16/fp16-return-1.c: Update expected output. * gcc.target/arm/aapcs/neon-vect10.c: New. * gcc.target/arm/aapcs/neon-vect9.c: New. * gcc.target/arm/aapcs/vfp18.c: New. * gcc.target/arm/aapcs/vfp19.c: New. * gcc.target/arm/aapcs/vfp20.c: New. * gcc.target/arm/aapcs/vfp21.c: New. * gcc.target/arm/fp16-aapcs-1.c: New. * g++.target/arm/fp16-param-1.c: Update expected output. Add test for __ARM_FP16_ARGS. * g++.target/arm/fp16-return-1.c: Update expected output. Co-Authored-By: Jiong Wang <jiong.wang@arm.com> Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> From-SVN: r236269
2016-05-16 11:31:58 +02:00
2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
* g++.dg/ext/arm-fp16/fp16-param-1.c: Update expected output. Add
test for __ARM_FP16_ARGS.
* g++.dg/ext/arm-fp16/fp16-return-1.c: Update expected output.
* gcc.target/arm/aapcs/neon-vect10.c: New.
* gcc.target/arm/aapcs/neon-vect9.c: New.
* gcc.target/arm/aapcs/vfp18.c: New.
* gcc.target/arm/aapcs/vfp19.c: New.
* gcc.target/arm/aapcs/vfp20.c: New.
* gcc.target/arm/aapcs/vfp21.c: New.
* gcc.target/arm/fp16-aapcs-1.c: New.
* g++.target/arm/fp16-param-1.c: Update expected output. Add
test for __ARM_FP16_ARGS.
* g++.target/arm/fp16-return-1.c: Update expected output.
2016-05-16 Jiong Wang <jiong.wang@arm.com>
PR testsuite/70227
* g++.dg/lto/pr69589_0.C: Skip arm and aarch64 bare-metal targets.
2016-05-15 Harald Anlauf <anlauf@gmx.de>
PR fortran/69603
* gfortran.dg/pr69603.f90: New testcase.
2016-05-14 Fritz Reese <fritzoreese@gmail.com>
* gfortran.dg/dec_union_4.f90: Fix endian issue.
2016-05-14 Fritz Reese <fritzoreese@gmail.com>
PR fortran/71047
* gfortran.dg/pr71047.f08: New test.
Implement C11 DR#423 resolution (ignore function return type qualifiers). The resolution of C11 DR#423, apart from doing things with the types of expressions cast to qualified types which are only in standard terms observable with _Generic and which agree with how GCC has implemented _Generic all along, also specifies that qualifiers are discarded from function return types: "derived-declarator-type-list function returning T" becomes "derived-declarator-type-list function returning the unqualified version of T" in the rules giving types for function declarators. This means that declarations of a function with both qualified and unqualified return types are now compatible, similar to how different declarations can vary in whether a function argument is declared with a qualifier or unqualified type. This patch implements this resolution. Since the motivation for the change was _Generic, the resolution is restricted to C11 mode; there's no reason to consider there to be a defect in this regard in older standard versions. Some less-obvious issues are handled as follows: * As usual, and as with function arguments, _Atomic is not considered a qualifier for this purpose; that is, function declarations must agree regarding whether the return type is atomic. * By 6.9.1#2, a function definition cannot return qualified void. But with this change, specifying "const void" in the declaration produces the type "function returning void", which is perfectly valid, so "const void f (void) {}" is no longer an error. * The application to restrict is less clear. The way I am interpreting it in this patch is that "unqualified version of T" is not valid if T is not valid, as in the case where T is a restrict-qualified version of a type that cannot be restrict qualified (non-pointer, or pointer-to-function). But it's possible to argue the other way from the wording. Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc/c: * c-decl.c (grokdeclarator): For C11, discard qualifiers on function return type. gcc/testsuite: * gcc.dg/qual-return-5.c, gcc.dg/qual-return-6.c: New tests. * gcc.dg/call-diag-2.c, gcc.dg/qual-return-2.c , gcc.dg/qual-return-3.c, gcc.dg/qual-return-4.c: Use -std=gnu99. From-SVN: r236231
2016-05-13 23:35:39 +02:00
2016-05-13 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/qual-return-5.c, gcc.dg/qual-return-6.c: New tests.
* gcc.dg/call-diag-2.c, gcc.dg/qual-return-2.c ,
gcc.dg/qual-return-3.c, gcc.dg/qual-return-4.c: Use -std=gnu99.
2016-05-13 Martin Sebor <msebor@redhat.com>
PR c++/60049
* g++.dg/cpp0x/constexpr-60049.C: New test.
2016-05-13 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/71071
* gcc.dg/pr71071.c: New test.
2016-05-13 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/vect/tree-vect.h (check_vect): Handle AVX2,
remove XOP handling.
* gcc.dg/vect/pr66636.c (foo): Add __attribute__((noinline,noclone)).
2016-05-13 Nathan Sidwell <nathan@acm.org>
* gcc.dg/atomic-noinline-aux.c: Include stddef.h. Fix
__atomic_is_lock_free declaration.
2016-05-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/42587
* gcc.dg/optimize-bswapsi-4.c: New testcase.
Enhance dumps of IVOPTS * tree-ssa-loop-ivopts.c (avg_loop_niter): Fix coding style. (struct cost_pair): Change inv_expr_id (int) to inv_expr (iv_inv_expr_ent *). (struct iv_inv_expr_ent): Comment struct fields. (sort_iv_inv_expr_ent): New function. (struct ivopts_data): Rename inv_expr_id to max_inv_expr_id. (struct iv_ca): Replace used_inv_expr and num_used_inv_expr with a hash_map between iv_inv_expr_ent and number of usages. (niter_for_exit): Fix coding style. (tree_ssa_iv_optimize_init): Use renamed variable. (determine_base_object): Fix coding style. (alloc_iv): Likewise. (find_interesting_uses_outside): Likewise. (add_candidate_1): Likewise. (add_standard_iv_candidates): Likewise. (set_group_iv_cost): Replace inv_expr_id with inv_expr. (prepare_decl_rtl): Fix coding style. (get_address_cost): Likewise. (get_shiftadd_cost): Likewise. (force_expr_to_var_cost): Likewise. (compare_aff_trees): Likewise. (get_expr_id): Restructure the function. (get_loop_invariant_expr_id): Renamed to get_loop_invariant_expr. (get_computation_cost_at): Replace usage of inv_expr_id with inv_expr. (get_computation_cost): Likewise. (determine_group_iv_cost_generic): Likewise. (determine_group_iv_cost_address): Likewise. (iv_period): Fix coding style. (iv_elimination_compare_lt): Likewise. (may_eliminate_iv): Likewise. (determine_group_iv_cost_cond): Replace usage of inv_expr_id with inv_expr. (determine_group_iv_costs): Dump invariant expressions. (iv_ca_recount_cost): Use the newly added hash_map. (iv_ca_set_remove_invariants): Fix coding style. (iv_ca_set_add_invariants): Fix coding style. (iv_ca_set_no_cp): Utilize the newly added hash_map for used invariants. (iv_ca_set_cp): Likewise. (iv_ca_new): Initialize the newly added hash_map and remove initialization of fields. (iv_ca_free): Delete the hash_map. (iv_ca_dump): Dump invariant expressions. (iv_ca_extend): Fix coding style. (try_add_cand_for): Likewise. (create_new_ivs): Dump information about # of avg iterations and # of used invariant expressions. (rewrite_use_compare): Fix coding style. (free_loop_data): Set default value for max_inv_expr_id. * g++.dg/tree-ssa/ivopts-3.C: Change test-case to follow the new format of dump output. From-SVN: r236200
2016-05-13 12:44:17 +02:00
2016-05-13 Martin Liska <mliska@suse.cz>
* g++.dg/tree-ssa/ivopts-3.C: Change test-case to follow
the new format of dump output.
2016-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
* gcc.dg/pr71084.c: New test.
2016-05-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/53440
* g++.dg/inherit/thunk1.C: Support arm / aarch64.
2016-05-13 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.target/aarch64/struct_return.c: New test.
re PR c/70756 (Wrong column number shown for "error: invalid use of flexible array member") PR c/70756 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of size_in_bytes and pass LOC to it. * c-decl.c (build_compound_literal): Pass LOC down to c_incomplete_type_error. * c-tree.h (require_complete_type): Adjust declaration. (c_incomplete_type_error): Likewise. * c-typeck.c (require_complete_type): Add location parameter, pass it down to c_incomplete_type_error. (c_incomplete_type_error): Add location parameter, pass it down to error_at. (build_component_ref): Pass location down to c_incomplete_type_error. (default_conversion): Pass location down to require_complete_type. (build_array_ref): Likewise. (build_function_call_vec): Likewise. (convert_arguments): Likewise. (build_unary_op): Likewise. (build_c_cast): Likewise. (build_modify_expr): Likewise. (convert_for_assignment): Likewise. (c_finish_omp_clauses): Likewise. * call.c (build_new_op_1): Pass LOC to cp_build_modify_expr. * cp-tree.h (cp_build_modify_expr): Update declaration. (cxx_incomplete_type_error, cxx_incomplete_type_diagnostic): New inline overloads. * cp-ubsan.c (cp_ubsan_dfs_initialize_vtbl_ptrs): Pass INPUT_LOCATION to cp_build_modify_expr. * decl2.c (set_guard): Likewise. (handle_tls_init): Likewise. * init.c (perform_member_init): Likewise. (expand_virtual_init): Likewise. (build_new_1): Likewise. (build_vec_delete_1): Likewise. (get_temp_regvar): Likewise. (build_vec_init): Likewise. * method.c (do_build_copy_assign): Likewise. (assignable_expr): Likewise. * semantics.c (finish_omp_for): Likewise. * typeck.c (cp_build_binary_op): Pass LOCATION to pointer_diff and cp_pointer_int_sum. (cp_pointer_int_sum): Add location parameter. Pass it down to pointer_int_sum. (pointer_diff): Add location parameter. Use it. (build_modify_expr): Pass location down to cp_build_modify_expr. (cp_build_modify_expr): Add location parameter. Use it. (build_x_modify_expr): Pass location down to cp_build_modify_expr. * typeck2.c (cxx_incomplete_type_diagnostic, cxx_incomplete_type_error): Add location parameter. * langhooks-def.h (lhd_incomplete_type_error): Adjust declaration. * langhooks.c (lhd_incomplete_type_error): Add location parameter. * langhooks.h (incomplete_type_error): Likewise. * tree.c (size_in_bytes_loc): Renamed from size_in_bytes. Add location parameter, pass it down to incomplete_type_error. * tree.h (size_in_bytes): New inline overload. (size_in_bytes_loc): Renamed from size_in_bytes. * c-c++-common/pr70756-2.c: New test. * c-c++-common/pr70756.c: New test. From-SVN: r236180
2016-05-12 17:28:08 +02:00
2016-05-12 Marek Polacek <polacek@redhat.com>
PR c/70756
* c-c++-common/pr70756-2.c: New test.
* c-c++-common/pr70756.c: New test.
2016-05-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/71059
* gcc.dg/torture/pr71059.c: New testcase.
2016-05-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/71062
* gcc.dg/torture/pr71062.c: New testcase.
2016-05-12 Ilya Enkovich <ilya.enkovich@intel.com>
PR tree-optimization/71006
* gcc.dg/pr71006.c: New test.
2016-05-12 Marek Polacek <polacek@redhat.com>
PR driver/71063
* gcc.dg/opts-7.c: New test.
2016-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/70830
* gcc.target/arm/interrupt-1.c: Change dg-compile to dg-assemble.
Add -save-temps to dg-options.
Scan for ldmfd rather than pop instruction.
* gcc.target/arm/interrupt-2.c: Likewise.
* gcc.target/arm/pr70830.c: New test.
2016-05-12 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx512bw-vpextr-1.c: New test.
* gcc.target/i386/avx512dq-vpextr-1.c: New test.
* gcc.target/i386/avx512bw-vpinsr-1.c: New test.
* gcc.target/i386/avx512dq-vpinsr-1.c: New test.
* gcc.target/i386/avx512vl-vpinsr-1.c: New test.
PR target/71019
* gcc.target/i386/avx512vl-pack-1.c: New test.
* gcc.target/i386/avx512vl-pack-2.c: New test.
* gcc.target/i386/avx512bw-pack-2.c: New test.
* gcc.target/i386/avx512vl-vinsertps-1.c: New test.
* gcc.target/i386/avx512dq-abs-copysign-1.c: New test.
* gcc.target/i386/avx512vl-abs-copysign-1.c: New test.
* gcc.target/i386/avx512vl-abs-copysign-2.c: New test.
2016-05-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/70986
* gcc.dg/torture/pr70986-1.c: New testcase.
* gcc.dg/torture/pr70986-2.c: Likewise.
* gcc.dg/torture/pr70986-3.c: Likewise.
2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
PR c/43651
* gcc.dg/Wduplicate-decl-specifier-c11.c: New test.
* gcc.dg/Wduplicate-decl-specifier.c: Likewise.
2016-05-11 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/sse-13.c: Add dg-add-options bind_pic_locally
directive.
* gcc.target/i386/pr66746.c: Ditto.
predicates.md (quad_memory_operand): Move most of the code into quad_address_p and call it to share code with... [gcc] 2016-05-11 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/predicates.md (quad_memory_operand): Move most of the code into quad_address_p and call it to share code with vsx_quad_dform_memory_operand. (vsx_quad_dform_memory_operand): New predicate for ISA 3.0 vector d-form support. * config/rs6000/rs6000.opt (-mlra): Switch to being an option mask bit instead of being a separate word. Split -mpower9-dform into two switches, -mpower9-dform-scalar and -mpower9-dform-vector. * config/rs6000/rs6000.c (RELOAD_REG_QUAD_OFFSET): New addr_mask for the register class supporting 128-bit quad word memory offsets. (mode_supports_vsx_dform_quad): Helper function to return if the register class uses quad word memory offsets. (rs6000_debug_addr_mask): Add support for quad word memory offsets. (rs6000_debug_reg_global): Always print if we are using LRA or not. (rs6000_setup_reg_addr_masks): If ISA 3.0 vector d-form instructions are enabled, set up the appropriate addr_masks for 128-bit types. (rs6000_init_hard_regno_mode_ok): wb constraint is now based on -mpower9-dform-scalar, instead of -mpower9-dform. (rs6000_option_override_internal): Split -mpower9-dform into two switches, -mpower9-dform-scalar and -mpower9-dform-vector. The -mpower9-dform switch sets or clears both. If we are not using the LRA register allocator, do not enable -mpower9-dform-vector by default. If we are using LRA, enable -mpower9-dform-vector and -mvsx-timode if it is appropriate. Issue a warning if either -mpower9-dform-vector or -mvsx-timode are explicitly used without enabling LRA. (quad_address_offset_p): New helper function to return if the offset is legal for quad word memory instructions. (quad_address_p): New function to determin if GPR or vector register quad word memory addresses are legal. (mem_operand_gpr): Validate quad word address offsets. (reg_offset_addressing_ok_p): Add support for ISA 3.0 vector d-form (register + offset) instructions. (offsettable_ok_by_alignment): Likewise. (rs6000_legitimate_offset_address_p): Likewise. (legitimate_lo_sum_address_p): Likewise. (rs6000_legitimize_address): Likewise. (rs6000_legitimize_reload_address): Add more debug statements for -mdebug=addr. (rs6000_legitimate_address_p): Add support for ISA 3.0 vector d-form instructions. (rs6000_secondary_reload_memory): Add support for ISA 3.0 vector d-form instructions. Distinguish different cases in debug output. (rs6000_secondary_reload_inner): Add support for ISA 3.0 vector d-form instructions. (rs6000_preferred_reload_class): Likewise. (rs6000_output_move_128bit): Add support for ISA 3.0 d-form instructions. If ISA 3.0 is available, generate lxvx/stxvx instead of the ISA 2.06 indexed memory instructions. (rs6000_emit_prologue): If we have ISA 3.0 d-form instructions, use them to save/restore the saved vector registers instead of using Altivec instructions. (rs6000_emit_epilogue): Likewise. (rs6000_lra_p): Use TARGET_LRA instead of the old option word. (rs6000_opt_masks): Split -mpower9-dform into -mpower9-dform-scalar and -mpower9-dform-vector. (rs6000_print_options_internal): Print -mno-<switch> if <switch> was not selected. * config/rs6000/vsx.md (p9_vecload_<mode>): Delete hack to emit ISA 3.0 vector indexed memory instructions, and fold the code into the normal mov<mode> patterns. (p9_vecstore_<mode>): Likewise. (vsx_mov<mode>): Add support for ISA 3.0 vector d-form instructions. (vsx_movti_64bit): Likewise. (vsx_movti_32bit): Likewise. * config/rs6000/constraints.md (wO constraint): New constraint for ISA 3.0 vector d-form support. * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Use -mpower9-dform-scalar instead of -mpower9-dform. Add note not to include -mpower9-dform-vector until we switch over to LRA. (POWERPC_MASKS): Add -mlra. Split -mpower9-dform into two. switches, -mpower9-dform-scalar and -mpower9-dform-vector. * config/rs6000/rs6000-protos.h (quad_address_p): Add declaration. * doc/invoke.texi (RS/6000 and PowerPC Options): Add documentation for -mpower9-dform and -mlra. * doc/md.texi (wO constraint): Document wO constraint. [gcc/testsuite] 2016-05-11 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/dform-3.c: New test for ISA 3.0 vector d-form support. * gcc.target/powerpc/dform-1.c: Add -mlra option to silence warning when using -mvsx-timode. * gcc.target/powerpc/p8vector-int128-1.c: Likewise. * gcc.target/powerpc/dform-2.c: Likewise. * gcc.target/powerpc/pr68805.c: Likewise. From-SVN: r236133
2016-05-11 20:38:10 +02:00
2016-05-11 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/dform-3.c: New test for ISA 3.0 vector d-form
support.
* gcc.target/powerpc/dform-1.c: Add -mlra option to silence
warning when using -mvsx-timode.
* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
* gcc.target/powerpc/dform-2.c: Likewise.
* gcc.target/powerpc/pr68805.c: Likewise.
2016-05-11 Marek Polacek <polacek@redhat.com>
PR c++/71024
* c-c++-common/attributes-3.c: New test.
2016-05-11 Nathan Sidwell <nathan@acm.org>
* gcc.dg/pr68671.c: Xfail on PTX -- assembler crash.
* gcc.c-torture/execute/pr68185.c: Likewise.
* gcc.dg/ipa/pr70306.c: Requires global constructors.
* gcc.dg/pr69634.c: Requires scheduling.
* gcc.dg/torture/pr66178.c: Require label values.
* gcc.dg/setjmp-6.c: Require indirect jumps.
2016-05-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/71055
* gcc.dg/torture/pr71055.c: New testcase.
2016-05-11 Richard Biener <rguenther@suse.de>
PR debug/71057
* g++.dg/debug/pr71057.C: New testcase.
2016-05-11 Jakub Jelinek <jakub@redhat.com>
PR fortran/70855
* gfortran.dg/gomp/pr70855.f90: New test.
2016-05-11 Richard Biener <rguenther@suse.de>
PR middle-end/71002
* g++.dg/torture/pr71002.C: New testcase.
2016-05-11 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/70807
* gcc.dg/pr70807.c: New test.
2016-05-10 Martin Sebor <msebor@redhat.com>
PR c++/38611
* g++.dg/Wattributes.C: New test.
2016-05-10 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/bit-assoc.c: New testcase.
* gcc.dg/tree-ssa/pr69270.c: Adjust.
* gcc.dg/tree-ssa/vrp59.c: Disable forwprop.
2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com>
PR target/70799
* gcc.target/i386/pr70799-1.c: New test.
2016-05-10 Pierre-Marie de Rodat <derodat@adacore.com>
* gnat.dg/debug6.adb, gnat.dg/debug6_pkg.ads: New testcase.
2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com>
PR middle-end/70877
* gcc.target/i386/pr70877.c: New test.
2016-05-10 Ilya Enkovich <ilya.enkovich@intel.com>
PR tree-optimization/70786
* gcc.target/i386/pr70876.c: New test.
2016-05-10 Jakub Jelinek <jakub@redhat.com>
PR target/70927
* gcc.target/i386/avx512vl-logic-1.c: New test.
* gcc.target/i386/avx512vl-logic-2.c: New test.
* gcc.target/i386/avx512dq-logic-2.c: New test.
2016-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/70963
* gcc.target/powerpc/pr70963.c: New.
2016-05-10 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/plugin/diagnostic-test-show-locus-bw.c
(test_very_wide_line): Add ruler to expected output.
* gcc.dg/plugin/diagnostic-test-show-locus-color.c
(test_very_wide_line): Likewise.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(test_show_locus): Within the handling of "test_very_wide_line",
enable show_ruler_p on the diagnostic context.
2016-05-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/71039
* gcc.dg/torture/pr71039.c: New testcase.
2016-05-10 Nathan Sidwell <nathan@acm.org>
* gcc.dg/nested-func-10.c: Requires alloca.
* gcc.dg/nested-func-9.c: Requires alloca.
* gcc.c-torture/execute/pr70460.c: Requires labels.
* gcc.c-torture/compile/pr70199.c: Requires labels.
* gcc.target/nvptx/decl.c: Compile only.
* gcc.target/nvptx/trailing-init.c: Compile only.
* gcc.target/nvptx/ary-init.c: Compile only.
2016-05-10 Marek Polacek <polacek@redhat.com>
PR c/70255
* gcc.dg/attr-opt-1.c: New test.
2016-05-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/70497
PR tree-optimization/28367
* gcc.dg/torture/20160404-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-54.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-55.c: Likewise.
2016-05-10 Pierre-Marie de Rodat <derodat@adacore.com>
* gcc.dg/debug/dwarf2/nested_fun.c: New testcase.
2016-05-09 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/fabsneg-1.c New test.
2016-05-09 Alan Modra <amodra@gmail.com>
PR testsuite/70826
* gcc.target/powerpc/savres.c: Compile with -fno-rename-registers.
2016-05-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/70985
* gcc.dg/torture/pr70985.c: New testcase.
2016-05-09 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/ifc-9.c: New test.
* gcc.dg/tree-ssa/ifc-10.c: New test.
* gcc.dg/tree-ssa/ifc-11.c: New test.
* gcc.dg/tree-ssa/ifc-12.c: New test.
* gcc.dg/vect/pr61194.c: Remove XFAIL.
* gcc.dg/vect/vect-23.c: Remove XFAIL.
* gcc.dg/vect/vect-mask-store-move-1.c: Revise test check.
2016-05-09 Richard Biener <rguenther@suse.de>
PR fortran/70937
* gfortran.dg/pr70937.f90: New testcase.
2016-05-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/ipa/pure-const-3.c: Scan local-pure-const1 dump.
re PR fortran/56226 (Add support for DEC UNION and MAP extensions) 2016-05-07 Fritz Reese <fritzoreese@gmail.com> PR fortran/56226 * module.c (dt_upper_string): Rename to gfc_dt_upper_string (dt_lower_string): Likewise. * gfortran.h: Make new gfc_dt_upper/lower_string global. * class.c: Use gfc_dt_upper_string. * decl.c: Likewise. * symbol.c: Likewise. * resolve.c (resolve_component): New function. (resolve_fl_derived0): Move component loop code to resolve_component. * parse.c (check_component): New function. (parse_derived): Move loop code to check_component. * lang.opt, invoke.texi, options.c : New option -fdec-structure. * libgfortran.h (bt): New basic type BT_UNION. * gfortran.h (gfc_option): New option -fdec-structure. (gfc_get_union_type, gfc_compare_union_types): New prototypes. (gfc_bt_struct, gfc_fl_struct, case_bt_struct, case_fl_struct): New macros. (gfc_find_component): Change prototype. * match.h (gfc_match_member_sep, gfc_match_map, gfc_match_union, gfc_match_structure_decl): New prototypes. * parse.h (gfc_comp_struct): New macro. * symbol.c (gfc_find_component): Search for components in nested unions * class.c (insert_component_ref, gfc_add_component_ref, add_proc_comp, copy_vtab_proc_comps): Update calls to gfc_find_component. * primary.c (gfc_convert_to_structure_constructor): Likewise. * symbol.c (gfc_add_component): Likewise. * resolve.c (resolve_typebound_function, resolve_typebound_subroutine, resolve_typebound_procedure, resolve_component, resolve_fl_derived): Likewise. * expr.c (get_union_init, component_init): New functions. * decl.c (match_clist_expr, match_record_decl, get_struct_decl, gfc_match_map, gfc_match_union, gfc_match_structure_decl): Likewise. * interface.c (compare_components, gfc_compare_union_types): Likewise. * match.c (gfc_match_member_sep): Likewise. * parse.c (check_component, parse_union, parse_struct_map): Likewise. * resolve.c (resolve_fl_struct): Likewise. * symbol.c (find_union_component): Likewise. * trans-types.c (gfc_get_union_type): Likewise. * parse.c (parse_derived): Use new functions. * interface.c (gfc_compare_derived_types, gfc_compare_types): Likewise. * expr.c (gfc_default_initializer): Likewise. * gfortran.texi: Support for DEC structures, unions, and maps. * gfortran.h (gfc_statement, sym_flavor): Likewise. * check.c (gfc_check_kill_sub): Likewise. * expr.c (gfc_copy_expr, simplify_const_ref, gfc_has_default_initializer): Likewise. * decl.c (build_sym, match_data_constant, add_init_expr_to_sym, match_pointer_init, build_struct, variable_decl, gfc_match_decl_type_spec, gfc_mach_data-decl, gfc_match_entry, gfc_match_end, gfc_match_derived_decl): Likewise. * interface.c (check_interface0, check_interface1, gfc_search_interface): Likewise. * misc.c (gfc_basic_typename, gfc_typename): Likewise. * module.c (add_true_name, build_tnt, bt_types, mio_typespec, fix_mio_expr, load_needed, mio_symbol, read_module, write_symbol, gfc_get_module_backend_decl): Likewise. * parse.h (gfc_compile_state): Likewise. * parse.c (decode_specification_statement, decode_statement, gfc_ascii_statement, verify_st_order, parse_spec): Likewise. * primary.c (gfc_match_varspec, gfc_match_structure_constructor, gfc_match_rvalue, match_variable): Likewise. * resolve.c (find_arglists, resolve_structure_cons, is_illegal_recursion, resolve_generic_f, get_declared_from_expr, resolve_typebound_subroutine, resolve_allocate_expr, nonscalar_typebound_assign, generate_component_assignments, resolve_fl_variable_derived, check_defined_assignments, resolve_component, resolve_symbol, resolve_equivalence_derived): Likewise. * symbol.c (flavors, check_conflict, gfc_add_flavor, gfc_use_derived, gfc_restore_last_undo_checkpoint, gfc_type_compatible, gfc_find_dt_in_generic): Likewise. * trans-decl.c (gfc_get_module_backend_decl, create_function_arglist, gfc_create_module_variable, check_constant_initializer): Likewise. * trans-expr.c (gfc_conv_component_ref, gfc_conv_initializer, gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign, gfc_conv_structure, gfc_trans_scalar_assign, copyable_array_p): Likewise. * trans-io.c (transfer_namelist_element, transfer_expr, gfc_trans_transfer): Likewise. * trans-stmt.c (gfc_trans_deallocate): Likewise. * trans-types.c (gfc_typenode_for_spec, gfc_copy_dt_decls_ifequal, gfc_get_derived_type): Likewise. 2016-05-07 Fritz Reese <fritzoreese@gmail.com> PR fortran/56226 * gfortran.dg/dec_structure_1.f90: New testcase. * gfortran.dg/dec_structure_2.f90: Ditto. * gfortran.dg/dec_structure_3.f90: Ditto. * gfortran.dg/dec_structure_4.f90: Ditto. * gfortran.dg/dec_structure_5.f90: Ditto. * gfortran.dg/dec_structure_6.f90: Ditto. * gfortran.dg/dec_structure_7.f90: Ditto. * gfortran.dg/dec_structure_8.f90: Ditto. * gfortran.dg/dec_structure_9.f90: Ditto. * gfortran.dg/dec_structure_10.f90: Ditto. * gfortran.dg/dec_structure_11.f90: Ditto. * gfortran.dg/dec_union_1.f90: Ditto. * gfortran.dg/dec_union_2.f90: Ditto. * gfortran.dg/dec_union_3.f90: Ditto. * gfortran.dg/dec_union_4.f90: Ditto. * gfortran.dg/dec_union_5.f90: Ditto. * gfortran.dg/dec_union_6.f90: Ditto. * gfortran.dg/dec_union_7.f90: Ditto. From-SVN: r235999
2016-05-08 01:16:23 +02:00
2016-05-07 Fritz Reese <fritzoreese@gmail.com>
PR fortran/56226
* gfortran.dg/dec_structure_1.f90: New testcase.
* gfortran.dg/dec_structure_2.f90: Ditto.
* gfortran.dg/dec_structure_3.f90: Ditto.
* gfortran.dg/dec_structure_4.f90: Ditto.
* gfortran.dg/dec_structure_5.f90: Ditto.
* gfortran.dg/dec_structure_6.f90: Ditto.
* gfortran.dg/dec_structure_7.f90: Ditto.
* gfortran.dg/dec_structure_8.f90: Ditto.
* gfortran.dg/dec_structure_9.f90: Ditto.
* gfortran.dg/dec_structure_10.f90: Ditto.
* gfortran.dg/dec_structure_11.f90: Ditto.
* gfortran.dg/dec_union_1.f90: Ditto.
* gfortran.dg/dec_union_2.f90: Ditto.
* gfortran.dg/dec_union_3.f90: Ditto.
* gfortran.dg/dec_union_4.f90: Ditto.
* gfortran.dg/dec_union_5.f90: Ditto.
* gfortran.dg/dec_union_6.f90: Ditto.
* gfortran.dg/dec_union_7.f90: Ditto.
2016-05-07 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/70956
* gcc.dg/graphite/pr70956.c: New test.
2016-05-06 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70941
* gcc.dg/torture/pr70941.c (abort): Remove prototype.
(a, b, c, d): Change type from char to signed char.
(main): Compare against (signed char) -1634678893 instead of
hardcoded -109. Use __builtin_abort instead of abort.
* gcc.target/i386/avx512bw-vpsraw-3.c: New test.
* gcc.target/i386/avx512vl-vpsrad-3.c: New test.
* gcc.target/i386/avx512bw-vpmaddwd-3.c: New test.
2016-05-06 Yuri Rumyantsev <ysrumyan@gmail.com>
PR debug/70935
* gcc.dg/torture/pr70935.c: New test.
2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
PR target/58219
* gcc.target/sh/pr58219.c: New tests.
2016-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/70960
* gfortran.fortran-torture/compile/pr70960.f90: New testcase.
2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
PR target/52933
* gcc.target/sh/pr52933-1.c (test_31, test_32, test_33, test_34,
test_35, test_36, test_37, test_38, test_39, test_40): New sub-tests.
Adjust expected instruction counts.
* gcc.target/sh/pr52933-2.c: Adjust expected instruction counts.
2016-05-06 Marek Polacek <polacek@redhat.com>
PR sanitizer/70875
* gcc.dg/ubsan/bounds-3.c: New test.
2016-05-06 Oleg Endo <olegendo@gcc.gnu.org>
PR target/54089
* gcc.target/sh/pr54089-1.c (test_24): Add new sub-test.
2016-05-06 Richard Biener <rguenther@suse.de>
PR middle-end/70931
* gfortran.dg/pr70931.f90: New testcase.
2016-05-06 Richard Biener <rguenther@suse.de>
PR middle-end/70941
* gcc.dg/torture/pr70941.c: New testcase.
2016-05-05 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/57206
* gcc.dg/vect/pr57206.c: New test.
2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/ipa/inline-8.c (isnanf): Declare.
2016-05-05 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx512f-vfmadd-1.c: New test.
* c-c++-common/Wdangling-else-4.c: New test.
2016-05-04 Jakub Jelinek <jakub@redhat.com>
PR c++/70906
PR c++/70933
* g++.dg/opt/pr70906.C: New test.
* g++.dg/opt/pr70933.C: New test.
* gcc.target/i386/avx512vl-vmovq-1.c: New test.
2016-05-04 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/ipa/pure-const-3.c: New testcase.
2016-05-04 Marek Polacek <polacek@redhat.com>
* c-c++-common/Wdangling-else-1.c: New test.
* c-c++-common/Wdangling-else-2.c: New test.
* c-c++-common/Wdangling-else-3.c: New test.
2016-05-04 Kwok Cheung Yeung <kcy@codesourcery.com>
* gcc.target/mips/mips16-attributes.c: Skip if -mmicromips
flag is present.
2016-05-04 Marek Polacek <polacek@redhat.com>
PR c/48778
* gcc.dg/Waddress-2.c: New test.
2016-05-04 Alan Modra <amodra@gmail.com>
* gcc.target/powerpc/pr70866.c: New.
2016-05-03 Martin Sebor <msebor@redhat.com>
PR c++/66561
* c-c++-common/builtin_location.c: New test.
* g++.dg/cpp1y/builtin_location.C: New test.
2016-05-03 Marek Polacek <polacek@redhat.com>
PR c/70859
* gcc.dg/pr70859.c: New test.
* gcc.dg/pr70859-2.c: New test.
2016-05-03 Pierre-Marie de Rodat <derodat@adacore.com>
* gnat.dg/debug5.adb: New testcase.
2016-05-03 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.target/s390/md/rXsbg_mode_sXl.c: New test.
* gcc.target/s390/s390.exp (check_effective_target_z10_instructions):
Procedure to check for z10 instruction set.
2016-05-03 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/ipa/inline-8.c: Require c99_runtime.
2016-05-03 Alan Modra <amodra@gmail.com>
* gcc.target/powerpc/savres.c: Add func using a single gpr.
2016-05-03 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx512f-cvt-1.c: New test.
2016-05-03 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/tree-ssa/ssa-thread-14.c: Replace -fdump-tree-vrp with
-fdump-tree-vrp-details.
gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter default true. 2016-05-03 Richard Biener <rguenther@suse.de> * gimplify.h (get_initialized_tmp_var): Add allow_ssa parameter default true. (gimplify_arg): Likewise. * gimplify.c (gimplify_expr): Add overload with allow_ssa parameter, re-writing the result to a decl if required. (internal_get_tmp_var): Add allow_ssa parameter and override into_ssa with it. (get_formal_tmp_var): Adjust. (get_initialized_tmp_var): Add allow_ssa parameter. (gimplify_arg): Add allow_ssa parameter and avoid generating SSA names for the result false. (gimplify_call_expr): If the call may return twice do not gimplify parameters into SSA. (prepare_gimple_addressable): Do not allow an SSA name as temporary. (gimplify_modify_expr): Adjust assert. For noreturn calls with a SSA name LHS adjust its def. (gimplify_save_expr): Do not allow an SSA name as save-expr result. (gimplify_one_sizepos): Do not allow an SSA name as a sizepos. (gimplify_body): Init GIMPLE SSA data structures and gimplify into-SSA. (gimplify_scan_omp_clauses): Make sure OMP_CLAUSE_SIZE is not an SSA name. Likewise for OMP_CLAUSE_REDUCTION operands. (gimplify_omp_for): Likewise for OMP_CLAUSE_DECL. Likewise for OMP_FOR_COND, OMP_FOR_INCR and OMP_CLAUSE_LINEAR_STEP. (optimize_target_teams): Do not allow SSA names for clause operands. (gimplify_expr): Likewise for where we mark the result addressable. * passes.def (pass_init_datastructures): Remove. * tree-into-ssa.c (mark_def_sites): Ignore existing SSA names. (rewrite_stmt): Likewise. * tree-inline.c (initialize_cfun): Properly transfer SSA state. (replace_locals_op): Replace SSA names. (copy_gimple_seq_and_replace_locals): Init src_cfun. * gimple-low.c (lower_builtin_setjmp): Deal with SSA. * cgraph.c (release_function_body): Free CFG annotations only when we have a CFG. Simplify. * gimple-fold.c (gimplify_and_update_call_from_tree): Use force_gimple_operand instead of get_initialized_tmp_var. * tree-pass.h (make_pass_init_datastructures): Remove. * tree-ssa.c (execute_init_datastructures): Remove. (pass_data_init_datastructures): Likewise. (class pass_init_datastructures): Likewise. (make_pass_init_datastructures): Likewise. * omp-low.c (create_omp_child_function): Init SSA data structures. (grid_expand_target_grid_body): Likewise. * tree-cfg.c (move_block_to_fn): Double-check the DEF is an SSA name before adding it to names_to_release. (remove_bb): Always release SSA defs. * tree-ssa-ccp.c (get_default_value): Check SSA_NAME_VAR before dereferencing it. * cgraphunit.c (init_lowered_empty_function): Always int SSA data structures. * tree-ssanames.c (release_defs): Remove assert that we are in SSA form. * trans-mem.c (diagnose_tm_1): Handle SSA name function. c-family/ * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not allow call args to gimplify to SSA names. * gcc.dg/pr30172-1.c: Adjust. * gcc.dg/pr63743.c: Likewise. * gcc.dg/tm/pr51696.c: Likewise. * c-c++-common/tm/safe-1.c: Likewise. * gcc.dg/tree-prof/val-prof-3.c: Likewise. * gcc.dg/plugin/self-assign-test-1.c: XFAIL case that needs CSE. * g++.dg/plugin/self-assign-test-1.C: Likewise. * g++.dg/plugin/self-assign-test-2.C: Likewise. From-SVN: r235817
2016-05-03 14:06:19 +02:00
2016-05-03 Richard Biener <rguenther@suse.de>
* gcc.dg/pr30172-1.c: Adjust.
* gcc.dg/pr63743.c: Likewise.
* gcc.dg/tm/pr51696.c: Likewise.
* c-c++-common/tm/safe-1.c: Likewise.
* gcc.dg/tree-prof/val-prof-3.c: Likewise.
* gcc.dg/plugin/self-assign-test-1.c: XFAIL case that needs CSE.
* g++.dg/plugin/self-assign-test-1.C: Likewise.
* g++.dg/plugin/self-assign-test-2.C: Likewise.
2016-05-03 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70467
* gcc.target/i386/pr70467-3.c: New test.
* gcc.target/i386/pr70467-4.c: New test.
PR tree-optimization/70916
* gcc.c-torture/compile/pr70916.c: New test.
PR target/49244
* gcc.target/i386/pr49244-1.c: New test.
* gcc.target/i386/pr49244-2.c: New test.
2016-05-03 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/44281
* gcc.target/i386/pr44281.c: New test.
2016-05-03 bin cheng <bin.cheng@arm.com>
PR tree-optimization/56541
* gcc.dg/tree-ssa/ifc-pr56541.c: new test.
* gcc.dg/vect/pr56541.c: new test.
machmode.h (mode_complex): Add support to give the complex mode for a given mode. [gcc] 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> * machmode.h (mode_complex): Add support to give the complex mode for a given mode. (GET_MODE_COMPLEX_MODE): Likewise. * stor-layout.c (layout_type): For COMPLEX_TYPE, use the mode stored by build_complex_type and gfc_build_complex_type instead of trying to figure out the appropriate mode based on the size. Raise an assertion error, if the type was not set. * genmodes.c (struct mode_data): Add field for the complex type of the given type. (blank_mode): Likewise. (make_complex_modes): Remember the complex mode created in the base type. (emit_mode_complex): Write out the mode_complex array to map a type mode to the complex version. (emit_insn_modes_c): Likewise. * tree.c (build_complex_type): Set the complex type to use before calling layout_type. * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Add support for __float128 complex datatypes. (rs6000_hard_regno_mode_ok): Likewise. (rs6000_setup_reg_addr_masks): Likewise. (rs6000_complex_function_value): Likewise. * config/rs6000/rs6000.h (FLOAT128_IEEE_P): Likewise. __float128 and __ibm128 complex. (FLOAT128_IBM_P): Likewise. (ALTIVEC_ARG_MAX_RETURN): Likewise. * doc/extend.texi (Additional Floating Types): Document that -mfloat128 must be used to enable __float128. Document complex __float128 and __ibm128 support. [gcc/fortran] 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> * trans-types.c (gfc_build_complex_type): [gcc/testsuite] 2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/float128-complex-1.c: New tests for complex __float128. * gcc.target/powerpc/float128-complex-2.c: Likewise. From-SVN: r235794
2016-05-03 01:23:45 +02:00
2016-05-02 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/float128-complex-1.c: New tests for complex
__float128.
* gcc.target/powerpc/float128-complex-2.c: Likewise.
2016-05-02 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/70520
* c-c++-common/asan/clone-test-1.c (main): Align child process
stack to 16 bytes.
2016-05-02 David Malcolm <dmalcolm@redhat.com>
PR c++/62314
* g++.dg/spellcheck-fields-2.C: New test case.
2016-05-02 David Malcolm <dmalcolm@redhat.com>
PR c++/62314
* g++.dg/pr62314.C: New test case.
2016-05-02 Jan Hubicka <hubicka@ucw.cz>
* gcc.dg/ipa/inline-8.c: New testcase.
2016-05-02 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70467
* gcc.target/i386/pr70467-1.c: New test.
2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.dg/spec-options.c: Run the test on all targets.
* gcc.dg/foo.specs: Use cpp_unique_options.
2016-05-02 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/unord.c: New testcase.
2016-05-02 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/20040305-1.c: Adjust.
2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
* c-c++-common/goacc/loop-auto-1.c: Adjust expected warnings.
2016-05-02 Marek Polacek <polacek@redhat.com>
PR c/70851
* gcc.dg/enum-incomplete-3.c: New test.
2016-05-02 Marek Polacek <polacek@redhat.com>
Tom de Vries <tom@codesourcery.com>
PR tree-optimization/70700
* gcc.dg/pr70700.c: New test.
2016-05-01 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/avx256-unaligned-load-1.c: Update scan strings.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-4.c: Ditto.
2016-04-30 Eric Botcazou <ebotcazou@adacore.com>
* ada/acats/run_acats: Rename into...
* ada/acats/run_acats.sh: ...this. Only export BASE variable.
* ada/acats/run_all.sh: Remove redundant test.
(target_run): Move around.
(target_gnatchop): Use newly built executable.
(target_gnatmake): Likewise.
Check that the compilation of impbit succeeds.
thunk3.C: Remove SH5 checks. testsuite/ * g++.old-deja/g++.jason/thunk3.C: Remove SH5 checks. * gcc.dg/20021029-1.c: Likewise. * gcc.target/sh/attr-isr-trap_exit.c: Likewise. * gcc.target/sh/attr-isr-trapa.c: Likewise. * gcc.target/sh/cmpstr.c: Likewise. * gcc.target/sh/cmpstrn.c: Likewise. * gcc.target/sh/memset.c: Likewise. * gcc.target/sh/pr21255-2-mb.c: Likewise. * gcc.target/sh/pr21255-2-ml.c: Likewise. * gcc.target/sh/pr39423-1.c: Likewise. * gcc.target/sh/pr49468-di.c: Likewise. * gcc.target/sh/pr49468-si.c: Likewise. * gcc.target/sh/pr49880-1.c: Likewise. * gcc.target/sh/pr49880-2.c: Likewise. * gcc.target/sh/pr49880-3.c: Likewise. * gcc.target/sh/pr50751-1.c: Likewise. * gcc.target/sh/pr50751-4.c: Likewise. * gcc.target/sh/pr50751-7.c: Likewise. * gcc.target/sh/pr51244-1.c: Likewise. * gcc.target/sh/pr51244-10.c: Likewise. * gcc.target/sh/pr51244-11.c: Likewise. * gcc.target/sh/pr51244-12.c: Likewise. * gcc.target/sh/pr51244-13.c: Likewise. * gcc.target/sh/pr51244-14.c: Likewise. * gcc.target/sh/pr51244-17.c: Likewise. * gcc.target/sh/pr51244-18.c: Likewise. * gcc.target/sh/pr51244-19.c: Likewise. * gcc.target/sh/pr51244-4.c: Likewise. * gcc.target/sh/pr51244-5.c: Likewise. * gcc.target/sh/pr51244-7.c: Likewise. * gcc.target/sh/pr51244-8.c: Likewise. * gcc.target/sh/pr51244-9.c: Likewise. * gcc.target/sh/pr51697.c: Likewise. * gcc.target/sh/pr52483-1.c: Likewise. * gcc.target/sh/pr52483-2.c: Likewise. * gcc.target/sh/pr52483-3.c: Likewise. * gcc.target/sh/pr52483-5.c: Likewise. * gcc.target/sh/pr52933-1.c: Likewise. * gcc.target/sh/pr52933-2.c: Likewise. * gcc.target/sh/pr52933-3.c: Likewise. * gcc.target/sh/pr53568-1.c: Likewise. * gcc.target/sh/pr53976-1.c: Likewise. * gcc.target/sh/pr53988-1.c: Likewise. * gcc.target/sh/pr53988.c: Likewise. * gcc.target/sh/pr54089-1.c: Likewise. * gcc.target/sh/pr54089-6.c: Likewise. * gcc.target/sh/pr54089-7.c: Likewise. * gcc.target/sh/pr54089-8.c: Likewise. * gcc.target/sh/pr54089-9.c: Likewise. * gcc.target/sh/pr54236-1.c: Likewise. * gcc.target/sh/pr54236-2.c: Likewise. * gcc.target/sh/pr54236-3.c: Likewise. * gcc.target/sh/pr54236-4.c: Likewise. * gcc.target/sh/pr54386.c: Likewise. * gcc.target/sh/pr54602-1.c: Likewise. * gcc.target/sh/pr54685.c: Likewise. * gcc.target/sh/pr54760-1.c: Likewise. * gcc.target/sh/pr54760-2.c: Likewise. * gcc.target/sh/pr54760-3.c: Likewise. * gcc.target/sh/pr54760-4.c: Likewise. * gcc.target/sh/pr54760-5.c: Likewise. * gcc.target/sh/pr54760-6.c: Likewise. * gcc.target/sh/pr55146.c: Likewise. * gcc.target/sh/pr55160.c: Likewise. * gcc.target/sh/pr59278.c: Likewise. * gcc.target/sh/pr59401-1.c: Likewise. * gcc.target/sh/pr59533-1.c: Likewise. * gcc.target/sh/pr63260.c: Likewise. * gcc.target/sh/pragma-isr-trap-exit.c: Likewise. * gcc.target/sh/pragma-isr-trapa.c: Likewise. * gcc.target/sh/strlen.c: Likewise. * gcc.target/sh/torture/pr30807.c: Likewise. * gcc.target/sh/torture/pr34777.c: Likewise. * gcc.target/sh/torture/pr64652.c: Likewise. * gcc.target/sh/torture/pr65505.c: Likewise. * gcc.target/sh/torture/pragma-isr.c: Likewise. * gcc.target/sh/torture/pragma-isr2.c: Likewise. From-SVN: r235673
2016-04-30 03:56:55 +02:00
2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
* g++.old-deja/g++.jason/thunk3.C: Remove SH5 checks.
* gcc.dg/20021029-1.c: Likewise.
* gcc.target/sh/attr-isr-trap_exit.c: Likewise.
* gcc.target/sh/attr-isr-trapa.c: Likewise.
* gcc.target/sh/cmpstr.c: Likewise.
* gcc.target/sh/cmpstrn.c: Likewise.
* gcc.target/sh/memset.c: Likewise.
* gcc.target/sh/pr21255-2-mb.c: Likewise.
* gcc.target/sh/pr21255-2-ml.c: Likewise.
* gcc.target/sh/pr39423-1.c: Likewise.
* gcc.target/sh/pr49468-di.c: Likewise.
* gcc.target/sh/pr49468-si.c: Likewise.
* gcc.target/sh/pr49880-1.c: Likewise.
* gcc.target/sh/pr49880-2.c: Likewise.
* gcc.target/sh/pr49880-3.c: Likewise.
* gcc.target/sh/pr50751-1.c: Likewise.
* gcc.target/sh/pr50751-4.c: Likewise.
* gcc.target/sh/pr50751-7.c: Likewise.
* gcc.target/sh/pr51244-1.c: Likewise.
* gcc.target/sh/pr51244-10.c: Likewise.
* gcc.target/sh/pr51244-11.c: Likewise.
* gcc.target/sh/pr51244-12.c: Likewise.
* gcc.target/sh/pr51244-13.c: Likewise.
* gcc.target/sh/pr51244-14.c: Likewise.
* gcc.target/sh/pr51244-17.c: Likewise.
* gcc.target/sh/pr51244-18.c: Likewise.
* gcc.target/sh/pr51244-19.c: Likewise.
* gcc.target/sh/pr51244-4.c: Likewise.
* gcc.target/sh/pr51244-5.c: Likewise.
* gcc.target/sh/pr51244-7.c: Likewise.
* gcc.target/sh/pr51244-8.c: Likewise.
* gcc.target/sh/pr51244-9.c: Likewise.
* gcc.target/sh/pr51697.c: Likewise.
* gcc.target/sh/pr52483-1.c: Likewise.
* gcc.target/sh/pr52483-2.c: Likewise.
* gcc.target/sh/pr52483-3.c: Likewise.
* gcc.target/sh/pr52483-5.c: Likewise.
* gcc.target/sh/pr52933-1.c: Likewise.
* gcc.target/sh/pr52933-2.c: Likewise.
* gcc.target/sh/pr52933-3.c: Likewise.
* gcc.target/sh/pr53568-1.c: Likewise.
* gcc.target/sh/pr53976-1.c: Likewise.
* gcc.target/sh/pr53988-1.c: Likewise.
* gcc.target/sh/pr53988.c: Likewise.
* gcc.target/sh/pr54089-1.c: Likewise.
* gcc.target/sh/pr54089-6.c: Likewise.
* gcc.target/sh/pr54089-7.c: Likewise.
* gcc.target/sh/pr54089-8.c: Likewise.
* gcc.target/sh/pr54089-9.c: Likewise.
* gcc.target/sh/pr54236-1.c: Likewise.
* gcc.target/sh/pr54236-2.c: Likewise.
* gcc.target/sh/pr54236-3.c: Likewise.
* gcc.target/sh/pr54236-4.c: Likewise.
* gcc.target/sh/pr54386.c: Likewise.
* gcc.target/sh/pr54602-1.c: Likewise.
* gcc.target/sh/pr54685.c: Likewise.
* gcc.target/sh/pr54760-1.c: Likewise.
* gcc.target/sh/pr54760-2.c: Likewise.
* gcc.target/sh/pr54760-3.c: Likewise.
* gcc.target/sh/pr54760-4.c: Likewise.
* gcc.target/sh/pr54760-5.c: Likewise.
* gcc.target/sh/pr54760-6.c: Likewise.
* gcc.target/sh/pr55146.c: Likewise.
* gcc.target/sh/pr55160.c: Likewise.
* gcc.target/sh/pr59278.c: Likewise.
* gcc.target/sh/pr59401-1.c: Likewise.
* gcc.target/sh/pr59533-1.c: Likewise.
* gcc.target/sh/pr63260.c: Likewise.
* gcc.target/sh/pragma-isr-trap-exit.c: Likewise.
* gcc.target/sh/pragma-isr-trapa.c: Likewise.
* gcc.target/sh/strlen.c: Likewise.
* gcc.target/sh/torture/pr30807.c: Likewise.
* gcc.target/sh/torture/pr34777.c: Likewise.
* gcc.target/sh/torture/pr64652.c: Likewise.
* gcc.target/sh/torture/pr65505.c: Likewise.
* gcc.target/sh/torture/pragma-isr.c: Likewise.
* gcc.target/sh/torture/pragma-isr2.c: Likewise.
2016-04-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/66644
* g++.dg/cpp0x/nsdmi-anon-struct1.C: New.
altivec.h: Change definitions of vec_xl and vec_xst. [gcc] 2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.h: Change definitions of vec_xl and vec_xst. * config/rs6000/rs6000-builtin.def (LD_ELEMREV_V2DF): New. (LD_ELEMREV_V2DI): New. (LD_ELEMREV_V4SF): New. (LD_ELEMREV_V4SI): New. (LD_ELEMREV_V8HI): New. (LD_ELEMREV_V16QI): New. (ST_ELEMREV_V2DF): New. (ST_ELEMREV_V2DI): New. (ST_ELEMREV_V4SF): New. (ST_ELEMREV_V4SI): New. (ST_ELEMREV_V8HI): New. (ST_ELEMREV_V16QI): New. (XL): New. (XST): New. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add descriptions for VSX_BUILTIN_VEC_XL and VSX_BUILTIN_VEC_XST. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Map from TARGET_P9_VECTOR to RS6000_BTM_P9_VECTOR. (altivec_expand_builtin): Add handling for VSX_BUILTIN_ST_ELEMREV_<MODE> and VSX_BUILTIN_LD_ELEMREV_<MODE>. (rs6000_invalid_builtin): Add error-checking for RS6000_BTM_P9_VECTOR. (altivec_init_builtins): Define builtins used to implement vec_xl and vec_xst. (rs6000_builtin_mask_names): Define power9-vector. * config/rs6000/rs6000.h (MASK_P9_VECTOR): Define. (RS6000_BTM_P9_VECTOR): Define. (RS6000_BTM_COMMON): Include RS6000_BTM_P9_VECTOR. * config/rs6000/vsx.md (vsx_ld_elemrev_v2di): New define_insn. (vsx_ld_elemrev_v2df): Likewise. (vsx_ld_elemrev_v4sf): Likewise. (vsx_ld_elemrev_v4si): Likewise. (vsx_ld_elemrev_v8hi): Likewise. (vsx_ld_elemrev_v16qi): Likewise. (vsx_st_elemrev_v2df): Likewise. (vsx_st_elemrev_v2di): Likewise. (vsx_st_elemrev_v4sf): Likewise. (vsx_st_elemrev_v4si): Likewise. (vsx_st_elemrev_v8hi): Likewise. (vsx_st_elemrev_v16qi): Likewise. * doc/extend.texi: Add prototypes for vec_xl and vec_xst. Correct grammar. [gcc/testsuite] 2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/vsx-elemrev-1.c: New. * gcc.target/powerpc/vsx-elemrev-2.c: New. * gcc.target/powerpc/vsx-elemrev-3.c: New. * gcc.target/powerpc/vsx-elemrev-4.c: New. From-SVN: r235654
2016-04-29 22:57:14 +02:00
2016-04-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vsx-elemrev-1.c: New.
* gcc.target/powerpc/vsx-elemrev-2.c: New.
* gcc.target/powerpc/vsx-elemrev-3.c: New.
* gcc.target/powerpc/vsx-elemrev-4.c: New.
2016-04-29 Patrick Palka <ppalka@gcc.gnu.org>
* gcc.dg/tree-ssa/ssa-thread-14.c: New test.
* gcc.dg/tree-ssa/ssa-thread-11.c: Update expected output.
2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
PR middle-end/70626
* c-c++-common/goacc/combined-reduction.c: New test.
* gfortran.dg/goacc/reduction-2.f95: Add check for kernels reductions.
2016-04-29 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pr70155-1.c: Check for nonexistence of the
*movdi_internal pattern only if PIC off.
* gcc.target/i386/pr70155-2.c: Likewise.
* gcc.target/i386/pr70155-3.c: Likewise.
* gcc.target/i386/pr70155-4.c: Likewise.
* gcc.target/i386/pr70155-5.c: Likewise.
* gcc.target/i386/pr70155-6.c: Likewise.
* gcc.target/i386/pr70155-7.c: Likewise.
* gcc.target/i386/pr70155-8.c: Likewise.
* gcc.target/i386/pr70155-15.c: Likewise.
* gcc.target/i386/pr70155-17.c: Likewise.
* gcc.target/i386/pr70155-22.c: Likewise.
2016-04-29 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/70803
* gcc.dg/vect/pr56625.c: Require vect_int_mult.
2016-04-29 Ilya Enkovich <ilya.enkovich@intel.com>
* gcc.target/i386/vect-unpack-2.c (avx512bw_test): Avoid
optimization of vector loop.
* gcc.target/i386/vect-unpack-3.c: New test.
* gcc.dg/vect/vect-nb-iter-ub-1.c: New test.
* gcc.dg/vect/vect-nb-iter-ub-2.c: New test.
* gcc.dg/vect/vect-nb-iter-ub-3.c: New test.
2016-04-29 Marek Polacek <polacek@redhat.com>
PR sanitizer/70342
* g++.dg/ubsan/null-7.C: New test.
PR c/70852
* gcc.dg/pr70852.c: New test.
2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR/69089
* g++.dg/cpp0x/alignas6.C: New test.
2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.dg/cpp/mac-dir-2.c: Remove pointless duplicate dg-do.
* gcc.dg/pr27003.c: Likewise.
* gcc.dg/tree-ssa/cswtch.c: Likewise.
* gcc.dg/tree-ssa/predcom-2.c: Likewise.
* gcc.dg/tree-ssa/predcom-4.c: Likewise.
* gcc.dg/tree-ssa/predcom-5.c: Likewise.
* gcc.target/arc/mxy.c: Likewise.
* gcc.target/arc/mswape.c: Likewise.
* gcc.target/arc/mrtsc.c: Likewise.
* gcc.target/arc/mcrc.c: Likewise.
* gcc.target/arc/mdsp-packa.c: Likewise.
* gcc.target/arc/mdvbf.c: Likewise.
* gcc.target/arc/mlock.c: Likewise.
* gcc.target/arc/mmac-24.c: Likewise.
* gcc.dg/spec-options.c: Switch order of the two "dg-do run".
2016-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de>
Matthijs Kooijman <matthijs@stdin.nl>
Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
PR target/60040
* gcc.target/avr/pr60040-1.c: New.
* gcc.target/avr/pr60040-2.c: New.
2016-04-29 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/pr18589-10.c: Adjust.
2016-04-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/13962
PR tree-optimization/65686
* gcc.dg/uninit-pr65686.c: New testcase.
2016-04-29 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70843
* gcc.dg/pr70843.c: New test.
2016-04-28 Jakub Jelinek <jakub@redhat.com>
PR target/70858
* gcc.target/i386/pr70858.c: New test.
2016-04-28 Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/nps400-1.c: New file.
2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/movh_cl-1.c: New file.
arc.h (SYMBOL_FLAG_CMEM): Define. 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com> Andrew Burgess <andrew.burgess@embecosm.com> gcc: * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define. (TARGET_NPS_CMEM_DEFAULT): Provide default definition. * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address. (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated. * config/arc/arc.opt (mcmem): New option. * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative, supply length for r/m alternative. (*extendqisi2_ac): Likewise. (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and r/Uex alternative. (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives. (movhi_insn): Likewise. (movsi_insn): Add r/Ucm,Ucm/w alternatives. (*zero_extendqihi2_i): Add r/Ucm alternative. (*zero_extendqisi2_ac): Likewise. (*zero_extendhisi2_i): Likewise. * config/arc/constraints.md (Uex): New memory constraint. (Ucm): New define_constraint. * config/arc/predicates.md (long_immediate_loadstore_operand): Return 0 for MEM with cmem_address address. (cmem_address_0): New predicates. (cmem_address_1): Likewise. (cmem_address_2): Likewise. (cmem_address): Likewise. gcc/testsuite: * gcc.target/arc/cmem-1.c: New file. * gcc.target/arc/cmem-2.c: New file. * gcc.target/arc/cmem-3.c: New file. * gcc.target/arc/cmem-4.c: New file. * gcc.target/arc/cmem-5.c: New file. * gcc.target/arc/cmem-6.c: New file. * gcc.target/arc/cmem-7.c: New file. * gcc.target/arc/cmem-ld.inc: New file. * gcc.target/arc/cmem-st.inc: New file. Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com> From-SVN: r235595
2016-04-28 20:48:43 +02:00
2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/extzv-1.c: New file.
* gcc.target/arc/insv-1.c: New file.
* gcc.target/arc/insv-2.c: New file.
* gcc.target/arc/movb-1.c: New file.
* gcc.target/arc/movb-2.c: New file.
* gcc.target/arc/movb-3.c: New file.
* gcc.target/arc/movb-4.c: New file.
* gcc.target/arc/movb-5.c: New file.
* gcc.target/arc/movb_cl-1.c: New file.
* gcc.target/arc/movb_cl-2.c: New file.
* gcc.target/arc/movbi_cl-1.c: New file.
* gcc.target/arc/movl-1.c: New file.
arc.h (SYMBOL_FLAG_CMEM): Define. 2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com> Andrew Burgess <andrew.burgess@embecosm.com> gcc: * config/arc/arc.h (SYMBOL_FLAG_CMEM): Define. (TARGET_NPS_CMEM_DEFAULT): Provide default definition. * config/arc/arc.c (arc_address_cost): Return 0 for cmem_address. (arc_encode_section_info): Set SYMBOL_FLAG_CMEM where indicated. * config/arc/arc.opt (mcmem): New option. * config/arc/arc.md (*extendqihi2_i): Add r/Uex alternative, supply length for r/m alternative. (*extendqisi2_ac): Likewise. (*extendhisi2_i): Add r/Uex alternative, supply length for r/m and r/Uex alternative. (movqi_insn): Add r/Ucm and Ucm/?Rac alternatives. (movhi_insn): Likewise. (movsi_insn): Add r/Ucm,Ucm/w alternatives. (*zero_extendqihi2_i): Add r/Ucm alternative. (*zero_extendqisi2_ac): Likewise. (*zero_extendhisi2_i): Likewise. * config/arc/constraints.md (Uex): New memory constraint. (Ucm): New define_constraint. * config/arc/predicates.md (long_immediate_loadstore_operand): Return 0 for MEM with cmem_address address. (cmem_address_0): New predicates. (cmem_address_1): Likewise. (cmem_address_2): Likewise. (cmem_address): Likewise. gcc/testsuite: * gcc.target/arc/cmem-1.c: New file. * gcc.target/arc/cmem-2.c: New file. * gcc.target/arc/cmem-3.c: New file. * gcc.target/arc/cmem-4.c: New file. * gcc.target/arc/cmem-5.c: New file. * gcc.target/arc/cmem-6.c: New file. * gcc.target/arc/cmem-7.c: New file. * gcc.target/arc/cmem-ld.inc: New file. * gcc.target/arc/cmem-st.inc: New file. Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com> From-SVN: r235590
2016-04-28 20:21:42 +02:00
2016-04-28 Joern Rennecke <joern.rennecke@embecosm.com>
Andrew Burgess <andrew.burgess@embecosm.com>
* gcc.target/arc/cmem-1.c: New file.
* gcc.target/arc/cmem-2.c: New file.
* gcc.target/arc/cmem-3.c: New file.
* gcc.target/arc/cmem-4.c: New file.
* gcc.target/arc/cmem-5.c: New file.
* gcc.target/arc/cmem-6.c: New file.
* gcc.target/arc/cmem-7.c: New file.
* gcc.target/arc/cmem-ld.inc: New file.
* gcc.target/arc/cmem-st.inc: New file.
2016-04-28 Jakub Jelinek <jakub@redhat.com>
PR target/70821
* gcc.target/i386/pr70821.c: New test.
This patch adds support for the signed and unsigned int versions of the... This patch adds support for the signed and unsigned int versions of the vec_adde altivec builtins from the Power Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July 2015 Version 1.1). There are many of the builtins that are missing and this is the first of a series of patches to add them. There aren't instructions for the int versions of vec_adde so the output code is built from other built-ins that do have instructions which in this case is just two vec_adds with a vec_and to ensure the carry vector is comprised of only the values 0 or 1. The new test cases are executable tests which verify that the generated code produces expected values. C macros were used so that the same test case could be used for both the signed and unsigned versions. An extra executable test case is also included to ensure that the modified support for the __int128 versions of vec_adde is not broken. The same test case could not be used for both int and __int128 because of some differences in loading and storing the vectors. Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. Is this ok for trunk? [gcc] 2016-04-28 Bill Seurer <seurer@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (vec_adde): Change vec_adde to a special case builtin. * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove ALTIVEC_BUILTIN_VEC_ADDE. * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add support for ALTIVEC_BUILTIN_VEC_ADDE. * config/rs6000/rs6000.c (altivec_init_builtins): Add definition for __builtin_vec_adde. [gcc/testsuite] 2016-04-28 Bill Seurer <seurer@linux.vnet.ibm.com> * gcc.target/powerpc/vec-adde.c: New test. * gcc.target/powerpc/vec-adde-int128.c: New test. From-SVN: r235577
2016-04-28 18:01:52 +02:00
2016-04-28 Bill Seurer <seurer@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-adde.c: New test.
* gcc.target/powerpc/vec-adde-int128.c: New test.
2016-04-28 Jakub Jelinek <jakub@redhat.com>
* gcc.target/i386/avx-vround-1.c: New test.
* gcc.target/i386/avx-vround-2.c: New test.
* gcc.target/i386/avx512vl-vround-1.c: New test.
* gcc.target/i386/avx512vl-vround-2.c: New test.
Cilk Plus testsuite needs massive cleanup (PR testsuite/70595) gcc: PR testsuite/70595 * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): Document cilkplus_runtime. gcc/testsuite: PR testsuite/70595 * lib/target-supports.exp (check_libcilkrts_available): Rename to ... (check_effective_target_cilkplus_runtime): ... this. * g++.dg/cilk-plus/cilk-plus.exp: Adapt to it. * gcc.dg/cilk-plus/cilk-plus.exp: Likewise. * c-c++-common/cilk-plus/CK/cilk-for-2.c: Remove dg-do target selector. Require cilkplus_runtime. Don't add -lcilkrts. * c-c++-common/cilk-plus/CK/cilk-fors.c: Likewise. * c-c++-common/cilk-plus/CK/cilk_for_grain.c: Likewise. * c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: Likewise. * c-c++-common/cilk-plus/CK/fib.c: Likewise. * c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise. * c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise. * c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise. * c-c++-common/cilk-plus/CK/nested_cilk_for.c: Likewise. * c-c++-common/cilk-plus/CK/pr60586.c: Likewise. * c-c++-common/cilk-plus/CK/pr69826-1.c: Likewise. * c-c++-common/cilk-plus/CK/pr69826-2.c: Likewise. * c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise. * c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise. * c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise. * c-c++-common/cilk-plus/CK/steal_check.c: Likewise. * c-c++-common/cilk-plus/CK/varargs_test.c: Likewise. * g++.dg/cilk-plus/CK/catch_exc.cc: Likewise. * g++.dg/cilk-plus/CK/cilk-for-tplt.cc: Likewise. * g++.dg/cilk-plus/CK/const_spawn.cc: Likewise. * g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise. * g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise. * g++.dg/cilk-plus/CK/for1.cc: Likewise. * g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise. * g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise. * g++.dg/cilk-plus/CK/pr60586.cc: Likewise. * g++.dg/cilk-plus/CK/pr66326.cc: Likewise. * g++.dg/cilk-plus/CK/stl_iter.cc: Likewise. * g++.dg/cilk-plus/CK/stl_rev_iter.cc: Likewise. * g++.dg/cilk-plus/CK/stl_test.cc: Likewise. * c-c++-common/cilk-plus/CK/pr63307.c: Remove dg-do target selector. * c-c++-common/cilk-plus/SE/ef_error3.c: Likewise. * c-c++-common/cilk-plus/SE/ef_error2.c: Explain target selector. * c-c++-common/cilk-plus/CK/test__cilk.c: Run if cilkplus_runtime. From-SVN: r235574
2016-04-28 17:16:57 +02:00
2016-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR testsuite/70595
* lib/target-supports.exp (check_libcilkrts_available): Rename to ...
(check_effective_target_cilkplus_runtime): ... this.
* g++.dg/cilk-plus/cilk-plus.exp: Adapt to it.
* gcc.dg/cilk-plus/cilk-plus.exp: Likewise.
* c-c++-common/cilk-plus/CK/cilk-for-2.c: Remove dg-do target selector.
Require cilkplus_runtime.
Don't add -lcilkrts.
* c-c++-common/cilk-plus/CK/cilk-fors.c: Likewise.
* c-c++-common/cilk-plus/CK/cilk_for_grain.c: Likewise.
* c-c++-common/cilk-plus/CK/cilk_for_ptr_iter.c: Likewise.
* c-c++-common/cilk-plus/CK/fib.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_init_expr_xy.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_return.c: Likewise.
* c-c++-common/cilk-plus/CK/fib_no_sync.c: Likewise.
* c-c++-common/cilk-plus/CK/nested_cilk_for.c: Likewise.
* c-c++-common/cilk-plus/CK/pr60586.c: Likewise.
* c-c++-common/cilk-plus/CK/pr69826-1.c: Likewise.
* c-c++-common/cilk-plus/CK/pr69826-2.c: Likewise.
* c-c++-common/cilk-plus/CK/spawnee_inline.c: Likewise.
* c-c++-common/cilk-plus/CK/spawner_inline.c: Likewise.
* c-c++-common/cilk-plus/CK/spawning_arg.c: Likewise.
* c-c++-common/cilk-plus/CK/steal_check.c: Likewise.
* c-c++-common/cilk-plus/CK/varargs_test.c: Likewise.
* g++.dg/cilk-plus/CK/catch_exc.cc: Likewise.
* g++.dg/cilk-plus/CK/cilk-for-tplt.cc: Likewise.
* g++.dg/cilk-plus/CK/const_spawn.cc: Likewise.
* g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise.
* g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise.
* g++.dg/cilk-plus/CK/for1.cc: Likewise.
* g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise.
* g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise.
* g++.dg/cilk-plus/CK/pr60586.cc: Likewise.
* g++.dg/cilk-plus/CK/pr66326.cc: Likewise.
* g++.dg/cilk-plus/CK/stl_iter.cc: Likewise.
* g++.dg/cilk-plus/CK/stl_rev_iter.cc: Likewise.
* g++.dg/cilk-plus/CK/stl_test.cc: Likewise.
* c-c++-common/cilk-plus/CK/pr63307.c: Remove dg-do target selector.
* c-c++-common/cilk-plus/SE/ef_error3.c: Likewise.
* c-c++-common/cilk-plus/SE/ef_error2.c: Explain target selector.
* c-c++-common/cilk-plus/CK/test__cilk.c: Run if
cilkplus_runtime.
2016-04-27 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/overflow-2.c: New testcase.
* gcc.dg/tree-ssa/minus-ovf.c: Likewise.
2015-04-27 Ryan Burn <contact@rnburn.com>
PR c++/69024
PR c++/68997
* g++.dg/cilk-plus/CK/pr68001.cc: Fix to not depend on broken
diagnostic.
* g++.dg/cilk-plus/CK/pr69024.cc: New test.
* g++.dg/cilk-plus/CK/pr68997.cc: New test.
sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged incomplete type without full view. * sem_aux.adb (Is_By_Reference_Type): Also return true for a tagged incomplete type without full view. * sem_ch6.adb (Exchange_Limited_Views): Change into a function and return the list of changes. (Restore_Limited_Views): New procedure to undo the transformation made by Exchange_Limited_Views. (Analyze_Subprogram_Body_Helper): Adjust call to Exchange_Limited_Views and call Restore_Limited_Views at the end, if need be. (Possible_Freeze): Do not delay freezing because of incomplete types. (Process_Formals): Remove kludges for class-wide types. * types.h (By_Copy_Return): Delete. * gcc-interface/ada-tree.h (TYPE_MAX_ALIGN): Move around. (TYPE_DUMMY_IN_PROFILE_P): New macro. * gcc-interface/gigi.h (update_profiles_with): Declare. (finish_subprog_decl): Likewise. (get_minimal_subprog_decl): Delete. (create_subprog_type): Likewise. (create_param_decl): Adjust prototype. (create_subprog_decl): Likewise. * gcc-interface/decl.c (defer_limited_with): Rename into... (defer_limited_with_list): ...this. (gnat_to_gnu_entity): Adjust to above renaming. (finalize_from_limited_with): Likewise. (tree_entity_vec_map): New structure. (gt_pch_nx): New helpers. (dummy_to_subprog_map): New hash table. (gnat_to_gnu_param): Set the SLOC here. Remove MECH parameter and add FIRST parameter. Deal with the mechanism here instead of... Do not make read-only variant of types. Simplify expressions. In the by-ref case, test the mechanism before must_pass_by_ref and also TYPE_IS_BY_REFERENCE_P before building the reference type. (gnat_to_gnu_subprog_type): New static function extracted from... Do not special-case the type_annotate_only mode. Call gnat_to_gnu_profile_type instead of gnat_to_gnu_type on return type. Deal with dummy return types. Likewise for parameter types. Deal with by-reference types explicitly and add a kludge for null procedures with untagged incomplete types. Remove assertion on the types and be prepared for multiple elaboration of the declarations. Skip the whole CICO processing if the profile is incomplete. Handle the completion of a previously incomplete profile. (gnat_to_gnu_entity) <E_Variable>: Rename local variable. Adjust couple of calls to create_param_decl. <E_Access_Subprogram_Type, E_Anonymous_Access_Subprogram_Type>: Remove specific deferring code. <E_Access_Type>: Also deal with E_Subprogram_Type designated type. Simplify handling of dummy types and remove obsolete comment. Constify a couple of variables. Do not set TYPE_UNIVERSAL_ALIASING_P on dummy types. <E_Access_Subtype>: Tweak comment and simplify condition. <E_Subprogram_Type>: ...here. Call it and clean up handling. Remove obsolete comment and adjust call to gnat_to_gnu_param. Adjust call to create_subprog_decl. <E_Incomplete_Type>: Add a couple of 'const' qualifiers and get rid of inner break statements. Tidy up condition guarding direct use of the full view. (get_minimal_subprog_decl): Delete. (finalize_from_limited_with): Call update_profiles_with on dummy types with TYPE_DUMMY_IN_PROFILE_P set. (is_from_limited_with_of_main): Delete. (associate_subprog_with_dummy_type): New function. (update_profile): Likewise. (update_profiles_with): Likewise. (gnat_to_gnu_profile_type): Likewise. (init_gnat_decl): Initialize dummy_to_subprog_map. (destroy_gnat_decl): Destroy dummy_to_subprog_map. * gcc-interface/misc.c (gnat_get_alias_set): Add guard for accessing TYPE_UNIVERSAL_ALIASING_P. (gnat_get_array_descr_info): Minor tweak. * gcc-interface/trans.c (gigi): Adjust calls to create_subprog_decl. (build_raise_check): Likewise. (Compilation_Unit_to_gnu): Likewise. (Identifier_to_gnu): Accept mismatches coming from a limited context. (Attribute_to_gnu): Remove kludge for dispatch table entities. (process_freeze_entity): Do not retrieve old definition if there is an address clause on the entity. Call update_profiles_with on dummy types with TYPE_DUMMY_IN_PROFILE_P set. * gcc-interface/utils.c (build_dummy_unc_pointer_types): Also set TYPE_REFERENCE_TO to the fat pointer type. (create_subprog_type): Delete. (create_param_decl): Remove READONLY parameter. (finish_subprog_decl): New function extracted from... (create_subprog_decl): ...here. Call it. Remove CONST_FLAG and VOLATILE_FLAG parameters and adjust. (update_pointer_to): Also clear TYPE_REFERENCE_TO in the unconstrained case. From-SVN: r235521
2016-04-27 20:08:39 +02:00
2016-04-27 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/limited_with4.ad[sb]: New test.
* gnat.dg/limited_with4_pkg.ads: New helper.
Extend STV pass to 64-bit mode 128-bit SSE load and store instructions can be used for load and store of 128-bit integers if they are the only operations on 128-bit integers. To convert load and store of 128-bit integers to 128-bit SSE load and store, the original STV pass, which is designed to convert 64-bit integer operations to SSE2 operations in 32-bit mode, is extended to 64-bit mode in the following ways: 1. Class scalar_chain is turned into base class. The 32-bit specific member functions are moved to the new derived class, dimode_scalar_chain. The new derived class, timode_scalar_chain, is added to convert oad and store of 128-bit integers to 128-bit SSE load and store. 2. Add the 64-bit version of scalar_to_vector_candidate_p and remove_non_convertible_regs. Only TImode load and store are allowed for conversion. If one instruction on the chain of dependent instructions aren't TImode load or store, the chain of instructions won't be converted. 3. In 64-bit, we only convert from TImode to V1TImode, which have the same size. The difference is only vector registers are allowed in TImode so that 128-bit SSE load and store instructions will be used for load and store of 128-bit integers. 4. Put the 64-bit STV pass before the CSE pass so that instructions changed or generated by the STV pass can be CSEed. convert_scalars_to_vector calls free_dominance_info in 64-bit mode to work around ICE in fwprop pass: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70807 when building libgcc on Linux/x86-64. gcc/ PR target/70155 * config/i386/i386.c (scalar_to_vector_candidate_p): Renamed to ... (dimode_scalar_to_vector_candidate_p): This. (timode_scalar_to_vector_candidate_p): New function. (scalar_to_vector_candidate_p): Likewise. (timode_check_non_convertible_regs): Likewise. (timode_remove_non_convertible_regs): Likewise. (remove_non_convertible_regs): Likewise. (remove_non_convertible_regs): Renamed to ... (dimode_remove_non_convertible_regs): This. (scalar_chain::~scalar_chain): Make it virtual. (scalar_chain::compute_convert_gain): Make it pure virtual. (scalar_chain::mark_dual_mode_def): Likewise. (scalar_chain::convert_insn): Likewise. (scalar_chain::convert_registers): Likewise. (scalar_chain::add_to_queue): Make it protected. (scalar_chain::emit_conversion_insns): Likewise. (scalar_chain::replace_with_subreg): Likewise. (scalar_chain::replace_with_subreg_in_insn): Likewise. (scalar_chain::convert_op): Likewise. (scalar_chain::convert_reg): Likewise. (scalar_chain::make_vector_copies): Likewise. (scalar_chain::convert_registers): New pure virtual function. (class dimode_scalar_chain): New class. (class timode_scalar_chain): Likewise. (scalar_chain::mark_dual_mode_def): Renamed to ... (dimode_scalar_chain::mark_dual_mode_def): This. (timode_scalar_chain::mark_dual_mode_def): New function. (timode_scalar_chain::convert_insn): Likewise. (dimode_scalar_chain::convert_registers): Likewise. (scalar_chain::compute_convert_gain): Renamed to ... (dimode_scalar_chain::compute_convert_gain): This. (scalar_chain::replace_with_subreg): Renamed to ... (dimode_scalar_chain::replace_with_subreg): This. (scalar_chain::replace_with_subreg_in_insn): Renamed to ... (dimode_scalar_chain::replace_with_subreg_in_insn): This. (scalar_chain::make_vector_copies): Renamed to ... (dimode_scalar_chain::make_vector_copies): This. (scalar_chain::convert_reg): Renamed to ... (dimode_scalar_chain::convert_reg ): This. (scalar_chain::convert_op): Renamed to ... (dimode_scalar_chain::convert_op): This. (scalar_chain::convert_insn): Renamed to ... (dimode_scalar_chain::convert_insn): This. (scalar_chain::convert): Call convert_registers. (convert_scalars_to_vector): Change to scalar_chain pointer to use timode_scalar_chain in 64-bit mode and dimode_scalar_chain in 32-bit mode. Delete scalar_chain pointer. Call free_dominance_info in 64-bit mode. (pass_stv::gate): Remove TARGET_64BIT check. (ix86_option_override): Put the 64-bit STV pass before the CSE pass. gcc/testsuite/ PR target/70155 * gcc.target/i386/pr55247-2.c: Updated to check movti_internal and movv1ti_internal patterns * gcc.target/i386/pr70155-1.c: New test. * gcc.target/i386/pr70155-2.c: Likewise. * gcc.target/i386/pr70155-3.c: Likewise. * gcc.target/i386/pr70155-4.c: Likewise. * gcc.target/i386/pr70155-5.c: Likewise. * gcc.target/i386/pr70155-6.c: Likewise. * gcc.target/i386/pr70155-7.c: Likewise. * gcc.target/i386/pr70155-8.c: Likewise. * gcc.target/i386/pr70155-9.c: Likewise. * gcc.target/i386/pr70155-10.c: Likewise. * gcc.target/i386/pr70155-11.c: Likewise. * gcc.target/i386/pr70155-12.c: Likewise. * gcc.target/i386/pr70155-13.c: Likewise. * gcc.target/i386/pr70155-14.c: Likewise. * gcc.target/i386/pr70155-15.c: Likewise. * gcc.target/i386/pr70155-16.c: Likewise. * gcc.target/i386/pr70155-17.c: Likewise. * gcc.target/i386/pr70155-18.c: Likewise. * gcc.target/i386/pr70155-19.c: Likewise. * gcc.target/i386/pr70155-20.c: Likewise. * gcc.target/i386/pr70155-21.c: Likewise. * gcc.target/i386/pr70155-22.c: Likewise. From-SVN: r235518
2016-04-27 19:32:40 +02:00
2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/70155
* gcc.target/i386/pr55247-2.c: Updated to check movti_internal
and movv1ti_internal patterns
* gcc.target/i386/pr70155-1.c: New test.
* gcc.target/i386/pr70155-2.c: Likewise.
* gcc.target/i386/pr70155-3.c: Likewise.
* gcc.target/i386/pr70155-4.c: Likewise.
* gcc.target/i386/pr70155-5.c: Likewise.
* gcc.target/i386/pr70155-6.c: Likewise.
* gcc.target/i386/pr70155-7.c: Likewise.
* gcc.target/i386/pr70155-8.c: Likewise.
* gcc.target/i386/pr70155-9.c: Likewise.
* gcc.target/i386/pr70155-10.c: Likewise.
* gcc.target/i386/pr70155-11.c: Likewise.
* gcc.target/i386/pr70155-12.c: Likewise.
* gcc.target/i386/pr70155-13.c: Likewise.
* gcc.target/i386/pr70155-14.c: Likewise.
* gcc.target/i386/pr70155-15.c: Likewise.
* gcc.target/i386/pr70155-16.c: Likewise.
* gcc.target/i386/pr70155-17.c: Likewise.
* gcc.target/i386/pr70155-18.c: Likewise.
* gcc.target/i386/pr70155-19.c: Likewise.
* gcc.target/i386/pr70155-20.c: Likewise.
* gcc.target/i386/pr70155-21.c: Likewise.
* gcc.target/i386/pr70155-22.c: Likewise.
2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Replace ".{5}" with
".{5,6}".
tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use instead of redundant use_id and boolean have_use_for. * tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use instead of redundant use_id and boolean have_use_for. (struct iv_use): Change sub_id into group_id. Remove field next. Move fields: related_cands, n_map_members, cost_map and selected to ... (struct iv_group): ... here. New structure. (struct iv_common_cand): Use structure declaration directly. (struct ivopts_data, iv_ca, iv_ca_delta): Rename fields. (MAX_CONSIDERED_USES): Rename macro to ... (MAX_CONSIDERED_GROUPS): ... here. (n_iv_uses, iv_use, n_iv_cands, iv_cand): Delete. (dump_iv, dump_use, dump_cand): Refactor format of dump information. (dump_uses): Rename to ... (dump_groups): ... here. Update all uses. (tree_ssa_iv_optimize_init, alloc_iv): Update all uses. (find_induction_variables): Refactor format of dump information. (record_sub_use): Delete. (record_use): Update all uses. (record_group): New function. (record_group_use, find_interesting_uses_op): Call above functions. Update all uses. (find_interesting_uses_cond): Ditto. (group_compare_offset): New function. (split_all_small_groups): Rename to ... (split_small_address_groups_p): ... here. Update all uses. (split_address_groups): Update all uses. (find_interesting_uses): Refactor format of dump information. (add_candidate_1): Update all uses. Remove redundant check on iv, base and step. (add_candidate, record_common_cand): Remove redundant assert. (add_iv_candidate_for_biv): Update use. (add_iv_candidate_derived_from_uses): Update all uses. (add_iv_candidate_for_groups, record_important_candidates): Ditto. (alloc_use_cost_map): Ditto. (set_use_iv_cost, get_use_iv_cost): Rename to ... (set_group_iv_cost, get_group_iv_cost): ... here. Update all uses. (determine_use_iv_cost_generic): Ditto. (determine_group_iv_cost_generic): Ditto. (determine_use_iv_cost_address): Ditto. (determine_group_iv_cost_address): Ditto. (determine_use_iv_cost_condition): Ditto. (determine_group_iv_cost_cond): Ditto. (determine_use_iv_cost): Ditto. (determine_group_iv_cost): Ditto. (set_autoinc_for_original_candidates): Update all uses. (find_iv_candidates): Update all uses. Refactor dump information. (determine_use_iv_costs): Ditto. (determine_iv_costs): Ditto. (iv_ca_cand_for_use): Rename to ... (iv_ca_cand_for_group): ... here. Update all uses. (iv_ca_add_use, iv_ca_add_group): Ditto. (iv_ca_set_cp, iv_ca_cost, iv_ca_delta_add): Update all uses. (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_delta_free): Ditto. (iv_ca_new, iv_ca_dump, iv_ca_extend, iv_ca_narrow): Ditto. (iv_ca_prune, cheaper_cost_with_cand, iv_ca_replace): Ditto. (try_add_cand_for, try_improve_iv_set, find_optimal_iv_set): Ditto. (create_new_iv, adjust_iv_update_pos): Ditto. (rewrite_use_address): Delete. (rewrite_use_address_1): Rename to ... (rewrite_use_address): ... here. (rewrite_use_compare): Update all uses. (rewrite_use): Delete. (rewrite_uses): Rename to ... (rewrite_groups): ... here. Update all uses. (remove_unused_ivs, free_loop_data): Update all uses. (tree_ssa_iv_optimize_finalize, tree_ssa_iv_optimize_loop): Ditto. gcc/testsuite/ChangeLog * gcc.dg/tree-ssa/pr64705.c: Revise check string. * gcc.dg/tree-ssa/scev-9.c: Ditto. * gcc.dg/tree-ssa/scev-10.c: Ditto. * gcc.dg/tree-ssa/scev-11.c: Ditto. * gcc.dg/tree-ssa/scev-12.c: Ditto. From-SVN: r235513
2016-04-27 16:51:26 +02:00
2016-04-27 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/pr64705.c: Revise check string.
* gcc.dg/tree-ssa/scev-9.c: Ditto.
* gcc.dg/tree-ssa/scev-10.c: Ditto.
* gcc.dg/tree-ssa/scev-11.c: Ditto.
* gcc.dg/tree-ssa/scev-12.c: Ditto.
2016-04-27 Richard Biener <rguenther@suse.de>
PR ipa/70760
* g++.dg/ipa/ipa-pta-2.C: New testcase.
* gcc.dg/ipa/ipa-pta-1.c: Adjust.
2016-04-27 Nathan Sidwell <nathan@acm.org>
* g++.dg/cpp0x/constexpr-recursion3.C: New.
* g++.dg/ubsan/pr63956.C: Adjust error location.
2016-04-27 Nick Clifton <nickc@redhat.com>
PR middle-end/49889
* gcc.dg/pr49889.c: New test.
2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
* c-c++-common/memset-array.c: New test.
2016-04-26 Martin Sebor <msebor@redhat.com>
PR c++/66639
* g++.dg/cpp1y/func_constexpr.C: New test.
2016-04-26 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70241
* g++.dg/cpp0x/enum32.C: New test.
* g++.dg/cpp0x/enum33.C: New test.
2016-04-26 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/compile/pr69102.c: Require scheduling support.
* gcc.c-torture/compile/pr37669.c: Require >=32 bit integers.
* gcc.c-torture/execute/bitfld-6.c: Likewise.
* gcc.c-torture/execute/bitfld-7.c: Likewise.
* gcc.c-torture/execute/pr38151.c: Likewise.
* gcc.c-torture/execute/pr66556.c: Likewise.
* gcc.c-torture/execute/pr67781.c: Likewise.
* gcc.c-torture/execute/pr68648.c: Likewise.
2016-04-26 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/overflow-1.c: New testcase.
2016-04-26 Marek Polacek <polacek@redhat.com>
PR c/67784
* gcc.dg/pr67784-3.c: New test.
* gcc.dg/pr67784-4.c: New test.
* gcc.dg/pr67784-5.c: New test.
PR c/70791
* gcc.dg/Wnested-externs-2.c: New test.
2016-04-26 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/fold-plusmult.c: Adjust.
* gcc.dg/no-strict-overflow-6.c: Adjust.
* gcc.dg/gomp/loop-1.c: Xfail some tests.
2016-04-26 Bernd Schmidt <bschmidt@redhat.com>
* gcc.target/i386/avx512bw-vptestmb-1.c: Correct [xyz]mm register
number scans.
* gcc.target/i386/avx512bw-vptestmw-1.c: Likewise.
* gcc.target/i386/avx512bw-vptestnmb-1.c: Likewise.
* gcc.target/i386/avx512bw-vptestnmw-1.c: Likewise.
* gcc.target/i386/avx512cd-vpbroadcastmb2q-1.c: Likewise.
* gcc.target/i386/avx512cd-vpbroadcastmw2d-1.c: Likewise.
* gcc.target/i386/avx512dq-vfpclasspd-1.c: Likewise.
* gcc.target/i386/avx512dq-vfpclassps-1.c: Likewise.
* gcc.target/i386/avx512dq-vinsertf64x2-1.c: Likewise.
* gcc.target/i386/avx512dq-vinserti64x2-1.c: Likewise.
* gcc.target/i386/avx512f-gather-5.c: Likewise.
* gcc.target/i386/avx512f-vptestmd-1.c: Likewise.
* gcc.target/i386/avx512f-vptestmq-1.c: Likewise.
* gcc.target/i386/avx512f-vptestnmd-1.c: Likewise.
* gcc.target/i386/avx512f-vptestnmq-1.c: Likewise.
* gcc.target/i386/avx512f-vrndscaleps-1.c: Likewise.
* gcc.target/i386/avx512vl-vpbroadcastmb2q-1.c: Likewise.
* gcc.target/i386/avx512vl-vpbroadcastmw2d-1.c: Likewise.
* gcc.target/i386/avx512vl-vptestmd-1.c: Likewise.
* gcc.target/i386/avx512vl-vptestmq-1.c: Likewise.
* gcc.target/i386/avx512vl-vptestnmd-1.c: Likewise.
* gcc.target/i386/avx512vl-vptestnmq-1.c: Likewise.
* gcc.target/i386/pr32219-2.c: Allow registers other than %eax in
scans.
* gcc.target/i386/pr32219-4.c: Likewise.
* gcc.target/i386/pr32219-6.c: Likewise.
* gcc.target/i386/pr32219-8.c: Likewise.
2016-04-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.dg/tree-ssa/minmax-2.c: Require c99_runtime and add the
associated options.
Bootstrapped/regtested on x86_64-linux, ok for trunk? 2016-04-25 Marek Polacek <polacek@redhat.com> PR c++/70744 * call.c (build_conditional_expr_1): Call cp_stabilize_reference instead of stabilize_reference. (build_over_call): Likewise. * cp-tree.h (cp_stabilize_reference): Declare. * tree.c (cp_stabilize_reference): New function. * typeck.c (cp_build_unary_op): Call cp_stabilize_reference instead of stabilize_reference. (unary_complex_lvalue): Likewise. (cp_build_modify_expr): Likewise. * g++.dg/ext/cond2.C: New test. diff --git gcc/cp/call.c gcc/cp/call.c index 11f2d42..476e806 100644 --- gcc/cp/call.c +++ gcc/cp/call.c @@ -4634,7 +4634,7 @@ build_conditional_expr_1 (location_t loc, tree arg1, tree arg2, tree arg3, /* Make sure that lvalues remain lvalues. See g++.oliva/ext1.C. */ if (real_lvalue_p (arg1)) - arg2 = arg1 = stabilize_reference (arg1); + arg2 = arg1 = cp_stabilize_reference (arg1); else arg2 = arg1 = save_expr (arg1); } @@ -7644,8 +7644,9 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) || (TREE_CODE (arg) == TARGET_EXPR && !unsafe_copy_elision_p (fa, arg))) { - tree to = stabilize_reference (cp_build_indirect_ref (fa, RO_NULL, - complain)); + tree to = cp_stabilize_reference (cp_build_indirect_ref (fa, + RO_NULL, + complain)); val = build2 (INIT_EXPR, DECL_CONTEXT (fn), to, arg); return val; @@ -7655,7 +7656,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain) && trivial_fn_p (fn) && !DECL_DELETED_FN (fn)) { - tree to = stabilize_reference + tree to = cp_stabilize_reference (cp_build_indirect_ref (argarray[0], RO_NULL, complain)); tree type = TREE_TYPE (to); tree as_base = CLASSTYPE_AS_BASE (type); diff --git gcc/cp/cp-tree.h gcc/cp/cp-tree.h index ec92718..0e46ae1 100644 --- gcc/cp/cp-tree.h +++ gcc/cp/cp-tree.h @@ -6494,6 +6494,7 @@ extern cp_lvalue_kind real_lvalue_p (const_tree); extern cp_lvalue_kind lvalue_kind (const_tree); extern bool lvalue_or_rvalue_with_address_p (const_tree); extern bool xvalue_p (const_tree); +extern tree cp_stabilize_reference (tree); extern bool builtin_valid_in_constant_expr_p (const_tree); extern tree build_min (enum tree_code, tree, ...); extern tree build_min_nt_loc (location_t, enum tree_code, diff --git gcc/cp/tree.c gcc/cp/tree.c index 112c8c7..137186f 100644 --- gcc/cp/tree.c +++ gcc/cp/tree.c @@ -296,6 +296,46 @@ xvalue_p (const_tree ref) return (lvalue_kind (ref) == clk_rvalueref); } +/* C++-specific version of stabilize_reference. */ + +tree +cp_stabilize_reference (tree ref) +{ + switch (TREE_CODE (ref)) + { + /* We need to treat specially anything stabilize_reference doesn't + handle specifically. */ + case VAR_DECL: + case PARM_DECL: + case RESULT_DECL: + CASE_CONVERT: + case FLOAT_EXPR: + case FIX_TRUNC_EXPR: + case INDIRECT_REF: + case COMPONENT_REF: + case BIT_FIELD_REF: + case ARRAY_REF: + case ARRAY_RANGE_REF: + case COMPOUND_EXPR: + case ERROR_MARK: + break; + default: + cp_lvalue_kind kind = lvalue_kind (ref); + if ((kind & ~clk_class) != clk_none) + { + tree type = unlowered_expr_type (ref); + bool rval = !!(kind & clk_rvalueref); + type = cp_build_reference_type (type, rval); + /* This inhibits warnings in, eg, cxx_mark_addressable + (c++/60955). */ + warning_sentinel s (extra_warnings); + ref = build_static_cast (type, ref, tf_error); + } + } + + return stabilize_reference (ref); +} + /* Test whether DECL is a builtin that may appear in a constant-expression. */ diff --git gcc/cp/typeck.c gcc/cp/typeck.c index cef5604..7e12009 100644 --- gcc/cp/typeck.c +++ gcc/cp/typeck.c @@ -5912,7 +5912,7 @@ cp_build_unary_op (enum tree_code code, tree xarg, int noconvert, { tree real, imag; - arg = stabilize_reference (arg); + arg = cp_stabilize_reference (arg); real = cp_build_unary_op (REALPART_EXPR, arg, 1, complain); imag = cp_build_unary_op (IMAGPART_EXPR, arg, 1, complain); real = cp_build_unary_op (code, real, 1, complain); @@ -6112,7 +6112,7 @@ unary_complex_lvalue (enum tree_code code, tree arg) tree lvalue = TREE_OPERAND (arg, 0); if (TREE_SIDE_EFFECTS (lvalue)) { - lvalue = stabilize_reference (lvalue); + lvalue = cp_stabilize_reference (lvalue); arg = build2 (TREE_CODE (arg), TREE_TYPE (arg), lvalue, TREE_OPERAND (arg, 1)); } @@ -7496,7 +7496,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, case PREINCREMENT_EXPR: if (TREE_SIDE_EFFECTS (TREE_OPERAND (lhs, 0))) lhs = build2 (TREE_CODE (lhs), TREE_TYPE (lhs), - stabilize_reference (TREE_OPERAND (lhs, 0)), + cp_stabilize_reference (TREE_OPERAND (lhs, 0)), TREE_OPERAND (lhs, 1)); newrhs = cp_build_modify_expr (TREE_OPERAND (lhs, 0), modifycode, rhs, complain); @@ -7516,7 +7516,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, case MODIFY_EXPR: if (TREE_SIDE_EFFECTS (TREE_OPERAND (lhs, 0))) lhs = build2 (TREE_CODE (lhs), TREE_TYPE (lhs), - stabilize_reference (TREE_OPERAND (lhs, 0)), + cp_stabilize_reference (TREE_OPERAND (lhs, 0)), TREE_OPERAND (lhs, 1)); newrhs = cp_build_modify_expr (TREE_OPERAND (lhs, 0), modifycode, rhs, complain); @@ -7665,7 +7665,7 @@ cp_build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs, not intervene between the lvalue-to-rvalue conversion and the side effect associated with any single compound assignment operator. -- end note ] */ - lhs = stabilize_reference (lhs); + lhs = cp_stabilize_reference (lhs); rhs = rvalue (rhs); rhs = stabilize_expr (rhs, &init); newrhs = cp_build_binary_op (input_location, diff --git gcc/testsuite/g++.dg/ext/cond2.C gcc/testsuite/g++.dg/ext/cond2.C index e69de29..d9f1d59 100644 --- gcc/testsuite/g++.dg/ext/cond2.C +++ gcc/testsuite/g++.dg/ext/cond2.C @@ -0,0 +1,28 @@ +// PR c++/70744 +// { dg-do run } +// { dg-options "" } + +static void +fn1 (void) +{ + int x = 2; + ++x ? : 42; + if (x != 3) + __builtin_abort (); + --x ? : 42; + if (x != 2) + __builtin_abort (); + x++ ? : 42; + if (x != 3) + __builtin_abort (); + x-- ? : 42; + if (x != 2) + __builtin_abort (); +} + +int +main () +{ + fn1 (); + return 0; +} From-SVN: r235438
2016-04-26 13:32:26 +02:00
2016-04-26 Marek Polacek <polacek@redhat.com>
PR c++/70744
* g++.dg/ext/cond2.C: New test.
2016-04-26 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/70771
PR tree-optimization/70775
* gcc.dg/pr70771.c: New test.
* gcc.dg/pr70775.c: New test.
2016-04-26 Bernd Schmidt <bschmidt@redhat.com>
* gcc.target/i386/lzcnt-1.c: Allow a different lzcntw output register.
2016-04-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/70780
* gcc.dg/torture/pr70780.c: New testcase.
2016-04-25 Michael Collison <michael.collison@arm.com>
neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization. 2016-04-25 Michael Collison <michael.collison@linaro.org> * config/arm/neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization. * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of signed vaddw. * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of signed vaddw. * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of unsigned vaddw. * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of unsigned vaddw. * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype for new function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/predicates.md (vect_par_constant_high): Support big endian and simplify by calling arm_simd_check_vect_par_cnst_half (vect_par_constant_low): Likewise. * testsuite/gcc.target/arm/neon-vaddws16.c: New test. * testsuite/gcc.target/arm/neon-vaddws32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu16.c: New test. * testsuite/gcc.target/arm/neon-vaddwu32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu8.c: New test. * testsuite/lib/target-supports.exp (check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate that arm neon support vector widen sum of HImode TO SImode. From-SVN: r235402
2016-04-25 07:03:09 +02:00
* gcc.target/arm/neon-vaddws16.c: New test.
* gcc.target/arm/neon-vaddws32.c: New test.
* gcc.target/arm/neon-vaddwu16.c: New test.
* gcc.target/arm/neon-vaddwu32.c: New test.
* gcc.target/arm/neon-vaddwu8.c: New test.
* lib/target-supports.exp
neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization. 2016-04-25 Michael Collison <michael.collison@linaro.org> * config/arm/neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization. * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of signed vaddw. * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of signed vaddw. * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New define_insn to match low half of unsigned vaddw. * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New define_insn to match high half of unsigned vaddw. * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype for new function. (arm_simd_check_vect_par_cnst_half_p): Likewise. * config/arm/predicates.md (vect_par_constant_high): Support big endian and simplify by calling arm_simd_check_vect_par_cnst_half (vect_par_constant_low): Likewise. * testsuite/gcc.target/arm/neon-vaddws16.c: New test. * testsuite/gcc.target/arm/neon-vaddws32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu16.c: New test. * testsuite/gcc.target/arm/neon-vaddwu32.c: New test. * testsuite/gcc.target/arm/neon-vaddwu8.c: New test. * testsuite/lib/target-supports.exp (check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate that arm neon support vector widen sum of HImode TO SImode. From-SVN: r235402
2016-04-25 07:03:09 +02:00
(check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate
that arm neon support vector widen sum of HImode TO SImode.
2016-04-23 Jakub Jelinek <jakub@redhat.com>
PR sanitizer/70712
* c-c++-common/asan/pr70712.c: New test.
2016-04-22 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* .gitattributes: New file.
2016-04-22 Christophe Lyon <christophe.lyon@linaro.org>
* lib/gcc-dg.exp (${tool}_load): Add default return value handler.
2016-04-22 Dominique d'Humieres <dominiq@lps.ens.fr>
* gfortran.dg/submodule_14.f08: Add cleanup-submodules.
* gfortran.dg/submodule_15.f08: Likewise.
2016-04-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/70740
* gcc.dg/torture/pr70740.c: New testcase.
2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
PR target/70750
* gcc.target/i386/pr70750-1.c: New test.
* gcc.target/i386/pr70750-2.c: Likewise.
2016-04-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70540
* g++.dg/cpp0x/auto48.C: New.
2016-04-21 Marek Polacek <polacek@redhat.com>
PR c++/70513
* g++.dg/cpp0x/forw_enum12.C: New test.
* g++.dg/cpp0x/forw_enum13.C: New test.
2016-04-21 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70728
* gcc.target/i386/pr70728.c: New test.
2016-04-21 Richard Biener <rguenther@suse.de>
PR middle-end/70747
* gcc.dg/pr70747.c: New testcase.
2016-04-21 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/70715
* gcc.dg/tree-ssa/scev-13.c: New test.
2016-04-21 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/minmax-2.c: New testcase.
2016-04-21 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/tree-ssa/minmax-1.c: New testcase.
2016-04-20 Jan Hubicka <jh@suse.cz>
PR ipa/70018
* g++.dg/ipa/nothrow-1.C: New testcase.
2016-04-20 Nathan Sidwell <nathan@acm.org>
PR c++/55635
* g++.dg/eh/delete1.C: New.
2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx256-unaligned-store-2.c: Add
-mtune-ctrl=sse_typeless_stores.
2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/avx256-unaligned-load-1.c: Update load scan.
2016-04-20 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/69489
* gcc.dg/tree-ssa/ifc-pr69489-2.c: New test.
2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
PR c++/69363
* c-c++-common/cilk-plus/PS/clauses3.c: Adjust dg-error string.
* c-c++-common/cilk-plus/PS/clauses4.c: New test.
* c-c++-common/cilk-plus/PS/pr69363.c: New test.
2016-04-20 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/56625
PR tree-optimization/69489
* gcc.dg/vect/pr56625.c: New test.
* gcc.dg/tree-ssa/ifc-pr69489-1.c: New test.
2016-04-20 Andrew Pinski <apinski@cavium.com>
PR target/64971
* gcc.c-torture/compile/pr37433-1.c: New testcase.
2016-04-20 Arnaud Charlet <charlet@adacore.com>
* gnat.dg/self1.adb: Remove now incorrect test.
2016-04-20 Bin Cheng <bin.cheng@arm.com>
* gcc.dg/tree-ssa/scev-11.c: New test.
* gcc.dg/tree-ssa/scev-12.c: New test.
2016-04-20 Marek Polacek <polacek@redhat.com>
PR tree-optimization/70725
* gcc.dg/pr70725.c: New test.
2016-04-20 Richard Biener <rguenther@suse.de>
PR tree-optimization/70726
* g++.dg/vect/pr70726.cc: New testcase.
PR70674: S/390: Add memory barrier to stack pointer restore from fpr. This patches fixes a problem with stack variable accesses being scheduled after the stack pointer restore instructions. In the testcase this happened with the stack variable 'a' accessed through the frame pointer. The existing stack_tie we have in the backend is basically useless when trying to block stack variable accesses from being scheduled across an insn. The alias set of stack variables and the frame alias set usually differ and hence aren't in conflict with each other. The solution appears to be a magic MEM term with a scratch register which is handled as a full memory barrier when analyzing scheduling dependencies. With the patch a (clobber (mem:BLK (scratch))) is being added to the restore instruction in order to prevent any memory operations to be scheduled across the insn. The patch does that only for the one case where the stack pointer is restored from an FPR. Theoretically this might happen also in the case where the stack pointer gets restored using a load multiple. However, triggering that problem with load-multiple appears to be much harder since the load-multiple will restore the frame pointer as well. So in order to see the problem a different call-clobbered register would need to be used as temporary stack pointer. Another case which needs to be handled some day is the stack pointer allocation part. It needs to be a memory barrier as well. Bootstrapped and regression tested with --with-arch z196 and z13 on s390 and s390x. -Andreas- gcc/ChangeLog: 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/70674 * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new stack_restore_from_fpr pattern when restoring r15. (s390_optimize_prologue): Strip away the memory barrier in the parallel when trying to get rid of restore insns. * config/s390/s390.md ("stack_restore_from_fpr"): New insn definition for loading the stack pointer from an FPR. Compared to the normal move insn this pattern includes a full memory barrier. gcc/testsuite/ChangeLog: 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/70674 * gcc.target/s390/pr70674.c: New test. From-SVN: r235234
2016-04-20 09:13:23 +02:00
2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/70674
* gcc.target/s390/pr70674.c: New test.
2016-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/70684
* gfortran.dg/list_read_14.f90: New test.
Remove UNSPEC_LOADU and UNSPEC_STOREU Since *mov<mode>_internal and <avx512>_(load|store)<mode>_mask patterns can handle unaligned load and store, we can remove UNSPEC_LOADU and UNSPEC_STOREU. We use function prototypes with pointer to scalar for unaligned load/store builtin functions so that memory passed to *mov<mode>_internal is unaligned. gcc/ PR target/69201 * config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass const short * to __builtin_ia32_loaddquhi512_mask. (_mm512_maskz_loadu_epi16): Likewise. (_mm512_mask_storeu_epi16): Pass short * to __builtin_ia32_storedquhi512_mask. (_mm512_mask_loadu_epi8): Pass const char * to __builtin_ia32_loaddquqi512_mask. (_mm512_maskz_loadu_epi8): Likewise. (_mm512_mask_storeu_epi8): Pass char * to __builtin_ia32_storedquqi512_mask. * config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass const double * to __builtin_ia32_loadupd512_mask. (_mm512_mask_loadu_pd): Likewise. (_mm512_maskz_loadu_pd): Likewise. (_mm512_storeu_pd): Pass double * to __builtin_ia32_storeupd512_mask. (_mm512_mask_storeu_pd): Likewise. (_mm512_loadu_ps): Pass const float * to __builtin_ia32_loadups512_mask. (_mm512_mask_loadu_ps): Likewise. (_mm512_maskz_loadu_ps): Likewise. (_mm512_storeu_ps): Pass float * to __builtin_ia32_storeups512_mask. (_mm512_mask_storeu_ps): Likewise. (_mm512_mask_loadu_epi64): Pass const long long * to __builtin_ia32_loaddqudi512_mask. (_mm512_maskz_loadu_epi64): Likewise. (_mm512_mask_storeu_epi64): Pass long long * to __builtin_ia32_storedqudi512_mask. (_mm512_loadu_si512): Pass const int * to __builtin_ia32_loaddqusi512_mask. (_mm512_mask_loadu_epi32): Likewise. (_mm512_maskz_loadu_epi32): Likewise. (_mm512_storeu_si512): Pass int * to __builtin_ia32_storedqusi512_mask. (_mm512_mask_storeu_epi32): Likewise. * config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass char * to __builtin_ia32_storedquqi256_mask. (_mm_mask_storeu_epi8): Likewise. (_mm256_mask_loadu_epi16): Pass const short * to __builtin_ia32_loaddquhi256_mask. (_mm256_maskz_loadu_epi16): Likewise. (_mm_mask_loadu_epi16): Pass const short * to __builtin_ia32_loaddquhi128_mask. (_mm_maskz_loadu_epi16): Likewise. (_mm256_mask_loadu_epi8): Pass const char * to __builtin_ia32_loaddquqi256_mask. (_mm256_maskz_loadu_epi8): Likewise. (_mm_mask_loadu_epi8): Pass const char * to __builtin_ia32_loaddquqi128_mask. (_mm_maskz_loadu_epi8): Likewise. (_mm256_mask_storeu_epi16): Pass short * to. __builtin_ia32_storedquhi256_mask. (_mm_mask_storeu_epi16): Pass short * to. __builtin_ia32_storedquhi128_mask. * config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass const double * to __builtin_ia32_loadupd256_mask. (_mm256_maskz_loadu_pd): Likewise. (_mm_mask_loadu_pd): Pass onst double * to __builtin_ia32_loadupd128_mask. (_mm_maskz_loadu_pd): Likewise. (_mm256_mask_storeu_pd): Pass double * to __builtin_ia32_storeupd256_mask. (_mm_mask_storeu_pd): Pass double * to __builtin_ia32_storeupd128_mask. (_mm256_mask_loadu_ps): Pass const float * to __builtin_ia32_loadups256_mask. (_mm256_maskz_loadu_ps): Likewise. (_mm_mask_loadu_ps): Pass const float * to __builtin_ia32_loadups128_mask. (_mm_maskz_loadu_ps): Likewise. (_mm256_mask_storeu_ps): Pass float * to __builtin_ia32_storeups256_mask. (_mm_mask_storeu_ps): ass float * to __builtin_ia32_storeups128_mask. (_mm256_mask_loadu_epi64): Pass const long long * to __builtin_ia32_loaddqudi256_mask. (_mm256_maskz_loadu_epi64): Likewise. (_mm_mask_loadu_epi64): Pass const long long * to __builtin_ia32_loaddqudi128_mask. (_mm_maskz_loadu_epi64): Likewise. (_mm256_mask_storeu_epi64): Pass long long * to __builtin_ia32_storedqudi256_mask. (_mm_mask_storeu_epi64): Pass long long * to __builtin_ia32_storedqudi128_mask. (_mm256_mask_loadu_epi32): Pass const int * to __builtin_ia32_loaddqusi256_mask. (_mm256_maskz_loadu_epi32): Likewise. (_mm_mask_loadu_epi32): Pass const int * to __builtin_ia32_loaddqusi128_mask. (_mm_maskz_loadu_epi32): Likewise. (_mm256_mask_storeu_epi32): Pass int * to __builtin_ia32_storedqusi256_mask. (_mm_mask_storeu_epi32): Pass int * to __builtin_ia32_storedqusi128_mask. * config/i386/i386-builtin-types.def (PCSHORT): New. (PINT64): Likewise. (V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise. (V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise. (V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise. (V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise. (V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise. (V16SI_FTYPE_PCINT_V16SI_UHI): Likewise. (V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise. (V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise. (V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise. (V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise. (V8SI_FTYPE_PCINT_V8SI_UQI): Likewise. (V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise. (V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise. (V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise. (V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise. (V4SI_FTYPE_PCINT_V4SI_UQI): Likewise. (V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise. (V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise. (VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise. (VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise. (VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise. (VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise. (VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise. (VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise. (VOID_FTYPE_PINT64_V8DI_UQI): Likewise. (VOID_FTYPE_PINT64_V4DI_UQI): Likewise. (VOID_FTYPE_PINT64_V2DI_UQI): Likewise. (VOID_FTYPE_PINT_V16SI_UHI): Likewise. (VOID_FTYPE_PINT_V8SI_UHI): Likewise. (VOID_FTYPE_PINT_V4SI_UHI): Likewise. (VOID_FTYPE_PSHORT_V32HI_USI): Likewise. (VOID_FTYPE_PSHORT_V16HI_UHI): Likewise. (VOID_FTYPE_PSHORT_V8HI_UQI): Likewise. (VOID_FTYPE_PCHAR_V64QI_UDI): Likewise. (VOID_FTYPE_PCHAR_V32QI_USI): Likewise. (VOID_FTYPE_PCHAR_V16QI_UHI): Likewise. (V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed. (V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise. (V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise. (V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise. (V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise. (V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise. (VOID_FTYPE_PV32HI_V32HI_USI): Likewise. (VOID_FTYPE_PV16HI_V16HI_UHI): Likewise. (VOID_FTYPE_PV8HI_V8HI_UQI): Likewise. (VOID_FTYPE_PV64QI_V64QI_UDI): Likewise. (VOID_FTYPE_PV32QI_V32QI_USI): Likewise. (VOID_FTYPE_PV16QI_V16QI_UHI): Likewise. * config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't use UNSPEC_STOREU. (ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU. (ix86_avx256_split_vector_move_misalign): Don't use unaligned load nor store. (ix86_expand_vector_move_misalign): Likewise. (bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer to scalar function prototype for unaligned load/store builtins. (ix86_expand_special_args_builtin): Updated. * config/i386/sse.md (UNSPEC_LOADU): Removed. (UNSPEC_STOREU): Likewise. (VI_ULOADSTORE_BW_AVX512VL): Likewise. (VI_ULOADSTORE_F_AVX512VL): Likewise. (ssescalarsize): Handle V4TI, V2TI and V1TI. (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise. (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise. (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise. (<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise. (<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise. (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise. (sse2_avx_avx512f>_storedqu<mode>): Likewise. (<avx512>_storedqu<mode>_mask): Likewise. (*sse4_2_pcmpestr_unaligned): Likewise. (*sse4_2_pcmpistr_unaligned): Likewise. (*mov<mode>_internal): Renamed to ... (mov<mode>_internal): This. Remove check of AVX and IAMCU on misaligned operand. Replace vmovdqu64 with vmovdqu<ssescalarsize>. (movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU. (movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU. gcc/testsuite/ PR target/69201 * gcc.target/i386/avx256-unaligned-store-1.c (a): Make it extern to force it misaligned. (b): Likewise. (c): Likewise. (d): Likewise. Check vmovups.*movv8sf_internal/3 instead of avx_storeups256. Don't check `*' before movv4sf_internal. * gcc.target/i386/avx256-unaligned-store-2.c: Check vmovups.*movv32qi_internal/3 instead of avx_storeups256. Don't check `*' before movv16qi_internal. * gcc.target/i386/avx256-unaligned-store-3.c (a): Make it extern to force it misaligned. (b): Likewise. (c): Likewise. (d): Likewise. Check vmovups.*movv4df_internal/3 instead of avx_storeupd256. Don't check `*' before movv2df_internal. * gcc.target/i386/avx256-unaligned-store-4.c (a): Make it extern to force it misaligned. (b): Likewise. (c): Likewise. (d): Likewise. Check movv8sf_internal instead of avx_storeups256. Check movups.*movv4sf_internal/3 instead of avx_storeups256. From-SVN: r235209
2016-04-19 16:33:36 +02:00
2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
PR target/69201
* gcc.target/i386/avx256-unaligned-store-1.c (a): Make it
extern to force it misaligned.
(b): Likewise.
(c): Likewise.
(d): Likewise.
Check vmovups.*movv8sf_internal/3 instead of avx_storeups256.
Don't check `*' before movv4sf_internal.
* gcc.target/i386/avx256-unaligned-store-2.c: Check
vmovups.*movv32qi_internal/3 instead of avx_storeups256.
Don't check `*' before movv16qi_internal.
* gcc.target/i386/avx256-unaligned-store-3.c (a): Make it
extern to force it misaligned.
(b): Likewise.
(c): Likewise.
(d): Likewise.
Check vmovups.*movv4df_internal/3 instead of avx_storeupd256.
Don't check `*' before movv2df_internal.
* gcc.target/i386/avx256-unaligned-store-4.c (a): Make it
extern to force it misaligned.
(b): Likewise.
(c): Likewise.
(d): Likewise.
Check movv8sf_internal instead of avx_storeups256.
Check movups.*movv4sf_internal/3 instead of avx_storeups256.
2016-04-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/70171
* g++.dg/tree-ssa/pr70171.C: New testcase.
2016-04-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/70724
* gcc.dg/torture/pr70724.c: New testcase.
2016-04-18 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/70689
* gcc.target/i386/pr70689.c: New.
2016-04-18 H.J. Lu <hongjiu.lu@intel.com>
PR target/70708
* gcc.target/i386/pr70708.c: New test.
2016-04-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/43434
* gcc.dg/vect/pr43434.c: New testcase.
* c-c++-common/goacc/kernels-alias-3.c: Adjust.
* c-c++-common/goacc/kernels-alias-4.c: Likewise.
* c-c++-common/goacc/kernels-alias-5.c: Likewise.
* c-c++-common/goacc/kernels-alias-6.c: Likewise.
* c-c++-common/goacc/kernels-alias-7.c: Likewise.
* c-c++-common/goacc/kernels-alias-8.c: Likewise.
* gcc.dg/gomp/pr68640.c: Likewise.
* gfortran.dg/goacc/kernels-alias-3.f95: Likewise.
* gfortran.dg/goacc/kernels-alias-4.f95: Likewise.
2016-04-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/70701
* gcc.dg/tree-ssa/ssa-fre-53.c: New testcase.
2016-04-18 Tom de Vries <tom@codesourcery.com>
PR testsuite/70699
* gcc.dg/pr70161.c: Add dot-file scans.
* lib/scandump.exp (dump-suffix): Return suffix after first dot char,
instead of after last dot char.
2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
* c-c++-common/dump-ada-spec-3.c: New test.
* c-c++-common/dump-ada-spec-4.c: Likewise.
2016-04-17 Tom de Vries <tom@codesourcery.com>
PR other/70183
* gcc.target/i386/vzeroupper-dump-flags.c: New test.
2016-04-15 Jan Hubicka <jh@suse.cz>
PR ipa/70018
* g++.dg/ipa/pure-const-1.C: New testcase.
* g++.dg/ipa/pure-const-2.C: New testcase.
* g++.dg/ipa/pure-const-3.C: New testcase.
2016-04-15 Marek Polacek <polacek@redhat.com>
PR c/70671
* gcc.dg/bitfld-22.c: New test.
2016-04-15 Bernd Schmidt <bschmidt@redhat.com>
* gcc.target/i386/pr46470.c: Add -mno-red-zone to dg-options for
x86_64.
2016-04-15 Marek Polacek <polacek@redhat.com>
PR c/70651
* c-c++-common/pr70651.c: New test.
2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/70681
* gcc.dg/ira-shrinkwrap-prep-2.c: XFAIL shrinkwrapping
dump scan on arm and powerpc.
* gcc.dg/pr10474.c: Likewise.
re PR c/70436 (-Wparentheses missing ambiguous else warning) PR c/70436 c/ * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down where needed. (c_parser_external_declaration, c_parser_struct_or_union_specifier, c_parser_parameter_declaration, c_parser_compound_statement_nostart, c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist): Adjust c_parser_pragma callers. (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for caller. (c_parser_omp_structured_block): Add IF_P argument, pass it down to c_parser_statement. (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop, c_parser_oacc_kernels_parallel, c_parser_omp_critical, c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master, c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single, c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute, c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target, c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize, c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it down where needed. (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block calls. cp/ * parser.c (cp_parser_pragma): Add IF_P argument, pass it down where needed. (cp_parser_declaration_seq_opt, cp_parser_member_specification_opt, cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd, cp_parser_oacc_routine): Adjust cp_parser_pragma callers. (cp_parser_statement): Likewise. Adjust cp_parser_cilk_for caller. (cp_parser_omp_structured_block): Add IF_P argument, pass it down to cp_parser_statement. (cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop, cp_parser_oacc_kernels_parallel, cp_parser_omp_critical, cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master, cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single, cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target, cp_parser_omp_taskloop, cp_parser_omp_construct, cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for): Add IF_P argument, pass it down where needed. (cp_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block calls. testsuite/ * c-c++-common/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-2.c: New test. * c-c++-common/gomp/Wparentheses-3.c: New test. * c-c++-common/gomp/Wparentheses-4.c: New test. * c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test. * c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test. * c-c++-common/goacc/Wparentheses-1.c: New test. From-SVN: r235020
2016-04-15 14:24:18 +02:00
2016-04-15 Jakub Jelinek <jakub@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* g++.dg/cpp1y/vla11.C: Revert for real.
re PR c/70436 (-Wparentheses missing ambiguous else warning) PR c/70436 c/ * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down where needed. (c_parser_external_declaration, c_parser_struct_or_union_specifier, c_parser_parameter_declaration, c_parser_compound_statement_nostart, c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist): Adjust c_parser_pragma callers. (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for caller. (c_parser_omp_structured_block): Add IF_P argument, pass it down to c_parser_statement. (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop, c_parser_oacc_kernels_parallel, c_parser_omp_critical, c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master, c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single, c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute, c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target, c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize, c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it down where needed. (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block calls. cp/ * parser.c (cp_parser_pragma): Add IF_P argument, pass it down where needed. (cp_parser_declaration_seq_opt, cp_parser_member_specification_opt, cp_parser_objc_interstitial_code, cp_parser_omp_declare_simd, cp_parser_oacc_routine): Adjust cp_parser_pragma callers. (cp_parser_statement): Likewise. Adjust cp_parser_cilk_for caller. (cp_parser_omp_structured_block): Add IF_P argument, pass it down to cp_parser_statement. (cp_parser_oacc_data, cp_parser_oacc_host_data, cp_parser_oacc_loop, cp_parser_oacc_kernels_parallel, cp_parser_omp_critical, cp_parser_omp_simd, cp_parser_omp_for, cp_parser_omp_master, cp_parser_omp_ordered, cp_parser_omp_parallel, cp_parser_omp_single, cp_parser_omp_task, cp_parser_omp_taskgroup, cp_parser_omp_distribute, cp_parser_omp_teams, cp_parser_omp_target_data, cp_parser_omp_target, cp_parser_omp_taskloop, cp_parser_omp_construct, cp_parser_cilk_grainsize, cp_parser_cilk_simd, cp_parser_cilk_for): Add IF_P argument, pass it down where needed. (cp_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. (cp_parser_omp_sections_scope): Adjust cp_parser_omp_structured_block calls. testsuite/ * c-c++-common/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-1.c: New test. * c-c++-common/gomp/Wparentheses-2.c: New test. * c-c++-common/gomp/Wparentheses-3.c: New test. * c-c++-common/gomp/Wparentheses-4.c: New test. * c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test. * c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test. * c-c++-common/goacc/Wparentheses-1.c: New test. From-SVN: r235020
2016-04-15 14:24:18 +02:00
PR c/70436
* c-c++-common/Wparentheses-1.c: New test.
* c-c++-common/gomp/Wparentheses-1.c: New test.
* c-c++-common/gomp/Wparentheses-2.c: New test.
* c-c++-common/gomp/Wparentheses-3.c: New test.
* c-c++-common/gomp/Wparentheses-4.c: New test.
* c-c++-common/cilk-plus/PS/Wparentheses-1.c: New test.
* c-c++-common/cilk-plus/CK/Wparentheses-1.c: New test.
* c-c++-common/goacc/Wparentheses-1.c: New test.
2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70662
* gcc.target/i386/pr70662.c: New test.
2016-04-15 Richard Biener <rguenther@suse.de>
Alan Modra <amodra@gmail.com>
PR tree-optimization/70130
* gcc.dg/vect/O3-pr70130.c: New testcase.
2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70669
* gcc.target/powerpc/pr70669.c: New test.
PR target/70640
* gcc.target/powerpc/pr70640.c: Fix test so it correctly works on
a power7 system that does not have an assembler that supports
power8.
2016-04-14 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* c-c++-common/ubsan/vla-1.c: Revert.
* g++.dg/cpp1y/vla11.C: Same.
* g++.dg/cpp1y/vla12.C: Same.
* g++.dg/cpp1y/vla13.C: Same.
* g++.dg/cpp1y/vla14.C: Same.
* g++.dg/cpp1y/vla3.C: Same.
* g++.dg/init/array24.C: Same.
* g++.dg/ubsan/vla-1.C: Same.
2016-04-14 Marek Polacek <polacek@redhat.com>
Jan Hubicka <hubicka@ucw.cz>
PR c++/70029
* g++.dg/torture/pr70029.C: New test.
2016-04-14 Martin Sebor <msebor@redhat.com>
* g++.dg/cpp1y/vla11.C: Avoid using attribute aligned to increase
type size to prevent failures on targets with very low maximum
alignment.
2016-04-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/70623
* gcc.dg/torture/pr70623.c: New testcase.
* gcc.dg/torture/pr70623-2.c: Likewise.
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements PR c++/70019 - VLA size overflow not detected PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2 gcc/testsuite/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * c-c++-common/ubsan/vla-1.c (main): Catch exceptions. * g++.dg/cpp1y/vla11.C: New test. * g++.dg/cpp1y/vla12.C: New test. * g++.dg/cpp1y/vla13.C: New test. * g++.dg/cpp1y/vla14.C: New test. * g++.dg/cpp1y/vla3.C: Restore deleted test. * gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer. * g++.dg/ubsan/vla-1.C: Disable exceptions. gcc/cp/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new functions. * decl.c (check_initializer, cp_finish_decl): Call them. (reshape_init_r): Reject incompletely braced intializer-lists for VLAs. * init.c (throw_bad_array_length, build_vla_check) (build_vla_size_check, build_vla_init_check): Define new functions. * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p() to detect a VLA. (store_init_value): Same. gcc/doc/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * extend.texi (Variable Length): Document C++ specifics. libstdc++-v3/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA upper bound is positive. From-SVN: r234966
2016-04-14 01:26:41 +02:00
2016-04-13 Martin Sebor <msebor@redhat.com>
PR c++/69517
PR c++/70019
PR c++/70588
* c-c++-common/ubsan/vla-1.c (main): Catch exceptions.
* g++.dg/cpp1y/vla11.C: New test.
* g++.dg/cpp1y/vla12.C: New test.
* g++.dg/cpp1y/vla13.C: New test.
* g++.dg/cpp1y/vla14.C: New test.
* g++.dg/cpp1y/vla3.C: Restore deleted test.
* g++.dg/init/array24.C: Fully brace VLA initializer.
PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements PR c++/69517 - [5/6 regression] SEGV on a VLA with excess initializer elements PR c++/70019 - VLA size overflow not detected PR c++/70588 - SIGBUS on a VLA larger than SIZE_MAX / 2 gcc/testsuite/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * c-c++-common/ubsan/vla-1.c (main): Catch exceptions. * g++.dg/cpp1y/vla11.C: New test. * g++.dg/cpp1y/vla12.C: New test. * g++.dg/cpp1y/vla13.C: New test. * g++.dg/cpp1y/vla14.C: New test. * g++.dg/cpp1y/vla3.C: Restore deleted test. * gcc/testsuite/g++.dg/init/array24.C: Fully brace VLA initializer. * g++.dg/ubsan/vla-1.C: Disable exceptions. gcc/cp/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * cp-tree.h (throw_bad_array_length, build_vla_check): Declare new functions. * decl.c (check_initializer, cp_finish_decl): Call them. (reshape_init_r): Reject incompletely braced intializer-lists for VLAs. * init.c (throw_bad_array_length, build_vla_check) (build_vla_size_check, build_vla_init_check): Define new functions. * typeck2.c (split_nonconstant_init_1): Use variably_modified_type_p() to detect a VLA. (store_init_value): Same. gcc/doc/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 PR c++/70019 PR c++/70588 * extend.texi (Variable Length): Document C++ specifics. libstdc++-v3/ChangeLog: 2016-04-13 Martin Sebor <msebor@redhat.com> PR c++/69517 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA upper bound is positive. From-SVN: r234966
2016-04-14 01:26:41 +02:00
* g++.dg/ubsan/vla-1.C: Disable exceptions.
2016-04-13 Jakub Jelinek <jakub@redhat.com>
PR c++/70641
* g++.dg/opt/pr70641.C: New test.
2016-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR rtl-optimization/68749
* gcc.dg/ifcvt-4.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.
Remove default args to dg-skip-if.
2016-04-13 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/70635
* g++.dg/parse/pr70635.C: New.
2016-04-13 Marek Polacek <polacek@redhat.com>
PR c++/70639
* c-c++-common/Wmisleading-indentation-4.c: New test.
2016-04-13 Marek Polacek <polacek@redhat.com>
PR c/70436
* gcc.dg/Wparentheses-12.c: New test.
* gcc.dg/Wparentheses-13.c: New test.
2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com>
* gcc.target/i386/avx512bw-kunpckdq-2.c: New test.
* gcc.target/i386/avx512bw-kunpckwd-2.c: New test.
* gcc.target/i386/avx512f-kunpckbw-2.c: New test.
2016-04-13 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70633
* gcc.c-torture/compile/pr70633.c: New test.
PR debug/70628
* gcc.dg/torture/pr70628.c: New test.
2016-04-12 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70610
* g++.dg/template/pr70610.C: New test.
* g++.dg/template/pr70610-2.C: New test.
* g++.dg/template/pr70610-3.C: New test.
* g++.dg/template/pr70610-4.C: New test.
2016-04-12 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/cilk-plus/SE/ef_error2.c (func2): Use vectorlength
128 instead of 32.
PR c++/70571
* g++.dg/ext/pr70571.C: New test.
2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70640
* gcc.target/powerpc/pr70640.c: New test.
2016-04-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68722
* g++.dg/parse/pr68722.C: New.
2016-04-12 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70596
* gcc.target/i386/pr70596.c: New test.
2016-04-12 Nathan Sidwell <nathan@acm.org>
PR c++/70501
* g++.dg/init/pr70501.C: New.
2016-04-12 David Wohlferd <dw@LimeGreenSocks.com>
* gcc.target/i386/asm-flag-6.c: New test.
2016-04-12 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68756
* gcc.dg/graphite/pr68756.c: New test.
2016-04-12 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70602
* gcc.c-torture/execute/pr70602.c: New test.
2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70381
* gcc.target/powerpc/float128-1.c: New tests to make sure the
__float128 emulator is built and runs.
* gcc.target/powerpc/float128-1.c: Likewise.
* lib/target-supports.exp (check_ppc_float128_sw_available):
Rework tests for __float128 software and hardware
availability. Fix exit condition to return 0 on success.
2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
PR target/70133
* gcc.target/aarch64/mgeneral-regs_4.c: Fix expected output.
* gcc.target/aarch64/target_attr_15.c: Likewise.
2016-04-10 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/69066
* g++.dg/cpp1y/pr69066.C: New.
2016-04-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/68566
* gfortran.dg/pr36192.f90: Update test.
* gfortran.dg/pr36192_1.f90: Update test.
* gfortran.dg/real_dimension_1.f: Update test.
* gfortran.dg/parameter_array_init_7.f90: New test.
2016-04-09 John David Anglin <danglin@gcc.gnu.org>
PR testsuite/64039
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: xfail scan-tree-dump on hppa*64*-*-*.
* gcc.dg/pr70317.c: Add -fno-common on hppa*-*-hpux*.
PR rtl-optimization/66669
* gcc.dg/loop-8.c: Skip on hppa*-*-*.
* gcc.dg/debug/dwarf2/prod-options.c: Adjust scan for hppa*64*-*-*.
* gcc.dg/pic-1.c: Skip on hppa*-*-*.
* gcc.dg/pie-1.c: Likewise.
* gcc.dg/pic-3.c: Skip on hppa*64*-*-*.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.
* gcc.dg/uninit-19.c: Fix warning line for hppa*64*-*-*.
PR tree-optimization/68644
* gcc.dg/tree-ssa/ivopts-lt-2.c: Skip on hppa*-*-*.
PR rtl-optimization/64886
* gcc.dg/pr64434.c: Skip on hppa*-*-hpux*.
2016-04-09 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68953
* gcc.dg/graphite/pr68953.c: New test.
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/70592
* gfortran.dg/deferred_character_16.f90: New test.
2016-04-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70586
* gcc.c-torture/execute/pr70586.c: New test.
2016-04-09 Dominique d'Humieres <dominiq@lps.ens.fr>
PR sanitizer/70573
* c-c++-common/asan/halt_on_error-1.c: Replace memset
with __builtin_memset
* c-c++-common/asan/halt_on_error-2.c: Likewise.
re PR lto/70289 ([openacc] ICE in input_varpool_node) gcc/ PR lto/70289 PR ipa/70348 PR tree-optimization/70373 PR middle-end/70533 PR middle-end/70534 PR middle-end/70535 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data clauses for acc parallel reductions as necessary. Error on those that are private. * omp-low.c (scan_sharing_clauses): Don't install variables which are used in acc parallel reductions. (lower_rec_input_clauses): Remove dead code. (lower_oacc_reductions): Add support for reference reductions. (lower_reduction_clauses): Remove dead code. (lower_omp_target): Don't remap variables appearing in acc parallel reductions. * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro. gcc/testsuite/ * c-c++-common/goacc/reduction-5.c: New test. * c-c++-common/goacc/reduction-promotions.c: New test. * gfortran.dg/goacc/reduction-3.f95: New test. * gfortran.dg/goacc/reduction-promotions.f90: New test. libgomp/ * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test. * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New test. * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New test. * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test coverage. * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test. * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test. * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test. * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test coverage. * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test. * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test. * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test. * testsuite/libgomp.oacc-fortran/pr70289.f90: New test. * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage. * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise. * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test. From-SVN: r234840
2016-04-08 23:09:47 +02:00
2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
PR lto/70289
PR ipa/70348
PR tree-optimization/70373
PR middle-end/70533
PR middle-end/70534
PR middle-end/70535
* c-c++-common/goacc/reduction-5.c: New test.
* c-c++-common/goacc/reduction-promotions.c: New test.
* gfortran.dg/goacc/reduction-3.f95: New test.
* gfortran.dg/goacc/reduction-promotions.f90: New test.
2016-04-08 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70590
PR c++/70452
* g++.dg/pr70590.C: New test.
* g++.dg/pr70590-2.C: New test.
2016-04-08 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70593
* gcc.target/i386/pr70593.c: New test.
PR rtl-optimization/70574
* gcc.target/i386/avx2-pr70574.c: New test.
2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
PR sanitizer/70541
* c-c++-common/asan/pr70541.c: New test.
2016-04-08 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-firstprivate-clause.c: New test.
* gfortran.dg/goacc/uninit-firstprivate-clause.f95: New test.
2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/70566
* gcc.c-torture/execute/pr70566.c: New test.
2016-04-08 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-copy-clause.c: New test.
* gfortran.dg/goacc/uninit-copy-clause.f95: New test.
2016-04-08 Alan Modra <amodra@gmail.com>
* gcc.target/powerpc/pr70117.c: New.
2016-04-07 Jakub Jelinek <jakub@redhat.com>
PR testsuite/70581
* gcc.dg/lto/simd-function_0.c: New test.
* c-c++-common/attr-simd.c: Add scan-assembler* directives for AVX512F
clones.
* c-c++-common/attr-simd-2.c: Likewise.
* c-c++-common/attr-simd-4.c: Likewise.
* gcc.dg/gomp/simd-clones-2.c: Likewise.
* gcc.dg/gomp/simd-clones-3.c: Likewise.
2016-04-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR testsuite/70553
* gcc.target/arm/pr70496.c: Also require arm_arm_ok effective target.
2016-04-07 Thomas Schwinge <thomas@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-loop-2.f95: Scan for parallelization.
* gfortran.dg/goacc/kernels-loop-data-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data-update.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-data.f95: Likewise.
* gfortran.dg/goacc/kernels-loop.f95: Likewise.
* gfortran.dg/goacc/kernels-loop-n.f95: Likewise, XFAILed.
2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
PR c/70436
* g++.dg/warn/Wparentheses-29.C: New test.
2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
PR c/70436
* g++.dg/plugin/pragma_plugin.c (handle_pragma_sayhello): Add
explicit braces to resolve a future -Wparentheses warning.
2016-04-06 Richard Henderson <rth@redhat.com>
* gcc.dg/pr61817-1.c: New test.
* gcc.dg/pr61817-2.c: New test.
* gcc.dg/pr69391-1.c: New test.
* gcc.dg/pr69391-2.c: New test.
2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70398
* gcc.target/aarch64/pr70398.c: New.
2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
* gcc.c-torture/execute/20101011-1.c (__VISIUM__): Set DO_TEST to 0.
2016-04-06 Yvan Roux <yvan.roux@linaro.org>
Pedro Alves <palves@redhat.com>
* gcc.dg/guality/guality.h (main): Avoid GDB being blocked on signals.
2016-04-06 Jakub Jelinek <jakub@redhat.com>
* lib/target-supports.exp (check_effective_target_vect_simd_clones):
Check for avx512f effective targets instead of avx2.
* gcc.dg/gomp/declare-simd-1.c: Add scan-assembler-times directives
for AVX512F clones.
* gcc.dg/gomp/declare-simd-3.c: Likewise.
* g++.dg/gomp/declare-simd-1.C: Likewise.
* g++.dg/gomp/declare-simd-3.C: Likewise.
* g++.dg/gomp/declare-simd-4.C: Likewise.
PR middle-end/70550
* c-c++-common/gomp/pr70550-1.c: New test.
* c-c++-common/gomp/pr70550-2.c: New test.
2016-04-05 Nathan Sidwell <nathan@acm.org>
PR c++/70512
* g++.dg/ext/attribute-may-alias-5.C: New.
2016-04-05 Jakub Jelinek <jakub@redhat.com>
PR c++/70336
* c-c++-common/pr70336.c: New test.
* gcc.dg/torture/builtin-isinf_sign-1.c (foo): Guard tests
no longer optimized away at -O0 with #ifndef __OPTIMIZE__.
2016-04-05 Jan Hubicka <hubicka@ucw.cz>
PR ipa/66223
* g++.dg/ipa/devirt-51.C: Use -fsanitize=unreachable.
2016-04-05 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70542
* gcc.dg/torture/pr70542.c: New test.
* gcc.target/i386/avx2-pr70542.c: New test.
2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
PR tree-optimization/70509
* gcc.target/i386/avx512bw-pr70509.c: New test.
2016-04-05 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70452
* g++.dg/ext/constexpr-vla4.C: New test.
2016-04-05 Uros Bizjak <ubizjak@gmail.com>
PR target/70510
* gcc.target/i386/pr70510.c: New test.
2016-04-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/70526
* g++.dg/torture/pr70526.C: New testcase.
2016-04-05 Jakub Jelinek <jakub@redhat.com>
PR target/70525
* gcc.target/i386/pr70525.c: New test.
2016-04-05 Richard Biener <rguenther@suse.de>
PR middle-end/70499
* g++.dg/torture/pr70499.C: New testcase.
2016-04-05 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/20030814-6.c: Fix testcase, disable FRE,
remove XFAIL.
2016-04-04 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70307
* gcc.dg/torture/pr70307.c: Add -Wno-psabi to dg-options. Prune
rs6000 ABI warnings.
2016-04-04 Jan Hubicka <hubicka@ucw.cz>
PR ipa/66223
* g++.dg/ipa/devirt-51.C: New testcase.
2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Jakub Jelinek <jakub@redhat.com>
PR middle-end/70457
* gcc.dg/torture/pr70457.c: New.
2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/67538
* gfortran.dg/allocate_with_source_19.f08: New test.
2016-04-04 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/65795
* gfortran.dg/coarray_allocate_6.f08: New test.
2016-04-04 Richard Biener <rguenther@suse.de>
PR rtl-optimization/70484
* gcc.dg/torture/pr70484.c: New testcase.
2016-04-04 Marek Polacek <polacek@redhat.com>
PR c/70307
* gcc.dg/torture/pr70307.c: New test.
2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
PR target/70416
PR target/67391
* gcc.target/sh/torture/pr70416.c: New.
PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end of array fails inside constant expression PR c++/70170 - [6 regression] bogus not a constant expression error comparing pointer to array to null PR c++/70172 - incorrect reinterpret_cast from integer to pointer error on invalid constexpr initialization PR c++/70228 - insufficient detail in diagnostics for a constexpr out of bounds array subscript gcc/testsuite/ChangeLog: 2016-04-02 Martin Sebor <msebor@redhat.com> PR c++/67376 PR c++/70170 PR c++/70172 PR c++/70228 * g++.dg/cpp0x/constexpr-array-ptr10.C: New test. * g++.dg/cpp0x/constexpr-array-ptr9.C: New test. * g++.dg/cpp0x/constexpr-nullptr-1.C: New test. * g++.dg/cpp0x/constexpr-array5.C: Adjust text of expected diagnostic. * g++.dg/cpp0x/constexpr-string.C: Same. * g++.dg/cpp0x/constexpr-wstring2.C: Same. * g++.dg/cpp0x/pr65398.C: Same. * g++.dg/ext/constexpr-vla1.C: Same. * g++.dg/ext/constexpr-vla2.C: Same. * g++.dg/ext/constexpr-vla3.C: Same. * g++.dg/ubsan/pr63956.C: Same. gcc/cp/ChangeLog: 2016-04-02 Martin Sebor <msebor@redhat.com> PR c++/67376 PR c++/70170 PR c++/70172 PR c++/70228 * constexpr.c (diag_array_subscript): New function. (cxx_eval_array_reference): Detect out of bounds array indices. gcc/ChangeLog: 2016-04-02 Martin Sebor <msebor@redhat.com> PR c++/67376 * fold-const.c (maybe_nonzero_address): New function. (fold_comparison): Call it. Fold equality and relational expressions involving null pointers. (tree_single_nonzero_warnv_p): Call maybe_nonzero_address. From-SVN: r234698
2016-04-02 19:14:48 +02:00
2016-04-02 Martin Sebor <msebor@redhat.com>
PR c++/67376
PR c++/70170
PR c++/70172
PR c++/70228
* g++.dg/cpp0x/constexpr-array-ptr10.C: New test.
* g++.dg/cpp0x/constexpr-array-ptr9.C: New test.
* g++.dg/cpp0x/constexpr-nullptr-1.C: New test.
* g++.dg/cpp0x/constexpr-array5.C: Adjust text of expected diagnostic.
* g++.dg/cpp0x/constexpr-string.C: Same.
* g++.dg/cpp0x/constexpr-wstring2.C: Same.
* g++.dg/cpp0x/pr65398.C: Same.
* g++.dg/ext/constexpr-vla1.C: Same.
* g++.dg/ext/constexpr-vla2.C: Same.
* g++.dg/ext/constexpr-vla3.C: Same.
* g++.dg/ubsan/pr63956.C: Same.
2016-04-01 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70467
* gcc.target/i386/pr70467-2.c: New test.
2016-04-01 Jakub Jelinek <jakub@redhat.com>
Marek Polacek <polacek@redhat.com>
PR c++/70488
* g++.dg/init/new47.C: New test.
2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/70496
* gcc.target/arm/pr70496.c: New test.
2016-04-01 Nathan Sidwell <nathan@acm.org>
PR c++/68475
* g++.dg/g++.dg/cpp0x/noexcept29.C: New.
2016-04-01 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/69890
* gcc.dg/strlenopt.h (memmove): New.
* gcc.target/i386/chkp-strlen-1.c: Include "../../gcc.dg/strlenopt.h"
instead of "string.h".
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
2016-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/template/ptrmem30.C (read): Rename to data_read.
(Holder::foo): Reflect this.
2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/70442
* gcc.dg/pr70442.c: New test.
2016-03-31 Nathan Sidwell <nathan@acm.org>
PR c++/70393
* g++.dg/cpp0x/constexpr-virtual6.C: New.
2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70453
* gcc.target/i386/pr70453.c: New test.
2016-03-31 Andrey Belevantsev <abel@ispras.ru>
PR target/70292
* gcc.c-torture/pr70292.c: New test.
2016-03-31 Marek Polacek <polacek@redhat.com>
PR c/70297
* c-c++-common/pr70297.c: New test.
* g++.dg/cpp0x/typedef-redecl.C: New test.
* gcc.dg/typedef-redecl2.c: New test.
2016-03-31 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70460
* gcc.c-torture/execute/pr70460.c: New test.
2016-03-31 Richard Biener <rguenther@suse.de>
PR c++/70430
* g++.dg/ext/vector30.C: New testcase.
2016-03-30 Dominique d'Humieres <dominiq@lps.ens.fr>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/fmt_pf.f90: New test.
2016-03-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Forward-port from 5 branch
2016-03-30 Jakub Jelinek <jakub@redhat.com>
PR testsuite/70356
* gcc.target/i386/avx-vextractf128-256-5.c: Move
dg-require-effective-target after dg-do.
2015-12-30 Kirill Yukhin <kirill.yukhin@intel.com>
* gcc.target/i386/avx-vextractf128-256-5.c: New test.
Update OpenACC test cases gcc/testsuite/ * c-c++-common/goacc/combined-directives.c: Clean up dg-* directives. * c-c++-common/goacc/loop-clauses.c: Likewise. * g++.dg/goacc/template.C: Likewise. * gfortran.dg/goacc/combined-directives.f90: Likewise. * gfortran.dg/goacc/loop-1.f95: Likewise. * gfortran.dg/goacc/loop-5.f95: Likewise. * gfortran.dg/goacc/loop-6.f95: Likewise. * gfortran.dg/goacc/loop-tree-1.f90: Likewise. * c-c++-common/goacc-gomp/nesting-1.c: Update. * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise. * c-c++-common/goacc/clauses-fail.c: Likewise. * c-c++-common/goacc/parallel-1.c: Likewise. * c-c++-common/goacc/reduction-1.c: Likewise. * c-c++-common/goacc/reduction-2.c: Likewise. * c-c++-common/goacc/reduction-3.c: Likewise. * c-c++-common/goacc/reduction-4.c: Likewise. * c-c++-common/goacc/routine-3.c: Likewise. * c-c++-common/goacc/routine-4.c: Likewise. * c-c++-common/goacc/routine-5.c: Likewise. * c-c++-common/goacc/tile.c: Likewise. * g++.dg/goacc/template.C: Likewise. * gfortran.dg/goacc/combined-directives.f90: Likewise. * c-c++-common/goacc/nesting-1.c: Move dg-error test cases into... * c-c++-common/goacc/nesting-fail-1.c: ... this file. Update. * c-c++-common/goacc/kernels-1.c: Update. Incorporate... * c-c++-common/goacc/kernels-empty.c: ... this file, and... * c-c++-common/goacc/kernels-eternal.c: ... this file, and... * c-c++-common/goacc/kernels-noreturn.c: ... this file. * c-c++-common/goacc/host_data-1.c: New file. Incorporate... * c-c++-common/goacc/use_device-1.c: ... this file. * c-c++-common/goacc/host_data-2.c: New file. Incorporate... * c-c++-common/goacc/host_data-5.c: ... this file, and... * c-c++-common/goacc/host_data-6.c: ... this file. * c-c++-common/goacc/loop-2-kernels.c: New file. * c-c++-common/goacc/loop-2-parallel.c: Likewise. * c-c++-common/goacc/loop-3.c: Likewise. * g++.dg/goacc/reference.C: Likewise. * g++.dg/goacc/routine-1.C: Likewise. * g++.dg/goacc/routine-2.C: Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. XFAIL. * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. Incorporate... * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this file. * testsuite/libgomp.oacc-c++/template-reduction.C: New file. * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-variables.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this file... * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this file into... * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new file. Update. * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New file. * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: ... this new file. Update. * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: ... this new file. Update. * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New file. Incorporate... * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this file, and... * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this file, and... * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this file. * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> Co-Authored-By: James Norris <jnorris@codesourcery.com> Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com> Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r234575
2016-03-30 17:08:47 +02:00
2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
Julian Brown <julian@codesourcery.com>
Chung-Lin Tang <cltang@codesourcery.com>
Cesar Philippidis <cesar@codesourcery.com>
James Norris <jnorris@codesourcery.com>
Tom de Vries <tom@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
* c-c++-common/goacc/combined-directives.c: Clean up dg-* directives.
Update OpenACC test cases gcc/testsuite/ * c-c++-common/goacc/combined-directives.c: Clean up dg-* directives. * c-c++-common/goacc/loop-clauses.c: Likewise. * g++.dg/goacc/template.C: Likewise. * gfortran.dg/goacc/combined-directives.f90: Likewise. * gfortran.dg/goacc/loop-1.f95: Likewise. * gfortran.dg/goacc/loop-5.f95: Likewise. * gfortran.dg/goacc/loop-6.f95: Likewise. * gfortran.dg/goacc/loop-tree-1.f90: Likewise. * c-c++-common/goacc-gomp/nesting-1.c: Update. * c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise. * c-c++-common/goacc/clauses-fail.c: Likewise. * c-c++-common/goacc/parallel-1.c: Likewise. * c-c++-common/goacc/reduction-1.c: Likewise. * c-c++-common/goacc/reduction-2.c: Likewise. * c-c++-common/goacc/reduction-3.c: Likewise. * c-c++-common/goacc/reduction-4.c: Likewise. * c-c++-common/goacc/routine-3.c: Likewise. * c-c++-common/goacc/routine-4.c: Likewise. * c-c++-common/goacc/routine-5.c: Likewise. * c-c++-common/goacc/tile.c: Likewise. * g++.dg/goacc/template.C: Likewise. * gfortran.dg/goacc/combined-directives.f90: Likewise. * c-c++-common/goacc/nesting-1.c: Move dg-error test cases into... * c-c++-common/goacc/nesting-fail-1.c: ... this file. Update. * c-c++-common/goacc/kernels-1.c: Update. Incorporate... * c-c++-common/goacc/kernels-empty.c: ... this file, and... * c-c++-common/goacc/kernels-eternal.c: ... this file, and... * c-c++-common/goacc/kernels-noreturn.c: ... this file. * c-c++-common/goacc/host_data-1.c: New file. Incorporate... * c-c++-common/goacc/use_device-1.c: ... this file. * c-c++-common/goacc/host_data-2.c: New file. Incorporate... * c-c++-common/goacc/host_data-5.c: ... this file, and... * c-c++-common/goacc/host_data-6.c: ... this file. * c-c++-common/goacc/loop-2-kernels.c: New file. * c-c++-common/goacc/loop-2-parallel.c: Likewise. * c-c++-common/goacc/loop-3.c: Likewise. * g++.dg/goacc/reference.C: Likewise. * g++.dg/goacc/routine-1.C: Likewise. * g++.dg/goacc/routine-2.C: Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update. * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise. * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise. XFAIL. * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update. Incorporate... * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this file. * testsuite/libgomp.oacc-c++/template-reduction.C: New file. * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/private-variables.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise. * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise. * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise. * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this file... * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this file into... * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new file. Update. * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New file. * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to... * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: ... this new file. Update. * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to... * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: ... this new file. Update. * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New file. Incorporate... * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this file, and... * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this file, and... * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this file. * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file. Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com> Co-Authored-By: Chung-Lin Tang <cltang@codesourcery.com> Co-Authored-By: James Norris <jnorris@codesourcery.com> Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Nathan Sidwell <nathan@codesourcery.com> Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r234575
2016-03-30 17:08:47 +02:00
* c-c++-common/goacc/loop-clauses.c: Likewise.
* g++.dg/goacc/template.C: Likewise.
* gfortran.dg/goacc/combined-directives.f90: Likewise.
* gfortran.dg/goacc/loop-1.f95: Likewise.
* gfortran.dg/goacc/loop-5.f95: Likewise.
* gfortran.dg/goacc/loop-6.f95: Likewise.
* gfortran.dg/goacc/loop-tree-1.f90: Likewise.
* c-c++-common/goacc-gomp/nesting-1.c: Update.
* c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
* c-c++-common/goacc/clauses-fail.c: Likewise.
* c-c++-common/goacc/parallel-1.c: Likewise.
* c-c++-common/goacc/reduction-1.c: Likewise.
* c-c++-common/goacc/reduction-2.c: Likewise.
* c-c++-common/goacc/reduction-3.c: Likewise.
* c-c++-common/goacc/reduction-4.c: Likewise.
* c-c++-common/goacc/routine-3.c: Likewise.
* c-c++-common/goacc/routine-4.c: Likewise.
* c-c++-common/goacc/routine-5.c: Likewise.
* c-c++-common/goacc/tile.c: Likewise.
* g++.dg/goacc/template.C: Likewise.
* gfortran.dg/goacc/combined-directives.f90: Likewise.
* c-c++-common/goacc/nesting-1.c: Move dg-error test cases into...
* c-c++-common/goacc/nesting-fail-1.c: ... this file. Update.
* c-c++-common/goacc/kernels-1.c: Update. Incorporate...
* c-c++-common/goacc/kernels-empty.c: ... this file, and...
* c-c++-common/goacc/kernels-eternal.c: ... this file, and...
* c-c++-common/goacc/kernels-noreturn.c: ... this file.
* c-c++-common/goacc/host_data-1.c: New file. Incorporate...
* c-c++-common/goacc/use_device-1.c: ... this file.
* c-c++-common/goacc/host_data-2.c: New file. Incorporate...
* c-c++-common/goacc/host_data-5.c: ... this file, and...
* c-c++-common/goacc/host_data-6.c: ... this file.
* c-c++-common/goacc/loop-2-kernels.c: New file.
* c-c++-common/goacc/loop-2-parallel.c: Likewise.
* c-c++-common/goacc/loop-3.c: Likewise.
* g++.dg/goacc/reference.C: Likewise.
* g++.dg/goacc/routine-1.C: Likewise.
* g++.dg/goacc/routine-2.C: Likewise.
2016-03-30 Richard Biener <rguenther@suse.de>
PR middle-end/70450
* gcc.dg/torture/pr70450.c: New testcase.
2016-03-30 Jakub Jelinek <jakub@redhat.com>
PR target/70421
* gcc.dg/torture/pr70421.c: New test.
* gcc.target/i386/avx512f-pr70421.c: New test.
2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/70364
* gcc.target/i386/cleanup-1.c: Include <stddef.h>.
(check): New function.
(bar): Call check.
(foo): Align stack to 16 bytes when calling bar.
* gcc.target/i386/cleanup-2.c: Likewise.
2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
PR tree-optimization/59124
* gcc.dg/Warray-bounds-19.c: New test.
2016-03-29 Zachary T Welch <zwelch@codesourcery.com>
* lib/prune.exp (escape_regex_chars): New.
(prune_file_path): Update to quote metcharacters for regexp.
2016-03-29 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70429
* gcc.c-torture/execute/pr70429.c: New test.
PR tree-optimization/70405
* gcc.dg/pr70405.c: New test.
2016-03-29 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/70397
* gfortran.dg/unlimited_polymorphic_25.f90: New test.
* gfortran.dg/unlimited_polymorphic_26.f90: New test.
2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
PR testsuite/64177
* c-c++-common/cilk-plus/CK/spawning_arg.c (main): Call
__cilkrts_set_param to set two workers.
* c-c++-common/cilk-plus/CK/steal_check.c (main): Likewise.
* g++.dg/cilk-plus/CK/catch_exc.cc (main): Likewise.
2016-03-28 Dominique d'Humieres <dominiq@lps.ens.fr>
* g++.dg/ext/fnname5.C: Update the test for Darwin.
2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70406
* gcc.target/i386/pr70406.c: New test.
2016-03-27 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/double_record_extension3.ads: New test.
2016-03-25 Richard Henderson <rth@redhat.com>
PR target/70120
* gcc.target/aarch64/pr70120-1.c: New.
* gcc.target/aarch64/pr70120-2.c: New.
* gcc.target/aarch64/pr70120-3.c: New.
2016-03-25 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/62212
* g++.dg/template/mangle2.C: The dg-do directive should be
"compile" not "assemble".
2016-03-25 Bernd Schmidt <bschmidt@redhat.com>
PR lto/69650
* gcc.dg/pr69650.c: New test.
2016-03-25 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/ext/pr70290.C: Prune non-standard ABI.
2016-03-25 Alan Modra <amodra@gmail.com>
* gcc.dg/dfp/pr70052.c: New test.
2016-03-24 Richard Henderson <rth@redhat.com>
PR middle-end/69845
* gcc.dg/tree-ssa/pr69845-1.c: New test.
* gcc.dg/tree-ssa/pr69845-2.c: New test.
2016-03-24 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/host_data-tree.f95: Add missing initialization.
2016-03-24 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-use-device-clause.c: New test.
* gfortran.dg/goacc/uninit-use-device-clause.f95: New test.
2016-03-24 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-dim-clause.c: New test.
* gfortran.dg/goacc/uninit-dim-clause.f95: New test.
2016-03-24 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/62212
* g++.dg/template/mangle2.C: New test.
2016-03-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/70396
* gcc.dg/torture/pr70396.c: New testcase.
2016-03-24 Richard Biener <rguenther@suse.de>
PR middle-end/70370
* gcc.dg/torture/pr70370.c: New testcase.
2016-03-24 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/data-tree.f95: Add missing initialization.
* gfortran.dg/goacc/kernels-tree.f95: Same.
* gfortran.dg/goacc/parallel-tree.f95: Same.
2016-03-24 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/uninit-if-clause.c: New test.
* gfortran.dg/goacc/uninit-if-clause.f95: New test.
2016-03-24 Jakub Jelinek <jakub@redhat.com>
PR target/70290
* g++.dg/ext/pr70290.C: Add -Wno-psabi -w to dg-options.
Fix formatting.
2016-03-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/70372
* gcc.dg/tree-ssa/pr70372.c: New testcase.
2016-03-23 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70347
* g++.dg/cpp1y/nsdmi-union1.C: New test.
2016-03-23 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70332
* g++.dg/cpp1y/nsdmi-aggr5.C: New test.
2016-03-23 Jakub Jelinek <jakub@redhat.com>
PR c++/70001
* g++.dg/cpp0x/constexpr-70001-4.C: New test.
* g++.dg/cpp1y/pr70001.C: New test.
PR c++/70323
* g++.dg/cpp0x/constexpr-70323.C: New test.
2016-03-23 Alexandre Oliva <aoliva@redhat.com>
Jason Merrill <jason@redhat.com>
Jakub Jelinek <jakub@redhat.com>
PR c++/69315
* g++.dg/cpp0x/constexpr-69315.C: New test.
* g++.dg/cpp0x/variadic122.C: Change one dg-warning into dg-bogus.
2016-03-23 Marek Polacek <polacek@redhat.com>
PR c++/69884
* g++.dg/warn/Wignored-attributes-1.C: New test.
* g++.dg/warn/Wignored-attributes-2.C: New test.
2016-03-23 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/kernels-default.c (foo): Add missing
initialization.
* gfortran.dg/goacc/private-3.f95 (test): Same.
* gfortran.dg/goacc/routine-5.f90 (gang, worker, vector, seq): Add
missing use param.
2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp: Remove v7ve entry from loop
creating effective target checks.
(check_effective_target_arm_arch_v7ve_ok): New procedure.
(add_options_for_arm_arch_v7ve): Likewise.
2016-03-23 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70354
* gcc.dg/vect/pr70354-1.c: New test.
* gcc.dg/vect/pr70354-2.c: New test.
* gcc.target/i386/avx2-pr70354-1.c: New test.
* gcc.target/i386/avx2-pr70354-2.c: New test.
2016-03-22 Jeff Law <law@redhat.com>
PR target/70232
* gcc.dg/tree-ssa/pr70232.c: New test.
2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/70302
* gcc.target/i386/pr70302.c: New test.
2016-03-22 Richard Biener <rguenther@suse.de>
PR middle-end/70251
* g++.dg/torture/pr70251.C: New testcase.
2016-03-22 David Malcolm <dmalcolm@redhat.com>
PR c/69993
* c-c++-common/Wmisleading-indentation-3.c: New test, based on
Wmisleading-indentation.c.
* c-c++-common/Wmisleading-indentation.c: Update thoughout to
reflect change to diagnostic text and order of messages.
* gcc.dg/plugin/location-overflow-test-2.c: Likewise.
2016-03-22 David Edelsohn <dje.gcc@gmail.com>
* g++.dg/ext/java-3.C: Don't compile on AIX.
2016-03-22 Richard Biener <rguenther@suse.de>
PR middle-end/70333
* gcc.dg/torture/pr70333.c: New testcase.
2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
* g++.dg/ext/pr70290.C: New test.
2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70325
* gcc.target/i386/pr70325.c: New test.
2016-03-22 Jakub Jelinek <jakub@redhat.com>
PR target/70329
* gcc.target/i386/avx512bw-pr70329-1.c: New test.
* gcc.target/i386/avx512bw-pr70329-2.c: New test.
PR target/70300
* gcc.target/i386/pr70300.c: New test.
PR c++/70295
* c-c++-common/nonnull-1.c (func): Remove parens around cp4 != 0.
(func2): New function for cond with parens, xfail warning for c++.
* g++.dg/warn/Wnonnull-compare-8.C: New test.
2016-03-22 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70096
* g++.dg/template/ptrmem30.C: New test.
2016-03-22 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70204
* g++.dg/cpp0x/constexpr-70204a.C: New test.
* g++.dg/cpp0x/constexpr-70204b.C: New test.
2016-03-21 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70326
* gcc.dg/pr70326.c: New test.
2016-03-21 Marc Glisse <marc.glisse@inria.fr>
Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70317
* gcc.dg/pr70317.c: New test.
2016-03-21 Uros Bizjak <ubizjak@gmail.com>
PR target/70327
* gcc.target/i386/pr70327.c: New test.
2016-03-21 Martin Liska <mliska@suse.cz>
PR ipa/70306
* gcc.dg/ipa/pr70306.c: New test.
2016-03-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/attr-align1.c: Skip if M-profile.
* gcc.target/arm/attr-align3.c: Likewise.
* gcc.target/arm/attr_arm.c: Likewise.
* gcc.target/arm/flip-thumb.c: Likewise.
2016-03-21 Jakub Jelinek <jakub@redhat.com>
PR target/70296
* gcc.target/powerpc/altivec-36.c: New test.
2016-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/70310
* gcc.dg/torture/pr70310.c: New testcase.
2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
PR target/70293
* gcc.target/i386/pr70293.c: New test.
2016-03-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/70288
* gcc.dg/torture/pr70288-1.c: New testcase.
* gcc.dg/torture/pr70288-2.c: Likewise.
2016-03-21 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/69307
* gcc.target/arm/pr69307.c: New test.
2016-03-21 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/69102
* gcc.c-torture/compile/pr69102.c: New test.
2016-03-18 Jeff Law <law@redhat.com>
PR rtl-optimization/70263
* gcc.c-torture/compile/pr70263-1.c: New test.
* gcc.target/i386/pr70263-2.c: New test.
2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/70278
* gcc.dg/torture/pr70278.c: New test.
* gcc.target/arm/pr70278.c: New test.
2016-03-18 David Malcolm <dmalcolm@redhat.com>
PR c/70281
* gcc.dg/plugin/diagnostic-test-expressions-1.c
(test_builtin_types_compatible_p): New test function.
* gcc.dg/pr70281.c: New test case.
2016-03-18 Christophe Lyon <christophe.lyon@linaro.org>
PR target/70113
* gcc.target/aarch64/pr63304_1.c: Add -mno-fix-cortex-a53-843419.
2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
PR tree-optimization/70252
* gcc.dg/pr70252.c: New test.
2016-03-18 Tom de Vries <tom@codesourcery.com>
* gcc.dg/pr70161-2.c: New test.
* gcc.dg/pr70161.c: New test.
2016-03-18 Tom de Vries <tom@codesourcery.com>
PR ipa/70269
* gcc.dg/pr70269.c: New test.
2016-03-18 Jakub Jelinek <jakub@redhat.com>
PR c++/70267
* g++.dg/ext/java-3.C: New test.
2016-03-18 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70205
* g++.dg/lookup/pr70205.C: New test.
2016-03-18 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70218
* g++.dg/cpp0x/lambda/lambda-70218.C: New test.
2016-03-17 Marek Polacek <polacek@redhat.com>
PR c/69407
* gcc.dg/atomic-op-6.c: New test.
2016-03-17 David Malcolm <dmalcolm@redhat.com>
PR c/70264
* c-c++-common/pr70264.c: New test case.
2016-03-17 Jakub Jelinek <jakub@redhat.com>
PR c++/70144
* c-c++-common/pr70144-1.c: New test.
* c-c++-common/pr70144-2.c: New test.
PR c++/70272
* g++.dg/opt/flifetime-dse5.C (main): Remove extra semicolon.
* g++.dg/opt/flifetime-dse6.C: New test.
* g++.dg/tree-ssa/ehcleanup-1.C: Adjust unreachable count.
2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
PR driver/70192
* gcc.dg/pic-1.c: New test.
* gcc.dg/pic-2.c: Likewise.
* gcc.dg/pic-3.c: Likewise.
* gcc.dg/pic-4.c: Likewise.
* gcc.dg/pie-1.c: Likewise.
* gcc.dg/pie-2.c: Likewise.
* gcc.dg/pie-3.c: Likewise.
* gcc.dg/pie-4.c: Likewise.
* gcc.dg/pie-5.c: Likewise.
* gcc.dg/pie-6.c: Likewise.
2016-03-17 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-alias-3.f95: New test.
* gfortran.dg/goacc/kernels-alias-4.f95: New test.
2016-03-17 Richard Biener <rguenther@suse.de>
PR debug/70271
* g++.dg/debug/pr70271.C: New testcase.
2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
* gcc.target/i386/pr70251.c: New test.
2016-03-17 Marek Polacek <polacek@redhat.com>
PR c++/70194
* g++.dg/warn/constexpr-70194.C: New test.
2016-03-16 Richard Henderson <rth@redhat.com>
PR middle-end/70240
* gcc.c-torture/compile/pr70240.c: New.
2016-03-16 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* gcc.c-torture/compile/20151204.c: Skip for avr.
2016-03-16 Jakub Jelinek <jakub@redhat.com>
PR target/70245
* g++.dg/opt/pr70245.C: New test.
* g++.dg/opt/pr70245.h: New file.
* g++.dg/opt/pr70245-aux.cc: New file.
2016-03-16 Martin Sebor <msebor@redhat.com>
* g++.dg/cpp1y/constexpr-instantiate.C: Correct DejaGnu directives.
2016-03-16 Richard Henderson <rth@redhat.com>
PR middle-end/70199
* gcc.c-torture/compile/pr70199.c: New.
2016-03-16 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/uninit-19.c: Run dos2unix.
2016-03-16 Marek Polacek <polacek@redhat.com>
PR c/70093
* gcc.dg/nested-func-10.c: New test.
* gcc.dg/nested-func-9.c: New test.
2016-03-16 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/68714
* gcc.dg/tree-ssa/pr68714.c: Add -w -Wno-psabi to dg-options.
2016-03-16 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68715
* gcc.dg/graphite/pr68715-2.c: New test.
* gcc.dg/graphite/pr68715.c: New test.
* gfortran.dg/graphite/pr68715.f90: New test.
2016-03-16 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/68809
* gcc.dg/graphite/pr68809-2.c: New test.
* gcc.dg/graphite/pr68809.c: New test.
2016-03-16 Jakub Jelinek <jakub@redhat.com>
PR c++/70147
* g++.dg/ubsan/pr70147-2.C (C::C): Initialize A base with invalid
method call to i () as argument. Adjust expected output.
PR c++/70147
* g++.dg/ubsan/pr70147-1.C: New test.
* g++.dg/ubsan/pr70147-2.C: New test.
2016-03-15 Martin Sebor <msebor@redhat.com>
PR c++/58281
* g++.dg/cpp1y/constexpr-instantiate.C: Add new test.
2016-03-15 John David Anglin <danglin@gcc.gnu.org>
* gcc.c-torture/execute/pr68532.c: Add -fno-common option on
hppa*-*-hpux*.
* gcc.dg/ifcvt-4.c: Add hppa*64*-*-* to skip list.
PR libfortran/69799
* gfortran.dg/coarray_allocate_5.f08: Add "-latomic" option if
libatomic_available.
2016-03-15 Marek Polacek <polacek@redhat.com>
PR c++/70209
* g++.dg/ext/attribute-may-alias-4.C: New test.
2016-03-15 Alexander Monakov <amonakov@ispras.ru>
* g++.dg/pr63384.C: Add -w to dg-options. Remove '-toggle' in
-fvar-tracking-assignments-toggle flag.
2016-03-15 Pat Haugen <pthaugen@us.ibm.com>
* gcc.dg/ifcvt-4.c: Add -misel for powerpc*.
2016-03-15 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70222
* gcc.c-torture/execute/pr70222-1.c: New test.
* gcc.c-torture/execute/pr70222-2.c: New test.
2016-03-15 Richard Henderson <rth@redhat.com>
* gcc.dg/tree-ssa/pr68714.c: Test during reassoc1 pass.
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/69032
* gcc.dg/pr69032.c: New test.
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/63384
* g++.dg/pr63384.C: New test.
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
PR target/64411
* gcc.target/i386/pr64411.C: New test.
2016-03-15 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-alias-2.f95: New test.
* gfortran.dg/goacc/kernels-alias.f95: New test.
2016-03-14 Martin Sebor <msebor@redhat.com>
PR c++/53792
* g++.dg/cpp0x/constexpr-inline.C: New test.
* g++.dg/cpp0x/constexpr-inline-1.C: Same.
2016-03-14 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/torture/pr70083.c: Prune non-standard ABI.
2016-03-14 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70219
* gcc.dg/pr70219.c: New test.
2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
PR target/70083
* gcc.dg/torture/pr70083.c: New test.
* gcc.target/i386/pr70083.c: New test.
2016-03-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/56365
* gcc.dg/tree-ssa/phi-opt-14.c: New testcase.
rs6000: Handle "d" output in the bd*z patterns (PR70098) In the rs6000 port, FLOAT_REGS can contain DImode values when compiling for 64-bit targets. Some instructions (like "fcfid" in the testcase, convert from integer to DP float) only work on floating point registers. So, we do want to allow DImode in these regs. Now, in unusual cases IRA will assign FLOAT_REGS to some allocno where some insns cannot handle FLOAT_REGS there, so they will need a reload. Maybe IRA can be made smarter, but it isn't doing anything wrong here, so we should be able to handle it. The place it goes wrong is in the output of the *ctrdi_internal[1256] pattern: the "bdz" and "bdnz" instructions. GCC refuses to do output reloads on JUMP_INSNs, probably because it is hard to do, needs different strategies than "normal" reloads do, and it cannot even be done at all for general patterns. So JUMP_INSNs need to be able to handle every possible output for the register class used. These patterns already handle writing to "c" (the base insn case), and to "r", "m", and "c" or "l"; all those via splitters. We just need to handle "d" as well. That is what this patch does. [A predicate in one of the splitters needs to be touched up so that the correct splitter is used for the FLOAT_REGS case.] But, that leaves another problem. One of the insns that are split to is a move from a GPR to an FPR. That work fine on targets with direct move (which does exactly that), i.e. power8 and up. But older targets need memory to do the move, and this splitter runs after reload so it cannot allocate memory; and allocating memory beforehand for every bdnz insn is pretty horrible as well. This patch implements the easy part. With it, power8 works, where it didn't before. PR target/70098 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. (define_split for the GPR case): Use int_reg_operand instead of gpc_reg_operand for the output. gcc/testsuite/ PR target/70098 * lib/target-supports.exp (check_effective_target_powerpc64_no_dm): New function. * g++.dg/pr70098.C: New testcase. From-SVN: r234181
2016-03-14 15:18:44 +01:00
2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
PR target/70098
* lib/target-supports.exp (check_effective_target_powerpc64_no_dm):
New function.
* g++.dg/pr70098.C: New testcase.
2016-03-14 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/70045
* gcc.dg/graphite/pr70045.c: New test.
2016-03-13 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69043
* gfortran.dg/include_9.f90: New test.
2016-03-13 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/45076
gfortran.dg/prof/prof.exp: New script.
gfortran.dg/prof/dynamic_dispatch_6.f03: New test.
2016-03-12 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/69307
* gcc.dg/pr69307.c: New test.
2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
PR target/69614
* gcc.target/arm/pr69614.c: New.
2016-03-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/70031
* gfortran.dg/submodule_14.f08: New test
PR fortran/69524
* gfortran.dg/submodule_15.f08: New test
2016-03-12 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/70106
* g++.dg/cpp1y/paren3.C: New test.
2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70131
* gcc.target/powerpc/ppc-round2.c: New test.
2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
PR target/70123
* gcc.dg/torture/pr70123.c: New test.
2016-03-11 Jeff Law <law@redhat.com>
PR tree-optimization/70190
* gcc.c-torture/compile/pr70190.c: New test.
2016-03-11 David Malcolm <dmalcolm@redhat.com>
PR c/68187
* c-c++-common/Wmisleading-indentation.c (test43_a): New test
case.
(test43_b): Likewise.
(test43_c): Likewise.
(test43_d): Likewise.
(test43_e): Likewise.
(test43_f): Likewise.
(test43_g): Likewise.
(test44_a): Likewise.
(test44_b): Likewise.
(test44_c): Likewise.
(test44_d): Likewise.
(test44_e): Likewise.
2016-03-11 David Malcolm <dmalcolm@redhat.com>
PR c/70085
* c-c++-common/Wmisleading-indentation.c (pr70085): New test case.
2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/vect-reduc-or_1.c: Add -fno-vect-cost-model to
dg-options.
2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/70002
PR target/69245
* gcc.target/aarch64/pr69245_2.c: New test.
2016-03-11 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70177
* gcc.dg/pr70177.c: New test.
2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
* gfortran.dg/unconstrained_commons.f: Widen regexp to match j_<N>.
2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
* gcc.dg/tree-ssa/sra-20.c: New.
2016-03-11 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/70174
* gcc.dg/pr70174.c: New test.
PR tree-optimization/70169
* gcc.dg/pr70169.c: New test.
2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/70160
* gcc.target/i386/pr70160.c: New test.
2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/dfp-1.c: New test.
2016-03-10 Nick Clifton <nickc@redhat.com>
PR target/70044
* gcc.target/aarch64/pr70044.c: New test.
2016-03-10 Patrick Palka <ppalka@gcc.gnu.org>
Jakub Jelinek <jakub@redhat.com>
PR c++/70001
* g++.dg/cpp0x/constexpr-70001-1.C: New test.
* g++.dg/cpp0x/constexpr-70001-2.C: New test.
* g++.dg/cpp0x/constexpr-70001-3.C: New test.
2016-03-10 Jan Hubicka <hubicka@ucw.cz>
PR lto/69589
* g++.dg/lto/pr69589_0.C: New testcase
* g++.dg/lto/pr69589_1.C: New testcase
2016-03-10 Marek Polacek <polacek@redhat.com>
PR c++/70153
* g++.dg/delayedfold/unary-plus1.C: New test.
2016-03-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/pr45701-1.c: Escape brackets.
* gcc.target/arm/pr45701-2.c: Likewise.
2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
* gfortran.dg/unconstrained_commons.f: New.
2016-03-10 Alan Modra <amodra@gmail.com>
* gcc.dg/pr69195.c: New.
* gcc.dg/pr69238.c: New.
2016-03-10 Tom de Vries <tom@codesourcery.com>
PR testsuite/68915
* gcc.dg/vect/pr46032.c: Xfail scan if alignment requirements not met.
2016-03-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/70128
* gcc.dg/tree-ssa/alias-34.c: New testcase.
* gcc.dg/tree-ssa/alias-35.c: Likewise.
2016-03-09 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70152
* gcc.dg/pr70152.c: New test.
PR target/70086
* gcc.target/i386/pr70086-1.c: New test.
* gcc.target/i386/pr70086-2.c: New test.
* gcc.target/i386/pr70086-3.c: New test.
PR tree-optimization/70127
* gcc.c-torture/execute/pr70127.c: New test.
2016-03-09 Cesar Philippidis <cesar@codesourcery.com>
* c-c++-common/goacc/combined-directives-2.c: New test.
PR c++/70105: prevent nonsensical underline spew for macro expansions diagnostic_show_locus can sometimes do the wrong thing when handling expressions built up from macros. PR c++/70105 (currently marked as a P3 regression) has an example of a diagnostic where over 500 lines of irrelevant source are printed, and underlined, giving >1000 lines of useless spew to stderr. This patch adds extra sanitization to diagnostic-show-locus.c, so that we only attempt to print underlines and secondary locations if such locations are "sufficiently sane" relative to the primary location of a diagnostic. This "sufficiently sane" condition is implemented by a new helper function compatible_locations_p, which requires such locations to have the same macro expansion hierarchy as the primary location, using linemap_macro_map_loc_unwind_toward_spelling, effectively mimicing the expansion performed by LRK_SPELLING_LOCATION. This may be too strong a condition, but it effectively fixes PR c++/70105, without removing any underlines in my testing. Successfully bootstrapped&regrtested in combination with the previous patch on x86_64-pc-linux-gnu; adds 15 new PASS results to g++.sum and 4 new PASS results to gcc.sum. gcc/ChangeLog: PR c/68473 PR c++/70105 * diagnostic-show-locus.c (compatible_locations_p): New function. (layout::layout): Sanitize ranges using compatible_locations_p. gcc/testsuite/ChangeLog: PR c/68473 PR c++/70105 * g++.dg/diagnostic/pr70105.C: New test. * gcc.dg/plugin/diagnostic-test-expressions-1.c (foo): New decl. (test_multiple_ordinary_maps): New test function. libcpp/ChangeLog: PR c/68473 PR c++/70105 * line-map.c (linemap_macro_map_loc_unwind_toward_spelling): Move decl... * include/line-map.h (linemap_macro_map_loc_unwind_toward_spelling): ...here, converting from static to extern. From-SVN: r234088
2016-03-09 19:23:27 +01:00
2016-03-09 David Malcolm <dmalcolm@redhat.com>
PR c/68473
PR c++/70105
* g++.dg/diagnostic/pr70105.C: New test.
* gcc.dg/plugin/diagnostic-test-expressions-1.c (foo): New decl.
(test_multiple_ordinary_maps): New test function.
PR c++/70105: Defer location expansion until diagnostic_show_locus gcc/ChangeLog: PR c/68473 PR c++/70105 * diagnostic-show-locus.c (layout_range::layout_range): Replace location_range param with three const expanded_locations * and a bool. (layout::layout): Replace call to rich_location::lazily_expand_location with get_expanded_location. Extract the range and perform location expansion here, passing the results to the layout_range ctor. * diagnostic.c (source_range::debug): Delete. * diagnostic.h (diagnostic_expand_location): Reimplement in terms of rich_location::get_expanded_location. * gcc-rich-location.c (get_range_for_expr): Delete. (gcc_rich_location::add_expr): Reimplement to avoid the rich_location::add_range overload that took a location_range, passing a location_t instead. gcc/testsuite/ChangeLog: PR c/68473 PR c++/70105 * gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree): Drop range information from call to inform_at_rich_loc. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (add_range): New. (test_show_locus): Replace calls to rich_location::add_range with calls to add_range. Rewrite the tests that used the now-defunct rich_location ctor taking a source_range. Simplify other tests by replacing calls to COMBINE_LOCATION_DATA with calls to make_location. libcpp/ChangeLog: PR c/68473 PR c++/70105 * include/line-map.h (source_range::debug): Delete. (struct location_range): Update comment. Replace expanded_location fields "m_start", "m_finish", and "m_caret" with a source_location field: "m_loc". (class rich_location): Reword comment. (rich_location::get_loc): Reimplement in terms of a new overloaded variant which takes an unsigned int. (rich_location::get_loc_addr): Delete. (rich_location::add_range): Drop params "start" and "finish" in favor of param "loc". Drop overloaded variants taking a source_range or location_range *. (rich_location::lazily_expand_location): Delete in favor of... (rich_location::get_expanded_location): New decl. (rich_location::m_loc): Delete field. (rich_location::m_column_override): New field. * line-map.c (rich_location::rich_location): Drop name of line_maps * param. Update initializations for deletion of field "m_loc" and addition of field "m_column_override". Reimplement body as a call to add_range. Delete overloaded variant taking a source_range. (rich_location::get_loc): New function. (rich_location::lazily_expand_location): Delete in favor of... (rich_location::get_expanded_location): New function. (rich_location::override_column): Reimplement. (rich_location::add_range): Drop params "start" and "finish" in favor of param "loc". Eliminate location expansion in favor of simply storing loc. Drop overloaded variants taking a source_range or location_range *. (rich_location::set_range): Eliminate location expansion. From-SVN: r234087
2016-03-09 19:14:43 +01:00
2016-03-09 David Malcolm <dmalcolm@redhat.com>
PR c/68473
PR c++/70105
* gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree):
Drop range information from call to inform_at_rich_loc.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (add_range):
New.
(test_show_locus): Replace calls to rich_location::add_range with
calls to add_range. Rewrite the tests that used the now-defunct
rich_location ctor taking a source_range. Simplify other tests
by replacing calls to COMBINE_LOCATION_DATA with calls to
make_location.
2016-03-09 Richard Biener <rguenther@suse.de>
Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/70138
* gcc.dg/vect/pr70138-1.c: New testcase.
* gcc.dg/vect/pr70138-2.c: Likewise.
2016-03-09 Jakub Jelinek <jakub@redhat.com>
PR target/70049
* gcc.target/i386/pr70049.c: New test.
2016-03-09 Richard Biener <rguenther@suse.de>
PR c/70143
* gcc.dg/Wstrict-aliasing-bogus-upcast.c: New testcase.
* gcc.dg/Wstrict-aliasing-struct-with-char-member.c: Likewise.
* gcc.dg/Wstrict-aliasing-struct-member.c: Remove again.
2016-03-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/vect/bb-slp-34.c: Really don't xfail on aarch64-*-*,
arm-*-*.
2016-03-09 Jakub Jelinek <jakub@redhat.com>
PR middle-end/67278
* gcc.dg/simd-7.c: Add -w -Wno-psabi to dg-options.
PR target/67278
* gcc.dg/simd-8.c: Add -w -Wno-psabi to dg-options.
PR middle-end/70050
* gcc.dg/pr70050.c: Add -w to dg-options. Fix up PR number
in testcase comment.
2016-03-09 Tom de Vries <tom@codesourcery.com>
* gfortran.dg/goacc/kernels-loop-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-enter-exit-2.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-enter-exit.f95: New test.
* gfortran.dg/goacc/kernels-loop-data-update.f95: New test.
* gfortran.dg/goacc/kernels-loop-data.f95: New test.
* gfortran.dg/goacc/kernels-loop-n.f95: New test.
* gfortran.dg/goacc/kernels-loop.f95: New test.
2016-03-08 Martin Sebor <msebor@redhat.com>
PR c++/62096
* g++.dg/warn/overflow-warn-7.C: New test.
2016-03-08 Jason Merrill <jason@redhat.com>
* lib/g++-dg.exp (g++-dg-runtest): Handle "concepts" in std list.
* lib/target-supports.exp (check_effective_target_concepts): New.
2016-03-08 Jakub Jelinek <jakub@redhat.com>
PR c++/70135
* g++.dg/cpp1y/constexpr-loop4.C: New test.
* g++.dg/ubsan/pr70135.C: New test.
PR target/70110
* gcc.dg/pr70110.c: New test.
2016-03-07 Martin Jambor <mjambor@suse.cz>
* c-c++-common/gomp/clauses-1.c: Remove dg-options.
* c-c++-common/gomp/if-1.c: Likewise.
* c-c++-common/gomp/pr61486-2.c: Likewise.
* c-c++-common/gomp/target-teams-1.c: Moved dg-options except -fopenmp
to dg-additional-options.
* g++.dg/gomp/gomp.exp: Pass -Wno-hsa to all tests.
* g++/gomp/target-teams-1.c: Likewise.
* gcc.dg/gomp/gomp.exp: Likewise.
* gcc.dg/gomp/pr68128-2.c: Moved dg-options except -fopenmp to
dg-additional-options.
* gfortran.dg/gomp/gomp.exp: Likewise.
* gfortran.dg/gomp/target1.f90: Remove dg-options.
* gfortran.dg/gomp/target2.f90: Moved dg-options except -fopenmp to
dg-additional-options.
* gfortran.dg/gomp/target3.f90: Remove dg-options.
2016-03-07 Martin Jambor <mjambor@suse.cz>
* lib/target-supports.exp (check_effective_target_offload_hsa): New.
* c-c++-common/gomp/gridify-1.c: New test.
* gfortran.dg/gomp/gridify-1.f90: Likewise.
2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/pr45701-1.c: Change assembler scan to not
trigger for cortex-r8, when scanning for register r8.
* gcc.target/arm/pr45701-2.c: Likewise.
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
2016-03-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* lib/target-supports.exp
(check_effective_target_whole_vector_shift): Enable for PPC64.
2016-03-07 Richard Biener <rguenther@suse.de>
PR tree-optimization/70115
* gcc.dg/torture/pr70115.c: New testcase.
2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
PR middle-end/69916
* c-c-++-common/goacc/pr69916.c: New.
2016-03-07 Richard Henderson <rth@redhat.com>
* gcc.c-torture/compile/pr70061.c: New test.
2016-03-07 Richard Biener <rguenther@suse.de>
PR testsuite/70109
* gcc.dg/vect/O3-pr36098.c: New testcase.
2016-03-07 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/pragma_cpp_fma.c: Reset default FPU.
2016-03-07 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/renaming9.ad[sb]: New testcase.
2016-03-05 Jakub Jelinek <jakub@redhat.com>
PR c++/70084
* g++.dg/expr/stdarg3.C: New test.
2016-03-04 Jeff Law <law@redhat.com>
PR tree-optimization/69196
* gcc.dg/tree-ssa/pr69196-1.c: Limit this to sparc*-*-* and
x86_64-*-*.
2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
PR c/69973
* gcc.dg/pr69973.c: New test.
PR rtl-optimization/69941
* gcc.dg/torture/pr69941.c: New test.
PR c/69824
* gcc.dg/pr69824.c: New test.
2016-03-05 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/nesting-fail-1.c (f_acc_routine): New function.
* c-c++-common/goacc-gomp/nesting-fail-1.c (f_acc_routine): New
function.
2016-03-05 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/66786
* g++.dg/cpp1y/var-templ48.C: New test.
* g++.dg/cpp1y/var-templ49.C: New test.
2016-03-04 Eric Botcazou <ebotcazou@adacore.com>
* g++.dg/Wno-frame-address.C: Skip on IA-64.
2016-03-04 Jakub Jelinek <jakub@redhat.com>
PR c++/70035
* g++.dg/ubsan/pr70035.C: New test.
PR target/70062
* gcc.target/i386/pr70062.c: New test.
2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/template/typename21.C: Remove c++98_only.
2016-03-04 H.J. Lu <hongjiu.lu@intel.com>
* g++.dg/template/typename21.C: Replace c++98 with c++98_only.
2016-03-04 David Malcolm <dmalcolm@redhat.com>
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_42_a): New test
function.
(fn_42_b): Likewise.
(fn_42_c): Likewise.
2016-03-04 David Malcolm <dmalcolm@redhat.com>
PR c/68187
* c-c++-common/Wmisleading-indentation.c (fn_40_a): New test
function.
(fn_40_b): Likewise.
(fn_41_a): Likewise.
(fn_41_b): Likewise.
2016-03-04 Jakub Jelinek <jakub@redhat.com>
PR target/70059
* gcc.target/i386/avx512f-pr70059.c: New test.
* gcc.target/i386/avx512dq-pr70059.c: New test.
2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
PR rtl-optimization/57676
* gcc.dg/torture/pr57676.c: New test.
2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
* gcc.dg/pr70026.c: New test.
2016-03-04 Marek Polacek <polacek@redhat.com>
PR c/69798
* gcc.dg/cilk-plus/pr69798-1.c: New test.
* gcc.dg/cilk-plus/pr69798-2.c: New test.
2016-03-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/70004
* gcc.target/aarch64/scalar_shift_1.c: (test_corners_sisd_di):
Delete.
(test_corners_sisd_si): Likewise.
(main): Remove checks of the above.
* gcc.target/aarch64/shift_wide_invalid_1.c: New test.
2016-03-04 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/Wno-frame-address.c: Skip on IA-64.
2016-03-04 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.dg/torture/pr69951.c: Accept argc==0.
2016-03-04 Richard Biener <rguenther@suse.de>
PR c++/70054
* g++.dg/warn/Wstrict-aliasing-bogus-union-2.C: New testcase.
* gcc.dg/Wstrict-aliasing-struct-member.c: New testcase.
2016-03-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR testsuite/69766
* go.test/go-test.exp: S/390: Set GOARCH to the current target when
testing multiarch.
2016-03-04 Jakub Jelinek <jakub@redhat.com>
PR debug/69947
* gcc.dg/guality/pr69947.c: New test.
2016-03-03 Jakub Jelinek <jakub@redhat.com>
PR ada/70017
* gcc.dg/pr70017.c (foo): Store 0 to first element of each array.
2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/69904
* gcc.target/arm/pr69904.c: New test.
2016-03-03 Jakub Jelinek <jakub@redhat.com>
PR target/70021
* gcc.dg/vect/pr70021.c: New test.
* gcc.target/i386/pr70021.c: New test.
2016-03-03 Marek Polacek <polacek@redhat.com>
PR middle-end/70050
* gcc.dg/pr70050.c: New test.
2016-03-03 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/vect/bb-slp-34.c: Don't XFAIL for ARM/AArch64.
2016-03-03 Ilya Enkovich <enkovich.gnu@gmail.com>
PR tree-optimization/70043
* gfortran.dg/vect/pr70043.f90: New test.
2016-03-03 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/task1.ads: New test.
2016-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* lib/gcc-gdb-test.exp (gdb-test): Make log message match command.
Invoke gdb with -batch.
* lib/gcc-simulate-thread.exp (simulate-thread): Likewise.
2016-03-03 Richard Biener <rguenther@suse.de>
PR tree-optimization/55936
* gcc.dg/tree-ssa/vrp06.c: Remove XFAIL.
2016-03-02 Jeff Law <law@redhat.com>
PR rtl-optimization/69942
* gcc.dg/ifcvt-5.c: Use "word_mode" rather than "int" to limit the
effects of argument promotions.
PR tree-optimization/69987
* gfortran.dg/pr69987.f90: Use "-w" to avoid failures when the
target does not support -fprefetch-loop-arrays.
2016-03-02 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/bmi2-bzhi-2.c: Change to runtime test.
2016-03-02 Bin Cheng <bin.cheng@arm.com>
PR rtl-optimization/69052
* gcc.target/i386/pr69052.c: New test.
2016-03-02 Alan Modra <amodra@gmail.com>
* gcc.dg/pr69990.c: New.
2016-03-02 Jakub Jelinek <jakub@redhat.com>
PR c/68062
* c-c++-common/vector-compare-4.c: Add -Wno-psabi to dg-options.
PR middle-end/70022
* gcc.dg/pr70022.c: Add -w -Wno-psabi to dg-options.
PR target/70028
* gcc.target/i386/pr70028.c: New test.
2016-03-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
* c-c++-common/asan/swapcontext-test-1.c,
* c-c++-common/tsan/thread_leak.c,
* g++.dg/tsan/aligned_vs_unaligned_race.C,
* g++.dg/tsan/benign_race.C,
* g++.dg/tsan/fd_close_norace.C,
* g++.dg/tsan/fd_close_norace2.C: Print markers to stderr to avoid
races with sanitizer output
2016-03-02 Richard Biener <rguenther@suse.de>
Uros Bizjak <ubizjak@gmail.com>
PR target/67278
* gcc.dg/simd-8.c: New testcase.
2016-03-02 Richard Biener <rguenther@suse.de>
PR middle-end/67278
* gcc.dg/simd-7.c: New testcase.
2016-03-02 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/i386/pr70007.c: Tweak.
2016-03-02 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gfortran.dg/bessel_6.f90: Reduce accuracy for S/390.
2016-03-02 Marek Polacek <polacek@redhat.com>
PR c/67854
* gcc.dg/pr67854.c: New test.
2016-03-02 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70025
* gcc.dg/torture/pr70025.c: New test.
2016-03-02 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
PR tree-optimization/68621
* gcc.dg/tree-ssa/ifc-8.c: Adjust test.
2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/i386/pr70007.c: New test.
2016-03-01 Jeff Law <law@redhat.com>
PR tree-optimization/69196
* gcc.dg/tree-ssa/pr69196-1.c: New test.
PR tree-optimization/69196
* gcc.dg/tree-ssa/vrp46.c: Twiddle threading params to keep it from
duplicating code and spoiling the expected output.
2016-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70033
* gcc.target/powerpc/p9-lxvx-stxvx-1.c: Make sure compiler
supports power9 before doing tests.
* gcc.target/powerpc/p9-lxvx-stxvx-2.c: Likewise.
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: Likewise.
* gcc.target/powerpc/p9-permute.c: Likewise.
2016-03-01 Uros Bizjak <ubizjak@gmail.com>
PR target/70027
* gcc.target/i386/pr70027.c: New test.
2016-03-01 21:05:31 +01:00
2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/pr70017.c: New test.
2016-03-01 Jakub Jelinek <jakub@redhat.com>
PR c/69796
PR c/69974
* gcc.dg/pr69796.c: New test.
* gcc.dg/pr69974.c: New test.
2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/stack_usage3.adb: Robustify and enable for all targets.
2016-02-29 Jeff Law <law@redhat.com>
PR tree-optimization/69987
* gfortran.dg/pr69987.f90: New test.
PR tree-optimization/69989
* gcc.c-torture/compile/pr69989-2.c: New test.
2016-03-01 Marek Polacek <polacek@redhat.com>
PR c++/69795
* g++.dg/parse/invalid1.C: New test.
2016-03-01 Richard Biener <rguenther@suse.de>
PR middle-end/70022
* gcc.dg/pr70022.c: New testcase.
2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
PR tree-optimization/69956
* gcc.dg/pr69956.c: New test.
2016-02-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/70011
* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr299925.c:
XFAIL when hardware supports efficient unaligned storage access.
2016-03-01 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69961
* g++.dg/template/pr69961a.C: New test.
* g++.dg/template/pr69961b.C: New test.
2016-02-29 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69985
* gcc.dg/cpp/pr69985.c: New test case.
2016-02-29 Jeff Law <law@redhat.com>
PR tree-optimization/70005
* gcc.c-torture/execute/pr70005.c New test.
PR tree-optimization/69999
* gcc.c-torture/compile/pr69999.c: New test.
2016-02-29 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: Delete test.
* gcc.dg/vect/pr69652.c: New test.
2016-02-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69980
* gfortran.dg/vect/pr69980.f90: New testcase.
re PR target/69706 (internal compiler error: in extract_constrain_insn, at recog.c:2246) PR target/69706 * config/sparc/sparc.c (ROUND_ADVANCE): Rename to... (NWORDS_UP): ...this (init_cumulative_args): Minor tweaks. (sparc_promote_function_mode): Likewise. (scan_record_type): Delete. (traverse_record_type): New function template. (classify_data_t): New structure type. (classify_registers): New inline function. (function_arg_slotno): In 64-bit mode, bail out early if FP slots are exhausted. Instantiate traverse_record_type on classify_registers and deal with the case of a structure passed in slot #15 with no FP field in the first word. (assign_data_t): New structure type. (compute_int_layout): New static function. (compute_fp_layout): Likewise. (count_registers): New inline function. (assign_int_registers): New static function. (assign_fp_registers): Likewise. (assign_registers): New inline function. (function_arg_record_value_1): Delete. (function_arg_record_value_2): Likewise. (function_arg_record_value_3): Likewise. (function_arg_record_value): Adjust to above changes. Instantiate traverse_record_type on count_registers to first count the number of registers to be used and then on assign_registers to assign them. (function_arg_union_value): Adjust to above renaming. (sparc_function_arg_1); Minor tweaks. Remove commented out code. (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the case of a structure passed in slot #15 (sparc_function_arg_advance): Likewise. (function_arg_padding): Minor tweak. From-SVN: r233808
2016-02-29 11:20:31 +01:00
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20160229-1.c: New test.
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/stack_usage3.adb: New test.
* gnat.dg/stack_usage3_pkg.ads: New helper.
2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/renaming8.adb: New test.
* gnat.dg/renaming8_pkg1.ads: New helper.
* gnat.dg/renaming8_pkg2.ad[sb]: Likewise.
* gnat.dg/renaming8_pkg3.ad[sb]: Likewise.
2016-02-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69720
* gcc.dg/vect/vect-outer-pr69720.c: New testcase.
2016-02-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/68147
PR fortran/47674
* gfortran.dg/realloc_on_assign_26.f90: New test case.
2016-02-28 Harald Anlauf <anlauf@gmx.de>
Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/56007
* gfortran.dg/coarray_8.f90: Adjust error message.
* gfortran.dg/pr56007.f90: New test.
* gfortran.dg/pr56007.f: New test.
2016-02-28 H.J. Lu <hongjiu.lu@intel.com>
PR tree-optimization/69989
* gcc.dg/torture/pr69989.c: New test.
2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/i386/stack-realign-win.c: New test.
2016-02-28 Harald Anlauf <anlauf@gmx.de>
PR fortran/60126
* gfortran.dg/pr60126.f90: New test.
2016-02-27 Jeff Law <law@redhat.com>
Revert
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
2016-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69910
* gfortran.dg/newunit_4.f90: New test.
2016-02-27 Jakub Jelinek <jakub@redhat.com>
PR target/69613
PR rtl-optimization/69886
* gcc.dg/torture/pr69886.c: Add -w -Wno-psabi to dg-options.
* gcc.dg/torture/pr69613.c: Likewise. Guard -mavx with avx_runtime
target.
2016-02-26 Martin Sebor <msebor@redhat.com>
PR tree-optimization/15826
* gcc.dg/tree-ssa/pr15826.c: New test.
2016-02-26 Jakub Jelinek <jakub@redhat.com>
PR target/69969
* gcc.target/powerpc/pr69969.c: New test.
2016-02-26 Martin Sebor <msebor@redhat.com>
PR c++/15766
* g++.old-deja/g++.other/decl5.C: Add a test case.
2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
PR target/69946
* gcc.target/powerpc/pr69946.c: New file.
2016-02-26 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR tree-optimization/69740
* gcc.c-torture/compile/pr69740-1.c: New test.
* gcc.c-torture/compile/pr69740-2.c: New test.
2016-02-26 Martin Jambor <mjambor@suse.cz>
PR middle-end/69920
* gcc.dg/torture/pr69932.c: New test.
* gcc.dg/torture/pr69936.c: Likewise.
2016-02-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR target/69709
* gcc.target/s390/pr69709.c: New test.
2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69245
* gcc.target/aarch64/pr69245_1.c: New test.
2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69613
* gcc.dg/torture/pr69613.c: New test.
2016-02-26 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/69891
* gcc.target/i386/pr69891.c: New test.
2016-02-26 Michael Meissner <meissner@linux.vnet.ibm.com>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/61397
* gcc.target/powerpc/p8vector-ldst.c: Adjust to test desired
functionality for both 32-bit and 64-bit.
2016-02-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/69551
* gcc.dg/torture/pr69951.c: New testcase.
2016-02-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/48795
* gcc.dg/Warray-bounds-18.c: New testcase.
2016-02-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/ext/attr-constructor1.C: Require init_priority support.
2016-02-25 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/69896
* gcc.dg/pr69896.c: New test.
2016-02-25 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69736
* g++.dg/cpp1y/paren2.C: New test.
2016-02-24 Martin Sebor <msebor@redhat.com>
PR c/51147
* gcc.dg/enum-mode-2.c: New test.
2016-02-24 Jakub Jelinek <jakub@redhat.com>
PR c++/69922
* g++.dg/warn/Wnonnull-compare-6.C: New test.
* g++.dg/warn/Wnonnull-compare-7.C: New test.
* g++.dg/ubsan/pr69922.C: New test.
2016-02-24 Marek Polacek <polacek@redhat.com>
PR c/69819
* gcc.dg/pr69819.c: New test.
2016-02-24 Martin Sebor <msebor@redhat.com>
PR c++/69912
* g++.dg/ext/flexary15.C: New test.
2016-02-24 Martin Sebor <msebor@redhat.com>
* gcc.dg/builtins-68.c: Avoid making unportable
assumptions about the relationship between SIZE_MAX and UINT_MAX.
* g++.dg/ext/builtin_alloca.C: Same.
2016-02-24 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
Charles Baylis <charles.baylis@linaro.org>
PR debug/61033
* g++.dg/pr61033.C: Add a regression testcase for PR debug/61033.
2016-02-24 Richard Biener <rguenther@suse.de>
Jakub Jelinek <jakub@redhat.com>
PR middle-end/69760
* gcc.dg/torture/pr69760.c: New testcase.
2016-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.dg/debug/dwarf2/prod-options.c: Use different DW_AT_producer
pattern on Solaris with as.
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/arm/cond_sub_restrict_it.c: New test.
* gcc.target/arm/condarith_restrict_it.c: Likewise.
* gcc.target/arm/movcond_restrict_it.c: Likewise.
* gcc.target/arm/negscc_restrict_it.c: Likewise.
2016-02-24 Jakub Jelinek <jakub@redhat.com>
PR middle-end/69915
* gcc.dg/pr69915.c: New test.
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/69886
* gcc.dg/torture/pr69886.c: New test.
2016-02-24 Richard Biener <rguenther@suse.de>
PR middle-end/68963
* gcc.dg/torture/pr68963.c: New testcase.
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69875
* gcc.target/arm/atomic_loaddi_acquire.x: New file.
* gcc.target/arm/atomic_loaddi_relaxed.x: Likewise.
* gcc.target/arm/atomic_loaddi_seq_cst.x: Likewise.
* gcc.target/arm/atomic_loaddi_1.c: New test.
* gcc.target/arm/atomic_loaddi_2.c: Likewise.
* gcc.target/arm/atomic_loaddi_3.c: Likewise.
* gcc.target/arm/atomic_loaddi_4.c: Likewise.
* gcc.target/arm/atomic_loaddi_5.c: Likewise.
* gcc.target/arm/atomic_loaddi_6.c: Likewise.
* gcc.target/arm/atomic_loaddi_7.c: Likewise.
* gcc.target/arm/atomic_loaddi_8.c: Likewise.
* gcc.target/arm/atomic_loaddi_9.c: Likewise.
2016-02-24 Jakub Jelinek <jakub@redhat.com>
PR middle-end/69909
* gcc.dg/torture/pr69909.c: New test.
2016-02-24 Richard Biener <rguenther@suse.de>
PR tree-optimization/69907
* gcc.dg/vect/bb-slp-pr69907.c: New testcase.
* gcc.dg/vect/bb-slp-34.c: XFAIL.
* gcc.dg/vect/bb-slp-pr68892.c: Likewise.
2016-02-24 Christian Bruel <christian.bruel@st.com>
* gcc.target/arm/pragma_cpp_fma.c: New test.
2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/61156
* gfortran.dg/include_6.f90: Update test.
2016-02-23 Jakub Jelinek <jakub@redhat.com>
PR objc/69844
* objc.dg/pr69844.m: New test.
2016-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69456
* gfortran.dg/namelist_89.f90: New test.
* gfortran.dg/pr59700.f90: Update test..
2016-02-23 Martin Sebor <msebor@redhat.com>
PR middle-end/69780
* g++.dg/ext/builtin_alloca.C: New test.
* gcc.dg/builtins-68.c: New test.
2016-02-23 Richard Henderson <rth@redhat.com>
* gcc.target/i386/addr-space-3.c: Remove test.
2016-02-23 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69126
PR preprocessor/69543
* c-c++-common/pr69126-2-long.c: New test.
* c-c++-common/pr69126-2-short.c: New test.
* c-c++-common/pr69543-1.c: Remove xfail.
Add test coverage for _Pragma (PR preprocessor 69126, 69543, 69558) We had some regressions in the ability for _Pragma to disable a warning (PR preprocessor/69126, PR preprocessor/69543, PR preprocessor/69558). This patch attempts to add more test coverage for this, for the various combinations of: - various warnings: -Wunused-variable -Wuninitialized -Wdeprecated-declarations - various combinations of location of _Pragma relative to location of the warning: - _Pragma is in a macro, warning isn't a macro - neither is in a macro - _Pragma isnt't in a macro, warning is in a macro - in different macros - both in the same macro - C vs C++ frontend. It adds some XFAILs: - pr69543-1.c for C++ (fixed in the followup patch) - pr69543-3.c for both C and C++ - pr69543-4.c for both C and C++ - pr69558.c for C++ (moving it from gcc.dg to c-c++-common, marking it as xfail for C++ for now) gcc/testsuite/ChangeLog: PR preprocessor/69126 PR preprocessor/69543 PR preprocessor/69558 * c-c++-common/pr69126.c (MACRO_1, test_1): New. (f): Rename to... (test_2): ...this, and add leading comment. (MACRO_3, test_3): New. (MACRO_4A, MACRO_4B, test_4): New. (MACRO): Rename to... (MACRO_5): ...this. (g): Rename to... (test_5): ...this, updating for renaming of MACRO, and add leading comment. * c-c++-common/pr69543-1.c: New. * c-c++-common/pr69543-2.c: New. * c-c++-common/pr69543-3.c: New. * c-c++-common/pr69543-4.c: New. * c-c++-common/pr69558-1.c: New. * c-c++-common/pr69558-2.c: New. * c-c++-common/pr69558-3.c: New. * c-c++-common/pr69558-4.c: New. * gcc.dg/pr69558.c: Move to... * c-c++-common/pr69558.c: ...here. Add dg-bogus directives, with xfail for c++. From-SVN: r233637
2016-02-23 18:39:16 +01:00
2016-02-23 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69126
PR preprocessor/69543
PR preprocessor/69558
* c-c++-common/pr69126.c (MACRO_1, test_1): New.
(f): Rename to...
(test_2): ...this, and add leading comment.
(MACRO_3, test_3): New.
(MACRO_4A, MACRO_4B, test_4): New.
(MACRO): Rename to...
(MACRO_5): ...this.
(g): Rename to...
(test_5): ...this, updating for renaming of MACRO, and
add leading comment.
* c-c++-common/pr69543-1.c: New.
* c-c++-common/pr69543-2.c: New.
* c-c++-common/pr69543-3.c: New.
* c-c++-common/pr69543-4.c: New.
* c-c++-common/pr69558-1.c: New.
* c-c++-common/pr69558-2.c: New.
* c-c++-common/pr69558-3.c: New.
* c-c++-common/pr69558-4.c: New.
* gcc.dg/pr69558.c: Move to...
* c-c++-common/pr69558.c: ...here. Add dg-bogus directives, with
xfail for c++.
Use plain -fopenacc to enable OpenACC kernels processing gcc/ * tree-parloops.c (create_parallel_loop, gen_parallel_loop) (parallelize_loops): In OpenACC kernels mode, set n_threads to zero. (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on flag_openacc. * tree-ssa-loop.c (gate_oacc_kernels): Likewise. gcc/testsuite/ * c-c++-common/goacc/kernels-counter-vars-function-scope.c: Adjust to -ftree-parallelize-loops/-fopenacc changes. * c-c++-common/goacc/kernels-double-reduction-n.c: Likewise. * c-c++-common/goacc/kernels-double-reduction.c: Likewise. * c-c++-common/goacc/kernels-loop-2.c: Likewise. * c-c++-common/goacc/kernels-loop-3.c: Likewise. * c-c++-common/goacc/kernels-loop-g.c: Likewise. * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. * c-c++-common/goacc/kernels-loop-n.c: Likewise. * c-c++-common/goacc/kernels-loop-nest.c: Likewise. * c-c++-common/goacc/kernels-loop.c: Likewise. * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. * c-c++-common/goacc/kernels-reduction.c: Likewise. * gfortran.dg/goacc/kernels-loop-inner.f95: Likewise. * gfortran.dg/goacc/kernels-loops-adjacent.f95: Likewise. libgomp/ * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims. * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for dims. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to -ftree-parallelize-loops/-fopenacc changes. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Likewise. From-SVN: r233634
2016-02-23 16:07:54 +01:00
2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
* c-c++-common/goacc/kernels-counter-vars-function-scope.c: Adjust
to -ftree-parallelize-loops/-fopenacc changes.
* c-c++-common/goacc/kernels-double-reduction-n.c: Likewise.
* c-c++-common/goacc/kernels-double-reduction.c: Likewise.
* c-c++-common/goacc/kernels-loop-2.c: Likewise.
* c-c++-common/goacc/kernels-loop-3.c: Likewise.
* c-c++-common/goacc/kernels-loop-g.c: Likewise.
* c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise.
* c-c++-common/goacc/kernels-loop-n.c: Likewise.
* c-c++-common/goacc/kernels-loop-nest.c: Likewise.
* c-c++-common/goacc/kernels-loop.c: Likewise.
* c-c++-common/goacc/kernels-one-counter-var.c: Likewise.
* c-c++-common/goacc/kernels-reduction.c: Likewise.
* gfortran.dg/goacc/kernels-loop-inner.f95: Likewise.
* gfortran.dg/goacc/kernels-loops-adjacent.f95: Likewise.
2016-02-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* gcc.target/i386/chkp-hidden-def.c: Require alias support.
2016-02-23 Jakub Jelinek <jakub@redhat.com>
PR c++/69902
* g++.dg/warn/Wnonnull-compare-5.C: New test.
PR c/69900
* gcc.dg/pr69900.c: New test.
2016-02-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/69666
* gcc.dg/tree-ssa/pr69666.c: New test.
2016-02-23 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/67451
* gfortran.dg/coarray_allocate_5.f08: New test.
2016-02-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/vcond-shift.c: Move to ...
* gcc.target/s390/vector/vcond-shift.c: ... here.
2016-02-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/md/movstr-2.c: Move and rename to ...
* gcc.target/s390/vector/stpcpy-1.c: ... this one.
2016-02-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/md/movstr-1.c: Turn into compile test.
2016-02-20 Mark Wielaard <mjw@redhat.com>
PR c/28901
* gcc.dg/unused-variable-3.c: New test.
2016-02-22 Jakub Jelinek <jakub@redhat.com>
PR target/69888
* gcc.target/i386/pr69888.c: New test.
2016-02-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/69882
* gfortran.dg/vect/pr69882.f90: New testcase.
2016-02-22 Jakub Jelinek <jakub@redhat.com>
PR target/69885
* gcc.dg/pr69885.c: New test.
2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
PR target/69806
PR target/54089
* gcc.target/sh/pr54089-10.c: New.
2016-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69423
P0003R5 - removal of dynamic exception specification from C++17 P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
2016-12-08 09:26:06 +01:00
* gfortran.dg/deferred_character_15.f90: New test.
2016-02-20 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/57365
gfortran.dg/allocate_with_source_18.f03: New test.
2016-02-20 Harald Anlauf <anlauf@gmx.de>
PR fortran/52531
gfortran.dg/gomp/pr52531.f90: New test.
2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR c++/69865
* c-c++-common/Wshift-negative-value-6.c: Add -std=c++11 before
-std=c++03.
2016-02-19 Jakub Jelinek <jakub@redhat.com>
PR c++/69826
* c-c++-common/cilk-plus/CK/pr69826-1.c: New test.
* c-c++-common/cilk-plus/CK/pr69826-2.c: New test.
PR c++/69850
* g++.dg/warn/Wnonnull-compare-4.C: New test.
PR c++/69851
* g++.dg/torture/pr69851.C: New test.
2016-02-19 Martin Sebor <msebor@redhat.com>
PR testsuite/69573
* gcc.dg/pr61053.c: Tweaked test to avoid bogus failures.
2016-02-19 Jakub Jelinek <jakub@redhat.com>
PR c++/69850
* g++.dg/warn/Wnonnull-compare-2.C: New test.
* g++.dg/warn/Wnonnull-compare-3.C: New test.
PR c++/67767
* g++.dg/cpp0x/pr67767.C: New test.
2016-02-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp: Define aarch64_asm_FUNC_ok checks
for fp, simd, crypto, crc, lse.
* doc/sourcebuild.texi (AArch64-specific attributes): Document the
above.
* gcc.target/aarch64/assembler_arch_1.c: Add aarch64_asm_lse_ok
effective target check.
2016-02-19 Jakub Jelinek <jakub@redhat.com>
PR target/69820
* gcc.target/i386/pr69820.c: New test.
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/vector/int128-1.c: New test.
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/vector/vec-vcond-1.c: New test.
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/md/movstr-1.c: Allow also the z13 strings
instruction pattern name to prevent the testcase from failing with
-march=z13.
2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/md/movstr-2.c: New test.
2016-02-19 Marcin Kościelnicki <koriakin@0x04.net>
* gcc.target/s390/morestack.c: New test.
2016-02-19 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR target/69625
* gcc.target/s390/pr69625.c: Add test case.
2016-02-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR testsuite/68580
* c-c++-common/tsan/pr65400-1.c (v, q, o): Make 8-byte aligned.
2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* gcc.target/powerpc/fusion.c: Revert the 2016-02-09 change.
* gcc.target/powerpc/fusion3.c: Likewise.
2016-02-18 Richard Biener <rguenther@suse.de>
PR middle-end/69553
* g++.dg/torture/pr69553.C: New testcase.
2016-02-18 Nick Clifton <nickc@redhat.com>
PR target/62254
PR target/69610
* gcc.target/arm/pr62554.c: New test.
* gcc.target/arm/pr69610-1.c: New test.
* gcc.target/arm/pr69610-2.c: New test.
2016-02-18 Richard Biener <rguenther@suse.de>
PR middle-end/69854
* gcc.dg/torture/pr69854.c: New testcase.
2016-02-17 Jakub Jelinek <jakub@redhat.com>
PR c++/69850
* g++.dg/warn/Wnonnull-compare-1.C: New test.
2012-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/vec-cg.c: New test.
2016-02-17 Richard Biener <rguenther@suse.de>
PR testsuite/69586
* gcc.dg/uninit-21.c: Add -fno-short-enums.
2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69161
* gcc.c-torture/compile/pr69161.c: New test.
2016-02-17 David Sherwood <david.sherwood@arm.com>
PR target/69532
* gcc.target/arm/fmaxmin.c: Change effective target to arm_v8_neon_hw.
* gcc.target/arm/vect-fmaxmin.c: Likewise.
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/ifcvt-4.c: Skip on Visium.
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/atomic8.adb: New test.
2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/discr46.ad[sb]: New test.
2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
PR Target/48344
* gcc.target/powerpc/pr48344-1.c: New test.
2015-02-16 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69742
* gfortran.dg/associate_21.f90: New test.
2016-02-16 Jakub Jelinek <jakub@redhat.com>
PR c/69835
* c-c++-common/nonnull-1.c: Use -Wnonnull-compare instead of
-Wnonnull in dg-options.
* c-c++-common/nonnull-2.c: New test.
2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* gcc.target/aarch64/vector_initialization_nostack.c: New.
2016-02-16 Jakub Jelinek <jakub@redhat.com>
PR middle-end/69801
* gcc.dg/pr69801.c: Add empty dg-options.
2016-02-16 James Norris <jnorris@codesourcery.com>
* c-c++-common/goacc/deviceptr-1.c: Add tests.
* g++.dg/goacc/deviceptr-1.c: New file.
2016-02-16 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69820
* gcc.dg/vect/pr69820.c: New test.
2016-02-16 Richard Biener <rguenther@suse.de>
PR tree-optimization/69776
* gcc.dg/torture/pr69776-2.c: New testcase.
2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
PR tree-optimization/69714
* gcc.dg/torture/pr69714.c: New test.
2016-02-16 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69802
* gcc.dg/pr69802.c: New test.
2016-02-16 Richard Biener <rguenther@suse.de>
PR middle-end/69801
* gcc.dg/pr69801.c: New testcase.
2016-02-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69651
* gfortran.dg/read_bang.f90: New test.
* gfortran.dg/read_bang4.f90: New test.
2016-02-15 Jakub Jelinek <jakub@redhat.com>
PR c++/69658
* g++.dg/init/pr69658.C: New test.
PR c++/69797
* c-c++-common/pr69797.c: New test.
2016-02-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
* lib/target-supports.exp (check_effective_target_section_anchors): Add
check for aarch64*-*-*.
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69783
* gcc.dg/vect/pr69783.c: New testcase.
2016-02-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69776
* gcc.dg/torture/pr69776.c: New testcase.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* gfortran.dg/type_decl_4.f90: Reinstated.
2016-02-14 John David Anglin <danglin@gcc.gnu.org>
PR fortran/68746
* gfortran.dg/read_dir.f90: Xfail on hppa*-*-hpux*.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
PR bootstrap/69816
* gfortran.dg/type_decl_4.f90: Removed.
2016-02-14 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/60526
* gfortran.dg/type_decl_4.f90: New test.
2016-02-14 Alan Modra <amodra@gmail.com>
PR testsuite/68886
* gcc.c-torture/execute/stkalign.c: Revise test.
2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
PR target/67260
* gcc.target/sh/torture/pr67260.c: Adjust additional options.
2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
PR target/67260
* gcc.target/sh/torture/pr67260.c: New.
2016-02-12 John David Anglin <danglin@gcc.gnu.org>
* gcc.dg/pr67964.c: Add dg-require-alias.
2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
PR target/67636
PR target/64345
* gcc.target/sh/pr54236-1.c: Adjust optimization level.
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* gfortran.dg/namelist_88.f90: New test.
2016-02-12 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/69668
* gfortran.dg/namelist_38.f90: Update test.
* gfortran.dg/namelist_84.f90: Update test.
PR other/69554: avoid excessive source printing for widely-separated locations gcc/ChangeLog: PR other/69554 * diagnostic-show-locus.c (struct line_span): New struct. (layout::get_first_line): Delete. (layout::get_last_line): Delete. (layout::get_num_line_spans): New member function. (layout::get_line_span): Likewise. (layout::print_heading_for_line_span_index_p): Likewise. (layout::get_expanded_location): Likewise. (layout::calculate_line_spans): Likewise. (layout::m_first_line): Delete. (layout::m_last_line): Delete. (layout::m_line_spans): New field. (layout::layout): Update comment. Replace m_first_line and m_last_line with m_line_spans, replacing their initialization with a call to calculate_line_spans. (diagnostic_show_locus): When printing source lines and annotations, rather than looping over a single span of lines, instead loop over each line_span within the layout, with an inner loop over the lines within them. Call the context's start_span callback when changing line spans. * diagnostic.c (diagnostic_initialize): Initialize start_span. (diagnostic_build_prefix): Break out the building of the location part of the string into... (diagnostic_get_location_text): ...this new function, rewriting it from nested ternary expressions to a sequence of "if" statements. (default_diagnostic_start_span_fn): New function. * diagnostic.h (diagnostic_start_span_fn): New typedef. (diagnostic_context::start_span): New field. (default_diagnostic_start_span_fn): New prototype. gcc/fortran/ChangeLog: PR other/69554 * error.c (gfc_diagnostic_start_span): New function. (gfc_diagnostics_init): Initialize global_dc's start_span. gcc/testsuite/ChangeLog: PR other/69554 * gcc.dg/pr69554-1.c: New test. * gfortran.dg/pr69554-1.F90: New test. * gfortran.dg/pr69554-2.F90: New test. * lib/gcc-dg.exp (proc dg-locus): New function. * lib/gfortran-dg.exp (proc gfortran-dg-test): Update comment to distinguish between the caret-printing and non-caret-printing cases. If caret-printing has been explicitly enabled, bail out without attempting to fix up the output. From-SVN: r233386
2016-02-12 20:18:03 +01:00
2016-02-12 David Malcolm <dmalcolm@redhat.com>
PR other/69554
* gcc.dg/pr69554-1.c: New test.
* gfortran.dg/pr69554-1.F90: New test.
* gfortran.dg/pr69554-2.F90: New test.
* lib/gcc-dg.exp (proc dg-locus): New function.
* lib/gfortran-dg.exp (proc gfortran-dg-test): Update comment to
distinguish between the caret-printing and non-caret-printing
cases. If caret-printing has been explicitly enabled, bail out
without attempting to fix up the output.
PR driver/69265 and 69453: improved suggestions for various misspelled options gcc/ChangeLog: PR driver/69265 PR driver/69453 * gcc.c (driver::driver): Initialize m_option_suggestions. (driver::~driver): Clean up m_option_suggestions. (suggest_option): Convert to... (driver::suggest_option): ...this, and split out into driver::build_option_suggestions and find_closest_string. (driver::build_option_suggestions): New function, from first half of suggest_option. Special-case OPT_fsanitize_ and OPT_fsanitize_recover_, making use of the sanitizer_opts array. For options of enum types, add the various enum values to the candidate strings. (driver::handle_unrecognized_options): Remove "const". * gcc.h (driver::handle_unrecognized_options): Likewise. (driver::build_option_suggestions): New decl. (driver::suggest_option): New decl. (driver::m_option_suggestions): New field. * opts-common.c (add_misspelling_candidates): New function. * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s and make non-static. * opts.h (sanitizer_opts): New array decl. (add_misspelling_candidates): New function decl. * spellcheck.c (find_closest_string): New function. * spellcheck.h (find_closest_string): New function decl. gcc/testsuite/ChangeLog: PR driver/69265 PR driver/69453 * gcc.dg/spellcheck-options-3.c: New test case. * gcc.dg/spellcheck-options-4.c: New test case. * gcc.dg/spellcheck-options-5.c: New test case. * gcc.dg/spellcheck-options-6.c: New test case. * gcc.dg/spellcheck-options-7.c: New test case. * gcc.dg/spellcheck-options-8.c: New test case. * gcc.dg/spellcheck-options-9.c: New test case. * gcc.dg/spellcheck-options-10.c: New test case. From-SVN: r233382
2016-02-12 18:39:27 +01:00
2016-02-12 David Malcolm <dmalcolm@redhat.com>
PR driver/69265
PR driver/69453
* gcc.dg/spellcheck-options-3.c: New test case.
* gcc.dg/spellcheck-options-4.c: New test case.
* gcc.dg/spellcheck-options-5.c: New test case.
* gcc.dg/spellcheck-options-6.c: New test case.
* gcc.dg/spellcheck-options-7.c: New test case.
* gcc.dg/spellcheck-options-8.c: New test case.
* gcc.dg/spellcheck-options-9.c: New test case.
* gcc.dg/spellcheck-options-10.c: New test case.
2016-02-12 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/69764
PR rtl-optimization/69771
* c-c++-common/pr69764.c: New test.
* gcc.dg/torture/pr69771.c: New test.
2016-02-12 Marek Polacek <polacek@redhat.com>
* g++.dg/torture/init-list1.C: New.
2016-02-12 Marek Polacek <polacek@redhat.com>
* gcc.dg/pr69522.c: Add empty dg-options.
2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
* g++.dg/lto/lto.exp: Include and init mpx.
* g++.dg/lto/pr69729_0.C: New test.
2016-02-12 Jakub Jelinek <jakub@redhat.com>
PR ipa/69241
* g++.dg/ipa/pr69241-4.C: New test.
PR ipa/68672
* g++.dg/ipa/pr68672-1.C: New test.
* g++.dg/ipa/pr68672-2.C: New test.
* g++.dg/ipa/pr68672-3.C: New test.
2016-02-12 Bernd Schmidt <bschmidt@redhat.com>
PR c/69522
* gcc.dg/pr69522.c: New test.
2016-02-12 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69098
* g++.dg/cpp1y/69098.C: New test.
* g++.dg/cpp1y/69098-2.C: New test.
cgraph.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * cgraph.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * target.def: Likewise. * sel-sched.c: Likewise. * config/mips/mips.c: Likewise. * config/arc/arc.md: Likewise. * config/arm/cortex-a57.md: Likewise. * config/arm/arm.c: Likewise. * config/arm/neon.md: Likewise. * config/arm/arm-c.c: Likewise. * config/vms/vms-c.c: Likewise. * config/s390/s390.c: Likewise. * config/i386/znver1.md: Likewise. * config/i386/i386.c: Likewise. * config/ia64/hpux-unix2003.h: Likewise. * config/msp430/msp430.md: Likewise. * config/rx/rx.c: Likewise. * config/rx/rx.md: Likewise. * config/aarch64/aarch64-simd.md: Likewise. * config/aarch64/aarch64.c: Likewise. * config/nvptx/nvptx.c: Likewise. * config/bfin/bfin.c: Likewise. * config/cris/cris.opt: Likewise. * config/rs6000/rs6000.c: Likewise. * target.h: Likewise. * spellcheck.c: Likewise. * ira-build.c: Likewise. * tree-inline.c: Likewise. * builtins.c: Likewise. * lra-constraints.c: Likewise. * explow.c: Likewise. * hwint.h: Likewise. * targhooks.c: Likewise. * tree-vect-data-refs.c: Likewise. * expr.c: Likewise. * doc/tm.texi: Likewise. * doc/extend.texi: Likewise. * doc/install.texi: Likewise. * doc/md.texi: Likewise. * tree-ssa-tail-merge.c: Likewise. * sched-int.h: Likewise. * match.pd: Likewise. * sched-ebb.c: Likewise. * target.def (omit_struct_return_reg): Likewise. * gimple-ssa-isolate-paths.c: Likewise. (find_implicit_erroneous_behaviour): Renamed to... (find_implicit_erroneous_behavior): ... this. (find_explicit_erroneous_behaviour): Renamed to... (find_explicit_erroneous_behavior): ... this. (gimple_ssa_isolate_erroneous_paths): Adjust caller. gcc/cp/ * error.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * decl.c: Likewise. * typeck.c (cp_build_binary_op): Fix up behavior spelling in diagnostics. * init.c (build_delete): Likewise. gcc/objc/ * objc-act.c: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * objc-map.h: Likewise. gcc/go/ * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * gccgo.texi: Likewise. gcc/ada/ * prj-tree.ads: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * prep.adb: Likewise. * prj.ads: Likewise. * prepcomp.adb: Likewise. * g-socket.ads: Likewise. * s-imgrea.adb: Likewise. * a-calend.adb: Likewise. * exp_disp.adb: Likewise. * doc/gnat_ugn/gnat_utility_programs.rst: Likewise. * g-socket.adb: Likewise. * sem_ch12.adb: Likewise. * terminals.c: Likewise. gcc/testsuite/ * objc.dg/gnu-api-2-method.m: Spelling fixes - behaviour -> behavior and neighbour -> neighbor. * objc.dg/attributes/method-nonnull-1.m: Likewise. * objc.dg/gnu-api-2-class-meta.m: Likewise. * c-c++-common/Wvarargs.c: Likewise. * c-c++-common/goacc/host_data-5.c: Likewise. * obj-c++.dg/gnu-api-2-class-meta.mm: Likewise. * obj-c++.dg/attributes/method-nonnull-1.mm: Likewise. * obj-c++.dg/gnu-api-2-method.mm: Likewise. * gcc.target/aarch64/pr60697.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise. * gcc.target/aarch64/aapcs64/ice_2.c: Likewise. * gcc.target/aarch64/aapcs64/test_23.c: Likewise. * gcc.target/aarch64/vrnd_f64_1.c: Likewise. * g++.dg/warn/Wconversion-real-integer-3.C: Likewise. * g++.dg/lookup/koenig5.C: Likewise. * g++.dg/ext/no-asm-2.C: Likewise. * gfortran.dg/bounds_check_array_ctor_3.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_7.f90: Likewise. * gfortran.dg/used_types_16.f90: Likewise. * gfortran.dg/assumed_rank_bounds_1.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_1.f90: Likewise. * gfortran.dg/assumed_rank_bounds_2.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_4.f90: Likewise. * gfortran.dg/abstract_type_6.f03: Likewise. * gfortran.dg/bounds_check_array_ctor_5.f90: Likewise. * gfortran.dg/used_types_15.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_8.f90: Likewise. * gfortran.dg/exit_3.f08: Likewise. * gfortran.dg/open_status_2.f90: Likewise. * gfortran.dg/derived_pointer_recursion_2.f90: Likewise. * gfortran.dg/intrinsic_std_1.f90: Likewise. * gfortran.dg/associate_1.f03: Likewise. * gfortran.dg/bounds_check_array_ctor_2.f90: Likewise. * gfortran.dg/intrinsic_std_6.f90: Likewise. * gfortran.dg/bounds_check_array_ctor_6.f90: Likewise. * gcc.dg/builtin-object-size-1.c: Likewise. * gcc.dg/noreturn-6.c: Likewise. * gcc.dg/builtin-stringop-chk-1.c: Likewise. * gcc.dg/globalalias.c: Likewise. * gcc.dg/builtins-config.h: Likewise. * gcc.dg/pr30457.c: Likewise. * gcc.c-torture/compile/volatile-1.c: Likewise. * gcc.c-torture/execute/20101011-1.c: Likewise. * c-c++-common/Waddress-1.c: Likewise. From-SVN: r233358
2016-02-12 00:53:54 +01:00
2016-02-12 Jakub Jelinek <jakub@redhat.com>
* objc.dg/gnu-api-2-method.m: Spelling fixes - behaviour -> behavior
and neighbour -> neighbor.
* objc.dg/attributes/method-nonnull-1.m: Likewise.
* objc.dg/gnu-api-2-class-meta.m: Likewise.
* c-c++-common/Wvarargs.c: Likewise.
* c-c++-common/goacc/host_data-5.c: Likewise.
* obj-c++.dg/gnu-api-2-class-meta.mm: Likewise.
* obj-c++.dg/attributes/method-nonnull-1.mm: Likewise.
* obj-c++.dg/gnu-api-2-method.mm: Likewise.
* gcc.target/aarch64/pr60697.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vshuffle.inc: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vrshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX_dup.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vqrshl.c: Likewise.
* gcc.target/aarch64/advsimd-intrinsics/vldX.c: Likewise.
* gcc.target/aarch64/aapcs64/ice_2.c: Likewise.
* gcc.target/aarch64/aapcs64/test_23.c: Likewise.
* gcc.target/aarch64/vrnd_f64_1.c: Likewise.
* g++.dg/warn/Wconversion-real-integer-3.C: Likewise.
* g++.dg/lookup/koenig5.C: Likewise.
* g++.dg/ext/no-asm-2.C: Likewise.
* gfortran.dg/bounds_check_array_ctor_3.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_7.f90: Likewise.
* gfortran.dg/used_types_16.f90: Likewise.
* gfortran.dg/assumed_rank_bounds_1.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_1.f90: Likewise.
* gfortran.dg/assumed_rank_bounds_2.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_4.f90: Likewise.
* gfortran.dg/abstract_type_6.f03: Likewise.
* gfortran.dg/bounds_check_array_ctor_5.f90: Likewise.
* gfortran.dg/used_types_15.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_8.f90: Likewise.
* gfortran.dg/exit_3.f08: Likewise.
* gfortran.dg/open_status_2.f90: Likewise.
* gfortran.dg/derived_pointer_recursion_2.f90: Likewise.
* gfortran.dg/intrinsic_std_1.f90: Likewise.
* gfortran.dg/associate_1.f03: Likewise.
* gfortran.dg/bounds_check_array_ctor_2.f90: Likewise.
* gfortran.dg/intrinsic_std_6.f90: Likewise.
* gfortran.dg/bounds_check_array_ctor_6.f90: Likewise.
* gcc.dg/builtin-object-size-1.c: Likewise.
* gcc.dg/noreturn-6.c: Likewise.
* gcc.dg/builtin-stringop-chk-1.c: Likewise.
* gcc.dg/globalalias.c: Likewise.
* gcc.dg/builtins-config.h: Likewise.
* gcc.dg/pr30457.c: Likewise.
* gcc.c-torture/compile/volatile-1.c: Likewise.
* gcc.c-torture/execute/20101011-1.c: Likewise.
* c-c++-common/Waddress-1.c: Likewise.
2016-02-11 Jakub Jelinek <jakub@redhat.com>
PR c/69768
* c-c++-common/Waddress-1.c: New test.
2016-02-11 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/69296
* gfortran.dg/associate_19.f03: New test.
* gfortran.dg/associate_20.f03: New test.
2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
* gcc.target/sh/pr54089-8.c: Adjust optimization level.
2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/target_attr_15.c: Scan assembly for
.arch armv8-a\n. Add -dA to dg-options.
* gcc.target/aarch64/assembler_arch_1.c: New test.
* gcc.target/aarch64/target_attr_7.c: Add -dA to dg-options.
2016-02-11 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/68726
* g++.dg/cpp0x/pr68726.C: New.
2016-02-11 Ilya Enkovich <enkovich.gnu@gmail.com>
* lib/mpx-dg.exp: Fix warning in check_effective_target_mpx
test.
2016-02-11 Richard Biener <rguenther@suse.de>
* g++.dg/tree-ssa/pr61034.C: Adjust.
2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
2016-02-10 19:47:43 +01:00
PR target/69148
* gcc.target/s390/pr69148.c: New.
2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/69652
* gcc.dg/torture/pr69652.c: New test.
2016-02-10 Jakub Jelinek <jakub@redhat.com>
Patrick Palka <ppalka@gcc.gnu.org>
PR ipa/69241
PR c++/69649
* g++.dg/ipa/pr69241-1.C: New test.
* g++.dg/ipa/pr69241-2.C: New test.
* g++.dg/ipa/pr69241-3.C: New test.
* g++.dg/ipa/pr69649.C: New test.
2016-02-10 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/tree-ssa/sra-17.c: Add -mcpu=ev4 for target alpha*-*-*.
* gcc.dg/tree-ssa/sra-18.c: Ditto.
2016-02-10 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/68021
* gcc.dg/tree-ssa/pr68021.c: New test.
2016-02-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/69726
* gcc.dg/uninit-22.c: New testcase.
2016-02-09 Andrew Pinski <apinski@cavium.com>
PR tree-opt/69282
* gcc.c-torture/compile/20160205-1.c: New testcase.
2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/68404
* gcc.target/powerpc/fusion.c: Rewrite test to use TOC fusion
instead accessing a really large arrray.
* gcc.target/powerpc/fusion3.c: Likewise.
2016-02-09 Charles Baylis <charles.baylis@linaro.org>
PR target/68532
* gcc.c-torture/execute/pr68532.c: New test.
2016-02-11 Alexandre Oliva <aoliva@redhat.com>
PR target/69634
* gcc.dg/pr69634.c: New.
2016-02-09 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/vect-mask-store-move-1.c: Add missing space.
2016-02-09 Alexander Fomin <alexander.fomin@intel.com>
* gcc.target/i386/avx512f-klogic-2.c: Adjust expectation.
2016-02-09 Yuri Rumyantsev <ysrumyan@gmail.com>
* gcc.dg/vect/vect-mask-store-move-1.c: Fix test failures.
2016-02-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/69715
* gcc.dg/torture/pr69715.c: New testcase.
2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69139
* g++.dg/cpp0x/trailing12.C: New test.
* g++.dg/cpp0x/trailing13.C: New test.
2016-02-08 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69283
PR c++/67835
* g++.dg/cpp1y/auto-fn29.C: New test.
* g++.dg/cpp1y/auto-fn30.C: New test.
2016-02-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69209
* gcc.c-torture/compile/pr69209.c: New test.
2016-02-08 Jeff Law <law@redhat.com>
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
of statements allowed in join block for path splitting.
2016-02-08 Jakub Jelinek <jakub@redhat.com>
PR c++/59627
* g++.dg/gomp/pr59627.C: New test.
PR ipa/69239
* g++.dg/ipa/pr69239.C: New test.
2016-02-08 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69664
* gcc.dg/cpp/trad/comment-2.c: Add expected column number.
* gcc.dg/cpp/warn-comments.c: Likewise.
2016-02-08 Marek Polacek <polacek@redhat.com>
PR c++/69688
* g++.dg/init/const12.C: New test.
2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
PR target/60410
* gcc.dg/lto/pr55113_0.c: Remove test.
2016-02-08 Richard Biener <rguenther@suse.de>
PR tree-optimization/69719
* gcc.dg/torture/pr69719.c: New testcase.
2016-02-08 Richard Biener <rguenther@suse.de>
Jeff Law <law@redhat.com>
PR target/68273
* gcc.target/mips/pr68273.c: New testcase.
2016-02-08 Richard Biener <rguenther@suse.de>
PR rtl-optimization/69274
* gcc.target/i386/addr-sel-1.c: XFAIL.
2016-02-08 Jeff Law <law@redhat.com>
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-2.c: Make char array explicitly signed.
PR tree-optimization/65917
* gcc.dg/tree-ssa/20030922-2.c: No longer xfailed.
2016-02-07 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/50555
* gfortran.dg/namelist_args.f90: New test.
2016-02-05 Jeff Law <law@redhat.com>
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-2.c: New test.
* gcc.dg/tree-ssa/split-path-3.c: New test.
* gcc.dg/tree-ssa/split-path-4.c: New test.
* gcc.dg/tree-ssa/split-path-5.c: New test.
* gcc.dg/tree-ssa/split-path-6.c: New test.
* gcc.dg/tree-ssa/split-path-7.c: New test.
2016-02-05 Martin Sebor <msebor@redhat.com>
PR c++/69662
* g++.dg/warn/Wplacement-new-size-1.C: New test.
* g++.dg/warn/Wplacement-new-size-2.C: New test.
2016-02-06 Richard HEnderson <rth@redhat.com>
PR c/69643
* gcc.target/i386/addr-space-4.c: New.
* gcc.target/i386/addr-space-5.c: New.
2016-02-05 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/66089
* gfortran.dg/elemental_dependency_6.f90: New.
2016-02-05 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/69691
* gcc.c-torture/execute/pr69691.c: New test.
PR c++/69628
* g++.dg/parse/pr69628.C: New test.
2016-02-05 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/sancov/asan.c: Move to ...
* gcc.dg/asan/sancov-1.c: ... here.
2016-02-05 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/pr69577.c: Require avx_runtime target.
2016-02-05 H.J. Lu <hongjiu.lu@intel.com>
PR target/69677
* gcc.target/i386/pr69677.c: New test.
2016-02-05 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/68948
* g++.dg/template/pr68948.C: New test.
2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove -march=z13 for s390
(only necessary on s390x).
2016-02-04 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pr69454-2.c: Compile with -msse2
-mno-accumulate-outgoing-args.
2016-02-04 Patrick Palka <ppalka@gcc.gnu.org>
* g++.dg/cpp0x/constexpr-ptrmem5.C: New test.
2016-02-04 Jakub Jelinek <jakub@redhat.com>
PR c/69669
* c-c++-common/pr69669.c: New test.
2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/69667
* g++.dg/pr69667.C: New file.
2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
PR target/69619
* gcc.dg/pr69619.c: Add new test.
2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
PR rtl-optimization/69577
* gcc.target/i386/pr69577.c: New test.
2016-02-04 Martin Liska <mliska@suse.cz>
* g++.dg/asan/pr69276.C: New test.
2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/65932
PR target/67714
* gcc.target/arm/wmul-3.c: Simplify test to generate just
a single smulbb instruction.
* gcc.target/amr/wmul-1.c: Add -mtune=cortex-a9 to dg-options.
* gcc.target/amr/wmul-2.c: Likewise.
2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/65932
PR target/67714
* gcc.c-torture/execute/pr67714.c: New test.
2016-02-04 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/69454
* gcc.target/i386/pr69454-1.c: New test.
* gcc.target/i386/pr69454-2.c: New test.
PR c++/69251 - [6 Regression] ICE in unify_array_domain on a flexible array PR c++/69251 - [6 Regression] ICE in unify_array_domain on a flexible array member PR c++/69253 - [6 Regression] ICE in cxx_incomplete_type_diagnostic initializing a flexible array member with empty string PR c++/69290 - [6 Regression] ICE on invalid initialization of a flexible array member PR c++/69277 - [6 Regression] ICE mangling a flexible array member PR c++/69349 - template substitution error for flexible array members gcc/testsuite/ChangeLog: 2016-02-03 Martin Sebor <msebor@redhat.com> PR c++/69251 PR c++/69253 PR c++/69290 PR c++/69277 PR c++/69349 * g++.dg/ext/flexarray-mangle-2.C: New test. * g++.dg/ext/flexarray-mangle.C: New test. * g++.dg/ext/flexarray-subst.C: New test. * g++.dg/ext/flexary11.C: New test. * g++.dg/ext/flexary12.C: New test. * g++.dg/ext/flexary13.C: New test. * g++.dg/ext/flexary14.C: New test. * g++.dg/other/dump-ada-spec-2.C: Adjust. gcc/cp/ChangeLog: 2016-02-03 Martain Sebor <msebor@redhat.com> PR c++/69251 PR c++/69253 PR c++/69290 PR c++/69277 PR c++/69349 * class.c (walk_subobject_offsets): Avoid testing the upper bound of a flexible array member for equality to null. (find_flexarrays): Remove spurious whitespace introduced in r231665. (diagnose_flexarrays): Avoid checking the upper bound of arrays. (check_flexarrays): Same. * decl.c (compute_array_index_type): Avoid special case for flexible array members. (grokdeclarator): Avoid calling compute_array_index_type for flexible array members. * error.c (dump_type_suffix): Revert changes introduced in r231665 and rendered unnecessary by the changes above. * pt.c (tsubst): Same. * tree.c (build_ctor_subob_ref): Handle flexible array members. * typeck2.c (digest_init_r): Revert changes introduced in r231665. (process_init_constructor_array): Same. (process_init_constructor_record): Same. From-SVN: r233126
2016-02-04 05:50:42 +01:00
2016-02-03 Martin Sebor <msebor@redhat.com>
PR c++/69251
PR c++/69253
PR c++/69290
PR c++/69277
PR c++/69349
* g++.dg/ext/flexarray-mangle-2.C: New test.
* g++.dg/ext/flexarray-mangle.C: New test.
* g++.dg/ext/flexarray-subst.C: New test.
* g++.dg/ext/flexary11.C: New test.
* g++.dg/ext/flexary12.C: New test.
* g++.dg/ext/flexary13.C: New test.
* g++.dg/ext/flexary14.C: New test.
* g++.dg/other/dump-ada-spec-2.C: Adjust.
2016-02-03 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/iamcu/test_passing_unions.c (check_union_passing6):
Define only if CHECK_FLOAT128 is defined.
(main): Properly initialize u5.
2016-02-03 Jakub Jelinek <jakub@redhat.com>
PR c/69627
* gcc.dg/pr69627.c: New test.
PR target/69644
* gcc.dg/pr69644.c: New test.
2016-02-03 Mike Stump <mikestump@comcast.net>
* lib/compat.exp (compat-get-options-main): Add dg-timeout-factor
support for struct-layout-1.exp.
2016-02-03 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69056
* g++.dg/cpp0x/pr69056.C: New test.
2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
Alexandre Oliva <aoliva@redhat.com>
PR target/69461
* gcc.target/powerpc/pr69461.c: New.
2016-02-03 Uros Bizjak <ubizjak@gmail.com>
* lib/tsan-dg.exp (tsan_init): Move check if tsan executable
works from here ...
(check_effective_target_fsanitize_thread): ... to here. Do not
specify additional compile flags for the test source.
* lib/asan-dg.exp (check_effective_target_fsanitize_address): Do not
specify additional compile flags for the test source.
2016-02-03 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/ccmp_1.c: Fix test issue.
2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/67451
PR fortran/69418
* gfortran.dg/coarray_allocate_2.f08: New test.
* gfortran.dg/coarray_allocate_3.f08: New test.
* gfortran.dg/coarray_allocate_4.f08: New test.
2016-02-03 Alan Lawrence <alan.lawrence@arm.com>
* gcc.dg/vect/vect-outer-1-big-array.c: Drop vect_multiple_sizes;
use same scan-tree-dump-times on all platforms.
* gcc.dg/vect/vect-outer-1.c: Likewise.
* gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-1a.c: Likewise.
* gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-1b.c: Likewise.
* gcc.dg/vect/vect-outer-2b.c: Likewise.
* gcc.dg/vect/vect-outer-3b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
2016-02-02 Segher Boessenkool <segher@kernel.crashing.org>
* c-c++-common/vector-compare-4.c: Prune "non-standard ABI extension"
warning.
2016-02-02 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/iamcu/test_empty_structs_and_unions.c: New test.
2016-02-02 James Norris <jnorris@codesourcery.com>
* c-c++-common/goacc/routine-5.c: Add tests.
2016-02-02 Alexander Monakov <amonakov@ispras.ru>
* gcc.target/nvptx/unsigned-cmp.c: New test.
2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/scalar_shift_1.c
(test_corners_sisd_di): Improve force to SIMD register.
(test_corners_sisd_si): Likewise.
* gcc.target/aarch64/vect-ld1r-compile-fp.c:
Remove scan-assembler check for ldr.
2016-02-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/69595
* gcc.dg/Warray-bounds-17.c: New testcase.
2016-02-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/69606
* gcc.dg/torture/pr69606.c: New testcase.
2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
PR middle-end/68542
* gcc.dg/vect/vect-mask-store-move-1.c: New test.
* gcc.target/i386/avx2-vect-mask-store-move1.c: New test.
2016-02-02 Alan Modra <amodra@gmail.com>
PR target/69548
* gcc.target/powerpc/pr69548.c: New test.
2016-02-01 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/69592
* gcc.dg/pr69592.c: New test.
PR preprocessor/69543
PR c/69558
* gcc.dg/pr69543.c: New test.
* gcc.dg/pr69558.c: New test.
2016-02-01 Uros Bizjak <ubizjak@gmail.com>
2016-02-01 23:25:31 +01:00
PR testsuite/65940
* g++.dg/other/anon5.C (dg-options): Use -gdwarf-2 instead of -g.
2016-02-01 Martin Sebor <msebor@redhat.com>
* gcc.target/powerpc/pr17381.c: Remove duplicate copy of the test body.
2016-02-01 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/67921
* c-c++-common/ubsan/pr67921.c: New test.
2016-02-01 Richard Biener <rguenther@suse.de>
PR middle-end/69556
* gcc.dg/tree-ssa/recip-8.c: New testcase.
2016-02-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/69574
* gcc.dg/torture/pr69574.c: New testcase.
2016-02-01 Richard Biener <rguenther@suse.de>
PR tree-optimization/69579
* gcc.dg/setjmp-6.c: New testcase.
2016-02-01 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/69570
* g++.dg/opt/pr69570.C: New test.
2016-02-01 Richard Henderson <rth@redhat.com>
* gcc.dg/pr69535.c: New test.
2016-01-31 John David Anglin <danglin@gcc.gnu.org>
PR testsuite/69584
* gcc.dg/tree-ssa/sra-17.c: Fix regexps to work on hpux.
* gcc.dg/tree-ssa/sra-18.c: Likewise.
PR debug/68244
* g++.dg/parse/parens3.C: Use register "4" on hppa.
* gcc.dg/tree-ssa/vector-5.c: Add -fno-common option on hppa*-*-hpux*.
2016-01-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67564
* gfortran.dg/allocate_with_source_17.f03: New test.
2016-01-30 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69546
* gcc.dg/torture/pr69546.c: New test.
2016-01-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69566
* gfortran.dg/unlimited_polymorphic_25.f03: New test.
2016-01-30 Martin Sebor <msebor@redhat.com>
PR c++/68490
* g++.dg/ext/flexary10.C: New test.
2016-01-30 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/66707
gfortran.dg/common_23.f90: New test.
2016-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65546
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Correct
condition being checked, and disable it when the target supports
misaligned loads and stores.
2016-01-29 Jakub Jelinek <jakub@redhat.com>
PR debug/69518
* gcc.dg/torture/pr69518.c: New test.
2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
PR target/69530
* gcc.target/i386/pr69530.c: New test.
2016-01-29 Steve Ellcey <sellcey@imgtec.com>
PR target/65604
* gcc.target/mips/div-delay.c: New test.
2016-01-29 Jakub Jelinek <jakub@redhat.com>
PR target/69551
* gcc.target/i386/pr69551.c: New test.
PR target/66137
* gcc.target/i386/pr66137.c: New test.
2016-01-29 Andrew Bennett <andrew.bennett@imgtec.com>
* gcc.target/mips/p5600-bonding.c (dg-options): Force the test to be
always built for p5600.
* gcc.target/mips/mips.exp (mips-dg-options): Add support for the
isa=p5600 dg-option.
2016-01-29 Richard Biener <rguenther@suse.de>
PR tree-optimization/69547
* g++.dg/tree-ssa/pr69547.C: New testcase.
2016-01-29 Jakub Jelinek <jakub@redhat.com>
PR debug/66869
* g++.dg/warn/Wunused-function2.C: New test.
2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Require a hardware vector
support for test to succeed.
2016-01-29 Marek Polacek <polacek@redhat.com>
PR c++/69509
PR c++/69516
* g++.dg/ext/constexpr-vla2.C: New test.
* g++.dg/ext/constexpr-vla3.C: New test.
* g++.dg/ubsan/vla-1.C: Remove dg-shouldfail.
2016-01-29 Richard Biener <rguenther@suse.de>
PR middle-end/69537
* gcc.dg/uninit-21.c: New testcase.
2016-01-28 Uros Bizjak <ubizjak@gmail.com>
PR target/69459
* gcc.target/i386/pr69459.c: New test.
2016-01-28 Steve Ellcey <sellcey@imgtec.com>
PR target/68400
* gcc.target/mips/mips.exp (mips_option_groups): Add stack-protector.
* gcc.target/mips/pr68400.c: New test.
2016-01-28 Martin Sebor <msebor@redhat.com>
PR target/17381
* gcc.target/powerpc/pr17381.c: New test.
2016-01-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/69542
* gcc.dg/torture/pr69542.c: New test.
2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/ccmp_1.c: Fix test issue.
2016-01-28 David Edelsohn <dje.gcc@gmail.com>
* gcc.dg/pr65980.c: Skip on AIX.
* gcc.dg/pr66688.c: Same.
2016-01-28 David Edelsohn <dje.gcc@gmail.com>
PR target/63679
* gcc.dg/tree-ssa/sra-17.c: Adjust regex for more label styles.
* gcc.dg/tree-ssa/sra-18.c: Same.
2016-01-28 Andre Vehreschild <vehre@gcc.gnu.org>
PR fortran/62536
* gfortran.dg/block_15.f08: New test.
* gfortran.dg/block_end_error_1.f90: Need to catch additional error
on incorrectly closed BLOCK.
2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
* gcc.dg/declare-simd.c: New test.
re PR debug/28767 (GCC should output DW_TAG_ptr_to_member for member functions) PR debug/28767 PR debug/56974 * langhooks.h (struct lang_hooks_for_types): Add type_dwarf_attribute langhook. * langhooks.c (lhd_type_dwarf_attribute): New function. * langhooks-def.h (lhd_type_dwarf_attribute): Declare. (LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_DWARF_ATTRIBUTE. (check_qualified_type, check_aligned_type): Call it. * dwarf2out.c (modified_type_die): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. (gen_ptr_to_mbr_type_die): If lookup_type_die is already non-NULL, return early. For pointer-to-data-member add DW_AT_use_location attribute. (gen_subroutine_type_die): Add DW_AT_{,rvalue_}reference attribute if needed. (gen_type_die_with_usage): Don't use type_main_variant for FUNCTION_TYPE or METHOD_TYPE, instead walk over variants with check_base_type and check_lang_type. Formatting fixes. Call get_debug_type langhook. cp/ * tree.c (cp_check_qualified_type): Use check_base_type and TYPE_QUALS comparison instead of check_qualified_type. (cxx_type_hash_eq): Return false if type_memfn_rqual don't match. * cp-objcp-common.c (cp_get_debug_type): New function. (cp_decl_dwarf_attribute): Don't handle types here. (cp_type_dwarf_attribute): New function. * cp-objcp-common.h (cp_get_debug_type, cp_type_dwarf_attribute): Declare. (LANG_HOOKS_GET_DEBUG_TYPE, LANG_HOOKS_TYPE_DWARF_ATTRIBUTE): Define. testsuite/ * g++.dg/debug/dwarf2/ptrdmem-1.C: New test. * g++.dg/debug/dwarf2/ref-3.C: New test. * g++.dg/debug/dwarf2/ref-4.C: New test. * g++.dg/debug/dwarf2/refqual-1.C: New test. * g++.dg/debug/dwarf2/refqual-2.C: New test. From-SVN: r241832
2016-11-03 22:18:49 +01:00
2016-01-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/69466
* gfortran.dg/vect/pr69466.f90: New testcase.
2016-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
* g++.dg/pr67989.C: Remove ARM-specific option.
* gcc.target/arm/pr67989.C: New file.
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
* gcc.dg/torture/pr68264.c: Disable log1p test for glibc < 2.22
and expm1 test for glibc < 2.11.
2016-01-27 Richard Henderson <rth@redhat.com>
* gcc.c-torture/execute/pr69447.c: New test.
2016-01-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69422
* gfortran.dg/alloc_comp_assign_15.f03: New test.
2016-01-27 Jakub Jelinek <jakub@redhat.com>
PR debug/66869
* gcc.dg/pr66869.c: New test.
2016-01-25 Jeff Law <law@redhat.com>
PR tree-optimization/68398
PR tree-optimization/69196
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Add extra statements on thread
path to avoid new heuristic allowing more irreducible regions
* gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: New test.
* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.
2016-01-27 Marek Polacek <polacek@redhat.com>
PR c/68062
* c-c++-common/vector-compare-4.c: New test.
2016-01-27 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/69126
* c-c++-common/pr69126.c: New test case.
2016-01-27 Ian Lance Taylor <iant@google.com>
* gcc.dg/tree-ssa/ivopt_5.c: New test.
2016-01-27 Ryan Burn <contact@rnburn.com>
PR cilkplus/69267
* g++.dg/cilk-plus/CK/pr69267.cc: New test.
2016-01-27 Uros Bizjak <ubizjak@gmail.com>
PR target/69512
* gcc.target/i386/pr69512.c: New test.
2016-01-27 Rainer Emrich <rainer@emrich-ebersheim.de>
PR ada/69488
* gnat.dg/sso/*.adb: Robustify dg-output directives.
2016-01-27 Marek Polacek <polacek@redhat.com>
PR c++/69379
* g++.dg/pr69379.C: New test.
2016-01-27 Martin Sebor <msebor@redhat.com>
PR c++/69317
* g++.dg/abi/Wabi-2-2.C: New test.
* g++.dg/abi/Wabi-2-3.C: New test.
* g++.dg/abi/Wabi-3-2.C: New test.
* g++.dg/abi/Wabi-3-3.C: New test.
2016-01-27 Richard Biener <rguenther@suse.de>
PR tree-optimization/69166
* gcc.dg/torture/pr69166.c: New testcase.
2016-01-27 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/69355
* gcc.dg/tree-ssa/pr69355.c: New test.
2016-01-27 Marek Polacek <polacek@redhat.com>
PR c++/69496
* g++.dg/ext/constexpr-vla1.C: New test.
2016-01-20 Christian Bruel <christian.bruel@st.com>
PR target/69245
* gcc.target/arm/pr69245.c: New test.
2016-01-27 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69399
* gcc.dg/torture/pr69399.c: New test.
2016-01-27 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL on SPARC 64-bit.
2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
* gcc.c-torture/execute/stkalign.c: XFAIL run on SPARC 64-bit.
2016-01-26 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69110
* gcc.dg/autopar/pr69110.c: New test.
2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* gcc.dg/graphite/isl-ast-op-select.c: New.
2015-01-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/69385
* gfortran.dg/allocate_error_6.f90: New test.
2016-01-26 Richard Henderson <rth@redhat.com>
* gcc.dg/tm/pr60908.c: New test.
PR other/69006: fix extra newlines after diagnostics gcc/c-family/ChangeLog: PR other/69006 * c-opts.c (c_diagnostic_finalizer): Replace invocation of pp_newline_and_flush with pp_flush. gcc/cp/ChangeLog: PR other/69006 * error.c (print_instantiation_partial_context_line): Add missing newlines from output for the t == NULL case. (print_instantiation_partial_context): Remove call to pp_newline. gcc/ChangeLog: PR other/69006 * diagnostic-show-locus.c (layout::print_source_line): Replace call to pp_newline with call to layout::print_newline. (layout::print_annotation_line): Likewise. (layout::move_to_column): Likewise. (layout::print_any_fixits): After printing any fixits, print a trailing newline, if necessary. (layout::print_newline): New method, resetting any colorization before a newline. (diagnostic_show_locus): Move the pp_newline to before the early bailout. Remove dummy block enclosing the layout instance. * diagnostic.c (default_diagnostic_finalizer): Replace invocation of pp_newline_and_flush with pp_flush. (diagnostic_append_note): Delete use of pp_newline. (diagnostic_append_note_at_rich_loc): Delete. * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete. * pretty-print.h (output_buffer_append_r): Reset buff->line_length when newline characters are added to the buffer. gcc/fortran/ChangeLog: PR other/69006 * error.c (gfc_diagnostic_starter): Delete use of pp_newline. gcc/testsuite/ChangeLog: PR other/69006 * g++.dg/ext/timevar1.C: Add dg-allow-blank-lines-in-output directive. * gcc.dg/plugin/diagnostic-test-show-locus-color.c: Update expected multiline output to reflect the colorization being disabled before newlines. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (custom_diagnostic_finalizer): Replace call to pp_newline_and_flush with call to pp_flush. * gcc.dg/unroll-2.c: Add dg-allow-blank-lines-in-output directive. * gfortran.dg/implicit_class_1.f90: Likewise. * lib/gcc-dg.exp (allow_blank_lines): New global. (dg-allow-blank-lines-in-output): New procedure. (gcc-dg-prune): Complain about blank lines in the output, unless dg-allow-blank-lines-in-output was called. * lib/multiline.exp (_build_multiline_regex): Only support arbitrary followup text for non-blank-lines, not for blank lines. From-SVN: r232837
2016-01-26 18:08:12 +01:00
2016-01-26 David Malcolm <dmalcolm@redhat.com>
PR other/69006
* g++.dg/ext/timevar1.C: Add dg-allow-blank-lines-in-output
directive.
* gcc.dg/plugin/diagnostic-test-show-locus-color.c: Update
expected multiline output to reflect the colorization being
disabled before newlines.
* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
(custom_diagnostic_finalizer): Replace call to
pp_newline_and_flush with call to pp_flush.
* gcc.dg/unroll-2.c: Add dg-allow-blank-lines-in-output directive.
* gfortran.dg/implicit_class_1.f90: Likewise.
* lib/gcc-dg.exp (allow_blank_lines): New global.
(dg-allow-blank-lines-in-output): New procedure.
(gcc-dg-prune): Complain about blank lines in the output, unless
dg-allow-blank-lines-in-output was called.
* lib/multiline.exp (_build_multiline_regex): Only support
arbitrary followup text for non-blank-lines, not for blank lines.
2016-01-26 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69483
* gcc.dg/pr69483.c: New test.
* g++.dg/opt/pr69483.C: New test.
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
PR target/68620
* gcc.target/arm/pr68620.c: New test.
2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pr68986-2.c: Remove -m32.
2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
PR target/68986
* gcc.target/i386/pr68986-1.c: New test.
* gcc.target/i386/pr68986-2.c: Likewise.
* gcc.target/i386/pr68986-3.c: Likewise.
2016-01-26 Christian Bruel <christian.bruel@st.com>
* lib/target-supports.exp
(check_effective_target_arm_crypto_pragma_ok_nocache): Remove.
(check_effective_target_arm_crypto_pragma_ok): Likewise.
* gcc.target/arm/attr-crypto.c: Remove arm_crypto_pragma_ok test.
2016-01-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/69452
* gcc.dg/torture/pr69452.c: New testcase.
2016-01-26 Jakub Jelinek <jakub@redhat.com>
PR target/69442
* gcc.dg/pr69442.c: New test.
2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
PR target/67896
* gcc.target/aarch64/simd/pr67896.C: New.
2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
PR tree-optimization/69400
* gcc.dg/plugin/wide-int_plugin.c (test_wide_int_mod_trunc): New
function.
(plugin_init): Call it.
* gcc.dg/torture/pr69400.c: New test.
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/pr68674.c: Check and use arm_fp effective target.
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* gcc.dg/graphite/graphite.exp: Only run the fuse-*.c tests with
isl-0.15.
2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* gcc.dg/graphite/pr69292.c: New.
2016-01-25 Jakub Jelinek <jakub@redhat.com>
* c-c++-common/goacc/use_device-1.c: New test.
2016-01-25 Jeff Law <law@redhat.com>
PR tree-optimization/69196
PR tree-optimization/68398
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output
* gcc.dg/tree-ssa/pr68198.c: Likewise.
2016-01-25 David Edelsohn <dje.gcc@gmail.com>
PR target/69469
* gcc.target/powerpc/vsx-vector-2.c: Adjust for Goldschmidt's
Algorithm.
2016-01-25 Richard Biener <rguenther@suse.de>
PR testsuite/69380
* g++.dg/tree-ssa/pr69336.C: Restrict to x86_64 and i?86.
2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/69421
* gcc.dg/pr69421.c: New test.
2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
* gcc.target/aarch64/simd/vcvt_s64_f64_1.c: New.
* gcc.target/aarch64/simd/vcvt_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvta_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvta_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtm_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtm_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtn_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtn_u64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtp_s64_f64_1.c: Likewise.
* gcc.target/aarch64/simd/vcvtp_u64_f64_1.c: Likewise.
2016-01-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/69376
* gcc.dg/torture/pr69376.c: New testcase.
2016-01-24 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/69397
PR fortran/68442
* gfortran.dg/interface_38.f90: New test.
* gfortran.dg/interface_39.f90: New test.
2016-01-24 Patrick Palka <ppalka@gcc.gnu.org>
Revert:
2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/11858
PR c++/24663
PR c++/24664
* g++.dg/template/pr11858.C: New test.
* g++.dg/template/pr24663.C: New test.
* g++.dg/template/unify12.C: New test.
* g++.dg/template/unify13.C: New test.
* g++.dg/template/unify14.C: New test.
* g++.dg/template/unify15.C: New test.
* g++.dg/template/unify16.C: New test.
* g++.dg/template/unify17.C: New test.
2016-01-24 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/68283
gfortran.dg/pr68283.f90: New test.
2016-01-24 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66094
* gfortran.dg/inline_matmul_13.f90: New test.
* gfortran.dg/matmul_bounds_8.f90: New test.
* gfortran.dg/matmul_bounds_9.f90: New test.
* gfortran.dg/matmul_bounds_10.f90: New test.
2016-01-23 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69426
* gcc.dg/autopar/pr69426.c: New test.
2016-01-23 Martin Sebor <msebor@redhat.com>
PR c++/58109
PR c++/69022
* g++.dg/cpp0x/alignas5.C: New test.
* g++.dg/ext/vector29.C: Same.
2016-01-23 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/chkp-strlen-2.c: Define _GNU_SOURCE.
* gcc.target/i386/chkp-strlen-4.c: Move the definition of
_GNU_SOURCE from compile flags to the source.
* gcc.target/i386/chkp-stropt-12.c: Ditto.
* gcc.target/i386/chkp-stropt-16.c: Ditto.
* gcc.target/i386/chkp-stropt-4.c: Ditto.
* gcc.target/i386/chkp-stropt-8.c: Ditto.
2016-01-22 Jakub Jelinek <jakub@redhat.com>
PR target/69432
* g++.dg/opt/pr69432.C: New test.
2016-01-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354c: Adjust target selector to include
32-bit targets testing an -m64 multilib.
2016-01-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/pr63354.c: Restrict to Linux targets with
64-bit support.
2016-01-22 James Greenhalgh <james.greenhalgh@arm.com>
* gcc.dg/vect/bb-slp-pr68892.c: Require vect_double.
2016-01-21 Christian Bruel <christian.bruel@st.com>
PR target/68674
* gcc.target/i386/pr68674.c
* gcc.target/aarch64/pr68674.c
* gcc.target/arm/pr68674.c
2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69403
* gcc.c-torture/execute/pr69403.c: New test.
2016-01-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/55843
* g++.dg/template/pr55843.C: New.
2016-01-22 Alan Lawrence <alan.lawrence@arm.com>
PR testsuite/66877
* gcc.dg/vect/vect-over-widen-3-big-array.c: Only look for 1
vect_recog_over_widening_pattern in dump if we have vect_widen_shift.
2016-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR testsuite/67489
* gcc.target/powerpc/p8vector-builtin-8.c: Remove { target int128 }
from dg-do compile directive, and instead add
{ dg-require-effective-target int128 }.
2016-01-20 Martin Sebor <msebor@redhat.com>
PR c/69405
* gcc.dg/sync-fetch.c: New test.
2016-01-21 Martin Sebor <msebor@redhat.com>
PR target/69252
* gcc.target/powerpc/pr69252.c: New test.
2016-01-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/65996
* gfortran.dg/pr65996.f90: New test.
2016-01-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR c++/68810
* g++.dg/cpp0x/constexpr-reinterpret1.C: Fix line number that is
expected to generate an error.
2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
PR middle-end/66178
* gcc.dg/torture/pr66178.c: New test.
2016-01-21 Anton Blanchard <anton@samba.org>
Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/63354
* gcc.target/powerpc/pr63354.c: New test.
2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/68990
* gcc.target/i386/pr68990: New.
2016-01-21 Nick Clifton <nickc@redhat.com>
PR target/69129
* gcc.target/mips/pr69129.c: New.
2016-01-21 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58046
* g++.dg/cpp0x/pr58046.C: New.
2016-01-21 Jakub Jelinek <jakub@redhat.com>
PR target/69187
PR target/65624
* gcc.target/arm/pr69187.c: New test.
PR c++/69355
* g++.dg/torture/pr69355.C: New test.
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* gfortran.dg/graphite/interchange-3.f90: Adjust pattern.
2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* gcc.dg/graphite/pr68976.c: New test.
2016-01-21 Jakub Jelinek <jakub@redhat.com>
PR middle-end/67653
* c-c++-common/pr67653.c: New test.
* gcc.dg/torture/pr29119.c: Add dg-warning.
2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
* gcc.target/powerpc/cpu-builtin-1.c: New test.
2016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
PR c/24293
* gcc.dg/pr24293.c: New test.
* gcc.dg/Wcxx-compat-8.c: Adjust to accept error due to
incomplete struct type.
* gcc.dg/declspec-1.c: Likewise.
* gcc.dg/pr63549.c: Likewise.
2016-01-20 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/66612
* gcc.target/powerpc/20050830-1.c: Xfail the scan-assembler test
for bdn instruction.
[ARM target attributes] Fix effective_target tests 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry. (arm_fp_ok): Likewise. (arm_fp): Likewise. (arm_crypto): Likewise. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_fp_ok_nocache): New. (check_effective_target_arm_fp_ok): New. (add_options_for_arm_fp): New. (check_effective_target_arm_crypto_ok_nocache): Require target_arm_v8_neon_ok instead of arm32. (check_effective_target_arm_crypto_pragma_ok_nocache): New. (check_effective_target_arm_crypto_pragma_ok): New. (add_options_for_arm_vfp): New. * gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective target. Do not force -mfloat-abi=softfp, use arm_fp_ok effective target instead. Force initial fpu to vfp. * gcc.target/arm/attr-neon-builtin-fail.c: Do not force -mfloat-abi=softfp, use arm_fp_ok effective target instead. * gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok dependency. * gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp, use arm_vfp effective target instead. Force initial fpu to vfp. * gcc.target/arm/attr-neon3.c: Likewise. * gcc.target/arm/cmp-2.c: Use arm_fp_ok effective target instead of arm_vfp_ok. * gcc.target/arm/unsigned-float.c: Likewise. * gcc.target/arm/vfp-1.c: Likewise. * gcc.target/arm/vfp-ldmdbd.c: Likewise. * gcc.target/arm/vfp-ldmdbs.c: Likewise. * gcc.target/arm/vfp-ldmiad.c: Likewise. * gcc.target/arm/vfp-ldmias.c: Likewise. * gcc.target/arm/vfp-stmdbd.c: Likewise. * gcc.target/arm/vfp-stmdbs.c: Likewise. * gcc.target/arm/vfp-stmiad.c: Likewise. * gcc.target/arm/vfp-stmias.c: Likewise. * gcc.target/arm/vnmul-1.c: Likewise. * gcc.target/arm/vnmul-2.c: Likewise. * gcc.target/arm/vnmul-3.c: Likewise. * gcc.target/arm/vnmul-4.c: Likewise. From-SVN: r232616
2016-01-20 15:19:41 +01:00
2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
* lib/target-supports.exp
(check_effective_target_arm_fp_ok_nocache): New.
(check_effective_target_arm_fp_ok): New.
(add_options_for_arm_fp): New.
(check_effective_target_arm_crypto_ok_nocache): Require
target_arm_v8_neon_ok instead of arm32.
(check_effective_target_arm_crypto_pragma_ok_nocache): New.
(check_effective_target_arm_crypto_pragma_ok): New.
(add_options_for_arm_vfp): New.
* gcc.target/arm/attr-crypto.c: Use arm_crypto_pragma_ok effective
target. Do not force -mfloat-abi=softfp, use arm_fp_ok effective
target instead. Force initial fpu to vfp.
* gcc.target/arm/attr-neon-builtin-fail.c: Do not force
-mfloat-abi=softfp, use arm_fp_ok effective target instead.
* gcc.target/arm/attr-neon-fp16.c: Likewise. Remove arm_neon_ok
dependency.
* gcc.target/arm/attr-neon2.c: Do not force -mfloat-abi=softfp,
use arm_vfp effective target instead. Force initial fpu to vfp.
* gcc.target/arm/attr-neon3.c: Likewise.
* gcc.target/arm/cmp-2.c: Use arm_fp_ok effective target instead of
arm_vfp_ok.
* gcc.target/arm/unsigned-float.c: Likewise.
* gcc.target/arm/vfp-1.c: Likewise.
* gcc.target/arm/vfp-ldmdbd.c: Likewise.
* gcc.target/arm/vfp-ldmdbs.c: Likewise.
* gcc.target/arm/vfp-ldmiad.c: Likewise.
* gcc.target/arm/vfp-ldmias.c: Likewise.
* gcc.target/arm/vfp-stmdbd.c: Likewise.
* gcc.target/arm/vfp-stmdbs.c: Likewise.
* gcc.target/arm/vfp-stmiad.c: Likewise.
* gcc.target/arm/vfp-stmias.c: Likewise.
* gcc.target/arm/vnmul-1.c: Likewise.
* gcc.target/arm/vnmul-2.c: Likewise.
* gcc.target/arm/vnmul-3.c: Likewise.
* gcc.target/arm/vnmul-4.c: Likewise.
2016-01-20 15:12:13 +01:00
2016-01-20 H.J. Lu <hongjiu.lu@intel.com>
Require non-x32 target for compile-time MPX tests Compile-time MPX tests don't need the MPX run-time library. They should pass for non-x32 target. PR testsuite/69366 * g++.dg/pr63995-1.C: Require non-x32 target, instead of, the MPX run-time library, for compile-time MPX test. * gcc.target/i386/chkp-always_inline.c: Likewise. * gcc.target/i386/chkp-bndret.c: Likewise. * gcc.target/i386/chkp-builtins-1.c: Likewise. * gcc.target/i386/chkp-builtins-2.c: Likewise. * gcc.target/i386/chkp-builtins-3.c: Likewise. * gcc.target/i386/chkp-builtins-4.c: Likewise. * gcc.target/i386/chkp-const-check-1.c: Likewise. * gcc.target/i386/chkp-const-check-2.c: Likewise. * gcc.target/i386/chkp-hidden-def.c: Likewise. * gcc.target/i386/chkp-label-address.c: Likewise. * gcc.target/i386/chkp-lifetime-1.c: Likewise. * gcc.target/i386/chkp-narrow-bounds.c: Likewise. * gcc.target/i386/chkp-pr69044.c: Likewise. * gcc.target/i386/chkp-remove-bndint-1.c: Likewise. * gcc.target/i386/chkp-remove-bndint-2.c: Likewise. * gcc.target/i386/chkp-strchr.c: Likewise. * gcc.target/i386/chkp-strlen-1.c: Likewise. * gcc.target/i386/chkp-strlen-2.c: Likewise. * gcc.target/i386/chkp-strlen-3.c: Likewise. * gcc.target/i386/chkp-strlen-4.c: Likewise. * gcc.target/i386/chkp-strlen-5.c: Likewise. * gcc.target/i386/chkp-stropt-1.c: Likewise. * gcc.target/i386/chkp-stropt-10.c: Likewise. * gcc.target/i386/chkp-stropt-11.c: Likewise. * gcc.target/i386/chkp-stropt-12.c: Likewise. * gcc.target/i386/chkp-stropt-13.c: Likewise. * gcc.target/i386/chkp-stropt-14.c: Likewise. * gcc.target/i386/chkp-stropt-15.c: Likewise. * gcc.target/i386/chkp-stropt-16.c: Likewise. * gcc.target/i386/chkp-stropt-2.c: Likewise. * gcc.target/i386/chkp-stropt-3.c: Likewise. * gcc.target/i386/chkp-stropt-4.c: Likewise. * gcc.target/i386/chkp-stropt-5.c: Likewise. * gcc.target/i386/chkp-stropt-6.c: Likewise. * gcc.target/i386/chkp-stropt-7.c: Likewise. * gcc.target/i386/chkp-stropt-8.c: Likewise. * gcc.target/i386/chkp-stropt-9.c: Likewise. * gcc.target/i386/pr63995-2.c: Likewise. * gcc.target/i386/pr64805.c: Likewise. * gcc.target/i386/pr65044.c: Likewise. * gcc.target/i386/pr65167.c: Likewise. * gcc.target/i386/pr65183.c: Likewise. * gcc.target/i386/pr65184.c: Likewise. * gcc.target/i386/thunk-retbnd.c: Likewise. From-SVN: r232613
2016-01-20 14:51:42 +01:00
PR testsuite/69366
* g++.dg/pr63995-1.C: Require non-x32 target, instead of,
the MPX run-time library, for compile-time MPX test.
* gcc.target/i386/chkp-always_inline.c: Likewise.
* gcc.target/i386/chkp-bndret.c: Likewise.
* gcc.target/i386/chkp-builtins-1.c: Likewise.
* gcc.target/i386/chkp-builtins-2.c: Likewise.
* gcc.target/i386/chkp-builtins-3.c: Likewise.
* gcc.target/i386/chkp-builtins-4.c: Likewise.
* gcc.target/i386/chkp-const-check-1.c: Likewise.
* gcc.target/i386/chkp-const-check-2.c: Likewise.
* gcc.target/i386/chkp-hidden-def.c: Likewise.
* gcc.target/i386/chkp-label-address.c: Likewise.
* gcc.target/i386/chkp-lifetime-1.c: Likewise.
* gcc.target/i386/chkp-narrow-bounds.c: Likewise.
* gcc.target/i386/chkp-pr69044.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-1.c: Likewise.
* gcc.target/i386/chkp-remove-bndint-2.c: Likewise.
* gcc.target/i386/chkp-strchr.c: Likewise.
* gcc.target/i386/chkp-strlen-1.c: Likewise.
* gcc.target/i386/chkp-strlen-2.c: Likewise.
* gcc.target/i386/chkp-strlen-3.c: Likewise.
* gcc.target/i386/chkp-strlen-4.c: Likewise.
* gcc.target/i386/chkp-strlen-5.c: Likewise.
* gcc.target/i386/chkp-stropt-1.c: Likewise.
* gcc.target/i386/chkp-stropt-10.c: Likewise.
* gcc.target/i386/chkp-stropt-11.c: Likewise.
* gcc.target/i386/chkp-stropt-12.c: Likewise.
* gcc.target/i386/chkp-stropt-13.c: Likewise.
* gcc.target/i386/chkp-stropt-14.c: Likewise.
* gcc.target/i386/chkp-stropt-15.c: Likewise.
* gcc.target/i386/chkp-stropt-16.c: Likewise.
* gcc.target/i386/chkp-stropt-2.c: Likewise.
* gcc.target/i386/chkp-stropt-3.c: Likewise.
* gcc.target/i386/chkp-stropt-4.c: Likewise.
* gcc.target/i386/chkp-stropt-5.c: Likewise.
* gcc.target/i386/chkp-stropt-6.c: Likewise.
* gcc.target/i386/chkp-stropt-7.c: Likewise.
* gcc.target/i386/chkp-stropt-8.c: Likewise.
* gcc.target/i386/chkp-stropt-9.c: Likewise.
* gcc.target/i386/pr63995-2.c: Likewise.
* gcc.target/i386/pr64805.c: Likewise.
* gcc.target/i386/pr65044.c: Likewise.
* gcc.target/i386/pr65167.c: Likewise.
* gcc.target/i386/pr65183.c: Likewise.
* gcc.target/i386/pr65184.c: Likewise.
* gcc.target/i386/thunk-retbnd.c: Likewise.
2016-01-20 15:12:13 +01:00
2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
PR tree-optimization/69328
* gcc.dg/pr69328.c: New test.
2016-01-20 Jeff Law <law@redhat.com>
2016-01-20 08:55:43 +01:00
PR target/25114
* gcc.target/m68k/pr25114.c: New test.
2016-01-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
* gcc.target/arm/memset-inline-10.c: Added
dg-require-effective-target arm_thumb2_ok.
2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
* gcc.dg/debug/dwarf2/sso.c: New test.
2016-01-19 Uros Bizjak <ubizjak@gmail.com>
PR testsuite/68820
* gcc.c-torture/execute/builtins/memops-asm.x: New file.
* gcc.c-torture/execute/builtins/strstr-asm.x: Ditto.
* gcc.c-torture/execute/builtins/strstr-asm.c: Remove dg-options.
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
PR ipa/66223
* g++.dg/ipa/devirt-50.C: New testcase.
2016-01-19 Marek Polacek <polacek@redhat.com>
PR c++/68965
* g++.dg/cpp1y/parameter-pack-1.C: New test.
* g++.dg/cpp1y/parameter-pack-2.C: New test.
2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/69135
* gcc.target/arm/pr69135_1.c: New test.
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/ccmp_1.c: Add new tests.
2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
* gcc.target/aarch64/ccmp_1.c: New testcase.
2016-01-19 Marek Polacek <polacek@redhat.com>
PR c++/68586
* g++.dg/cpp0x/enum30.C: New test.
2016-01-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69336
* g++.dg/tree-ssa/pr69336.C: New testcase.
2016-01-19 Jakub Jelinek <jakub@redhat.com>
PR debug/65779
* gcc.dg/pr65779.c: New test.
2016-01-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/69352
* gcc.dg/torture/pr69352.c: New testcase.
2016-01-19 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/68955
PR rtl-optimization/64557
* gcc.dg/torture/pr68955.c: New test.
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
PR lto/69136
* g++.dg/torture/pr69136.C: New testcase.
2016-01-19 Jan Hubicka <hubicka@ucw.cz>
PR lto/69133
* g++.dg/lto/pr69133_0.C: New testcase.
* g++.dg/lto/pr69133_1.C: New testcase.
2016-01-15 Jeff Law <law@redhat.com>
PR tree-optimization/69320
* gcc.c-torture/pr69320-1.c: New test.
* gcc.c-torture/pr69320-2.c: New test.
* gcc.c-torture/pr69320-3.c: New test.
* gcc.c-torture/pr69320-4.c: New test.
2016-01-18 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/11858
PR c++/24663
PR c++/24664
* g++.dg/template/pr11858.C: New test.
* g++.dg/template/pr24663.C: New test.
* g++.dg/template/unify12.C: New test.
* g++.dg/template/unify13.C: New test.
* g++.dg/template/unify14.C: New test.
* g++.dg/template/unify15.C: New test.
* g++.dg/template/unify16.C: New test.
* g++.dg/template/unify17.C: New test.
2016-01-18 David Malcolm <dmalcolm@redhat.com>
PR testsuite/69181
* gcc.dg/pr69181-1.c: New test file.
* gcc.dg/pr69181-2.c: New test file.
* lib/gcc-dg.exp (dg-test): Consolidate post-test cleanup of
globals by moving it to...
(cleanup-after-saved-dg-test): ...this new function. Add
"global additional_sources_used". Add reset of global
multiline_expected_outputs to the empty list.
* lib/multiline.exp (_multiline_expected_outputs): Rename this
global to...
(multiline_expected_outputs): ...this, and updated comments to
note that it is modified from gcc-dg.exp.
(dg-end-multiline-output): Update for the above renaming.
(handle-multiline-outputs): Likewise. Remove the clearing
of the expected outputs to the empty list.
2016-01-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/69297
* gcc.dg/vect/costmodel/x86_64/costmodel-pr69297.c: New testcase.
Handle Octeon 3 not supporting MIPS paired-single instructions. The Octeon 3 processor does not support the MIPS paired-single instructions. This results in illegal instruction errors in the testsuite when vectorization tests try to use those instructions. This patch teaches the compiler about that lack of support, so that warnings are given when -mpaired-single (or something implying it) is used when compiling for such a processor. I chose to test TARGET_OCTEON as the simplest conditional; since the older Octeon processors don't support hard float at all, I don't think the choice matters for them. Tests that then failed with the warning were updated to disable them for Octeon. Tested with no regressions for cross to mips64el-linux-gnu (Octeon 3). gcc: * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require !TARGET_OCTEON. gcc/testsuite: * gcc.target/mips/mips-3d-1.c: Use forbid_cpu=octeon.* in dg-options. * gcc.target/mips/mips-3d-2.c: Likewise. * gcc.target/mips/mips-3d-3.c: Likewise. * gcc.target/mips/mips-3d-4.c: Likewise. * gcc.target/mips/mips-3d-5.c: Likewise. * gcc.target/mips/mips-3d-6.c: Likewise. * gcc.target/mips/mips-3d-7.c: Likewise. * gcc.target/mips/mips-3d-8.c: Likewise. * gcc.target/mips/mips-3d-9.c: Likewise. * gcc.target/mips/mips-ps-1.c: Likewise. * gcc.target/mips/mips-ps-2.c: Likewise. * gcc.target/mips/mips-ps-3.c: Likewise. * gcc.target/mips/mips-ps-4.c: Likewise. * gcc.target/mips/mips-ps-5.c: Likewise. * gcc.target/mips/mips-ps-6.c: Likewise. * gcc.target/mips/mips-ps-7.c: Likewise. * gcc.target/mips/mips-ps-type.c: Likewise. * gcc.target/mips/mips-ps-type-2.c: Likewise. * gcc.target/mips/mips16-attributes-6.c: Likewise. From-SVN: r232517
2016-01-18 14:30:43 +01:00
2016-01-18 Joseph Myers <joseph@codesourcery.com>
* gcc.target/mips/mips-3d-1.c: Use forbid_cpu=octeon.* in
dg-options.
* gcc.target/mips/mips-3d-2.c: Likewise.
* gcc.target/mips/mips-3d-3.c: Likewise.
* gcc.target/mips/mips-3d-4.c: Likewise.
* gcc.target/mips/mips-3d-5.c: Likewise.
* gcc.target/mips/mips-3d-6.c: Likewise.
* gcc.target/mips/mips-3d-7.c: Likewise.
* gcc.target/mips/mips-3d-8.c: Likewise.
* gcc.target/mips/mips-3d-9.c: Likewise.
* gcc.target/mips/mips-ps-1.c: Likewise.
* gcc.target/mips/mips-ps-2.c: Likewise.
* gcc.target/mips/mips-ps-3.c: Likewise.
* gcc.target/mips/mips-ps-4.c: Likewise.
* gcc.target/mips/mips-ps-5.c: Likewise.
* gcc.target/mips/mips-ps-6.c: Likewise.
* gcc.target/mips/mips-ps-7.c: Likewise.
* gcc.target/mips/mips-ps-type.c: Likewise.
* gcc.target/mips/mips-ps-type-2.c: Likewise.
* gcc.target/mips/mips16-attributes-6.c: Likewise.
2016-01-18 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/kernels-counter-vars-function-scope.c: New test.
* c-c++-common/goacc/kernels-double-reduction.c: New test.
* c-c++-common/goacc/kernels-empty.c: New test.
* c-c++-common/goacc/kernels-eternal.c: New test.
* c-c++-common/goacc/kernels-loop-2.c: New test.
* c-c++-common/goacc/kernels-loop-3.c: New test.
* c-c++-common/goacc/kernels-loop-data-2.c: New test.
* c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: New test.
* c-c++-common/goacc/kernels-loop-data-enter-exit.c: New test.
* c-c++-common/goacc/kernels-loop-data-update.c: New test.
* c-c++-common/goacc/kernels-loop-data.c: New test.
* c-c++-common/goacc/kernels-loop-g.c: New test.
* c-c++-common/goacc/kernels-loop-mod-not-zero.c: New test.
* c-c++-common/goacc/kernels-loop-n.c: New test.
* c-c++-common/goacc/kernels-loop-nest.c: New test.
* c-c++-common/goacc/kernels-loop.c: New test.
* c-c++-common/goacc/kernels-noreturn.c: New test.
* c-c++-common/goacc/kernels-one-counter-var.c: New test.
* c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: New test.
* c-c++-common/goacc/kernels-reduction.c: New test.
Add pass_parallelize_loops to pass_oacc_kernels 2016-01-18 Tom de Vries <tom@codesourcery.com> * passes.def: Add pass_parallelize_loops to pass_oacc_kernels. * gcc.dg/autopar/outer-1.c: Update for new parloops instantiation. * gcc.dg/autopar/outer-2.c: Same. * gcc.dg/autopar/outer-3.c: Same. * gcc.dg/autopar/outer-4.c: Same. * gcc.dg/autopar/outer-5.c: Same. * gcc.dg/autopar/outer-6.c: Same. * gcc.dg/autopar/parallelization-1.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-2.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-3.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-4.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-5.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-6.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-7.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c: Same. * gcc.dg/autopar/parloops-exit-first-loop-alt.c: Same. * gcc.dg/autopar/pr39500-1.c: Same. * gcc.dg/autopar/pr39500-2.c: Same. * gcc.dg/autopar/pr46193.c: Same. * gcc.dg/autopar/pr46194.c: Same. * gcc.dg/autopar/pr49580.c: Same. * gcc.dg/autopar/pr49960-1.c: Same. * gcc.dg/autopar/pr49960.c: Same. * gcc.dg/autopar/pr68373.c: Same. * gcc.dg/autopar/reduc-1.c: Same. * gcc.dg/autopar/reduc-1char.c: Same. * gcc.dg/autopar/reduc-1short.c: Same. * gcc.dg/autopar/reduc-2.c: Same. * gcc.dg/autopar/reduc-2char.c: Same. * gcc.dg/autopar/reduc-2short.c: Same. * gcc.dg/autopar/reduc-3.c: Same. * gcc.dg/autopar/reduc-4.c: Same. * gcc.dg/autopar/reduc-6.c: Same. * gcc.dg/autopar/reduc-7.c: Same. * gcc.dg/autopar/reduc-8.c: Same. * gcc.dg/autopar/reduc-9.c: Same. * gcc.dg/autopar/uns-outer-4.c: Same. * gcc.dg/autopar/uns-outer-5.c: Same. * gcc.dg/autopar/uns-outer-6.c: Same. * gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same. * gfortran.dg/parloops-exit-first-loop-alt.f95: Same. From-SVN: r232513
2016-01-18 13:52:42 +01:00
2016-01-18 Tom de Vries <tom@codesourcery.com>
* gcc.dg/autopar/outer-1.c: Update for new parloops instantiation.
* gcc.dg/autopar/outer-2.c: Same.
* gcc.dg/autopar/outer-3.c: Same.
* gcc.dg/autopar/outer-4.c: Same.
* gcc.dg/autopar/outer-5.c: Same.
* gcc.dg/autopar/outer-6.c: Same.
* gcc.dg/autopar/parallelization-1.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-2.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt-pr66652.c: Same.
* gcc.dg/autopar/parloops-exit-first-loop-alt.c: Same.
* gcc.dg/autopar/pr39500-1.c: Same.
* gcc.dg/autopar/pr39500-2.c: Same.
* gcc.dg/autopar/pr46193.c: Same.
* gcc.dg/autopar/pr46194.c: Same.
* gcc.dg/autopar/pr49580.c: Same.
* gcc.dg/autopar/pr49960-1.c: Same.
* gcc.dg/autopar/pr49960.c: Same.
* gcc.dg/autopar/pr68373.c: Same.
* gcc.dg/autopar/reduc-1.c: Same.
* gcc.dg/autopar/reduc-1char.c: Same.
* gcc.dg/autopar/reduc-1short.c: Same.
* gcc.dg/autopar/reduc-2.c: Same.
* gcc.dg/autopar/reduc-2char.c: Same.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-3.c: Same.
* gcc.dg/autopar/reduc-4.c: Same.
* gcc.dg/autopar/reduc-6.c: Same.
* gcc.dg/autopar/reduc-7.c: Same.
* gcc.dg/autopar/reduc-8.c: Same.
* gcc.dg/autopar/reduc-9.c: Same.
* gcc.dg/autopar/uns-outer-4.c: Same.
* gcc.dg/autopar/uns-outer-5.c: Same.
* gcc.dg/autopar/uns-outer-6.c: Same.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
PR target/63679
* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove XFAIL for powerpc(32), hppa,
aarch64, sparc, s390. Add --param sra-max-scalarization-size-Ospeed.
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
PR target/63679
* gcc.dg/tree-ssa/ssa-dom-cse-5.c: New.
* gcc.dg/tree-ssa/ssa-dom-cse-6.c: New.
* gcc.dg/tree-ssa/ssa-dom-cse-7.c: New.
2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
PR target/63679
* gcc.dg/tree-ssa/sra-17.c: New.
* gcc.dg/tree-ssa/sra-18.c: New.
2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
* gcc.target/i386/pr65105-5.c: Adjust to andn generation.
2016-01-18 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/inline12.adb: New test.
2016-01-18 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/66797
* gcc.c-torture/execute/pr65447.c: Relax check condition.
2016-01-18 Richard Biener <rguenther@suse.de>
PR tree-optimization/69170
* gcc.dg/torture/pr69170.c: New testcase.
2016-01-17 John David Anglin <danglin@gcc.gnu.org>
* gcc.dg/torture/builtin-integral-1.c: Require c99_runtime.
2016-01-16 Tom de Vries <tom@codesourcery.com>
* c-c++-common/goacc/kernels-alias-ipa-pta-4.c: New test.
2016-01-16 Tom de Vries <tom@codesourcery.com>
* gcc.dg/parloops-exit-first-loop-alt.c: Move ...
* gcc.dg/autopar/parloops-exit-first-loop-alt.c: ... here. Remove
redundant dg-require-effective-target pthread.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
2016-01-16 David Edelsohn <dje.gcc@gmail.com>
PR target/68609
* gcc.target/powerpc/recip-6.c: Enable on AIX.
* gcc.target/powerpc/recip-7.c: Same.
2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69091
* g++.dg/template/pr69091.C: New test.
2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
* c-c++-common/cilk-plus/AN/an-if.c: Check that the original
dump does not contain an error_mark_node.
* c-c++-common/cilk-plus/CK/pr60469.c: Likewise.
* c-c++-common/cilk-plus/AN/fn_ptr-2.c: New xfail'd test.
2016-01-16 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/68936
* g++.dg/template/pr68936.C: New test.
2016-01-15 David Edelsohn <dje.gcc@gmail.com>
PR target/68609
* gcc.target/powerpc/recip-1.c: Adjust for Goldschmidt's Algorithm.
* gcc.target/powerpc/recip-2.c: Same.
* gcc.target/powerpc/recip-3.c: Same.
* gcc.target/powerpc/recip-4.c: Same.
* gcc.target/powerpc/recip-sqrtf.c: Same.
2016-01-15 Jeff Law <law@redhat.com>
PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270-2.c: New test.
* gcc.dg/tree-ssa/pr69270-3.c: New test.
re PR fortran/64324 (Deferred character specific functions not permitted in generic operator interface) 2016-01-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/64324 * resolve.c (check_uop_procedure): Prevent deferred length characters from being trapped by assumed length error. PR fortran/49630 PR fortran/54070 PR fortran/60593 PR fortran/60795 PR fortran/61147 PR fortran/64324 * trans-array.c (gfc_conv_scalarized_array_ref): Pass decl for function as well as variable expressions. (gfc_array_init_size): Add 'expr' as an argument. Use this to correctly set the descriptor dtype for deferred characters. (gfc_array_allocate): Add 'expr' to the call to 'gfc_array_init_size'. * trans.c (gfc_build_array_ref): Expand logic for setting span to include indirect references to character lengths. * trans-decl.c (gfc_get_symbol_decl): Ensure that deferred result char lengths that are PARM_DECLs are indirectly referenced both for directly passed and by reference. (create_function_arglist): If the length type is a pointer type then store the length as the 'passed_length' and make the char length an indirect reference to it. (gfc_trans_deferred_vars): If a character length has escaped being set as an indirect reference, return it via the 'passed length'. * trans-expr.c (gfc_conv_procedure_call): The length of deferred character length results is set TREE_STATIC and set to zero. (gfc_trans_assignment_1): Do not fix the rse string_length if it is a variable, a parameter or an indirect reference. Add the code to trap assignment of scalars to unallocated arrays. * trans-stmt.c (gfc_trans_allocate): Remove 'def_str_len' and all references to it. Instead, replicate the code to obtain a explicitly defined string length and provide a value before array allocation so that the dtype is correctly set. trans-types.c (gfc_get_character_type): If the character length is a pointer, use the indirect reference. 2016-01-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/49630 * gfortran.dg/deferred_character_13.f90: New test for the fix of comment 3 of the PR. PR fortran/54070 * gfortran.dg/deferred_character_8.f90: New test * gfortran.dg/allocate_error_5.f90: New test PR fortran/60593 * gfortran.dg/deferred_character_10.f90: New test PR fortran/60795 * gfortran.dg/deferred_character_14.f90: New test PR fortran/61147 * gfortran.dg/deferred_character_11.f90: New test PR fortran/64324 * gfortran.dg/deferred_character_9.f90: New test From-SVN: r232450
2016-01-15 21:33:58 +01:00
2016-01-15 Paul Thomas <pault@gcc.gnu.org>
PR fortran/49630
* gfortran.dg/deferred_character_13.f90: New test for the fix
of comment 3 of the PR.
PR fortran/54070
* gfortran.dg/deferred_character_8.f90: New test
* gfortran.dg/allocate_error_5.f90: New test
PR fortran/60593
* gfortran.dg/deferred_character_10.f90: New test
PR fortran/60795
* gfortran.dg/deferred_character_14.f90: New test
PR fortran/61147
* gfortran.dg/deferred_character_11.f90: New test
PR fortran/64324
* gfortran.dg/deferred_character_9.f90: New test
2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/69030
* gcc.target/i386/pr69030.c: New.
2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* gcc.target/aarch64/target_attr_17.c: New test.
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/66856
* gcc.dg/torture/pr66856-1.c: New testcase.
* gcc.dg/torture/pr66856-2.c: Likewise.
2016-01-15 Richard Biener <rguenther@suse.de>
PR debug/69137
* g++.dg/lto/pr69137_0.C: New testcase.
2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
PR middle-end/69246
* gcc.target/i386/pr69246.c: New test.
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gfortran.dg/bind_c_array_params_2.f90: Fix test patterns for S/390.
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
PR c++/56194
* g++.dg/init/const9.C: Disable test on S/390.
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
* g++.dg/Wframe-address.C: Test requires -mbackchain for s390*-*-*.
* g++.dg/Wno-frame-address.C: Ditto.
2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/20040204-1.c: Do not xfail on S/390.
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/68961
* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: New testcase.
2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
* gcc.target/i386/pr65105-5.c: New test.
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
* gcc.c-torture/execute/alias-4.c: New testcase.
2016-01-15 Jan Hubicka <hubicka@ucw.cz>
PR ipa/68148
* g++.dg/ipa/devirt-49.C: New testcase.
2016-01-15 10:02:15 +01:00
2016-01-15 Christian Bruel <christian.bruel@st.com>
PR target/65837
* gcc.target/arm/attr-neon-builtin-fail2.c: New test.
* gcc.target/arm/lto/pr65837-attr_0.c: New test.
* gcc.target/arm/lto/pr65837_0.c: Fix skip condition and use ACLE name.
2016-01-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/69117
* gcc.dg/torture/pr69117.c: New testcase.
2015-01-14 Ryan Burn <contact@rnburn.com>
PR c++/69048
* g++.dg/cilk-plus/CK/pr69048.cc: New test.
2016-01-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR testsuite/67509
* gfortran.dg/ieee/ieee_7.f90: For out of bound precision or
range tests use 100 * maximum instead of maximum + 1.
2016-01-14 Jakub Jelinek <jakub@redhat.com>
PR debug/69244
* gcc.dg/guality/pr69244.c: New test.
2016-01-14 Uros Bizjak <ubizjak@gmail.com>
* lib/target-supports.exp (check_effective_target_issignaling):
New procedure.
* gcc.dg/pr61441.c: Require issignaling effective target.
2016-01-14 Segher Boessenkool <segher@kernel.crashing.org>
PR target/68803
* gcc.target/powerpc/20050603-3.c: Add xfails for powerpc64le.
2016-01-14 David Malcolm <dmalcolm@redhat.com>
PR c++/68819
PR preprocessor/69177
* gcc.dg/plugin/location-overflow-test-1.c: New test case.
* gcc.dg/plugin/location-overflow-test-2.c: New test case.
* gcc.dg/plugin/location_overflow_plugin.c: New test plugin.
* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
2016-01-14 Marek Polacek <polacek@redhat.com>
PR c/69262
* gcc.dg/array-15.c: New test.
2016-01-14 Jakub Jelinek <jakub@redhat.com>
PR middle-end/68146
PR tree-optimization/69155
* gfortran.dg/pr68146.f: New test.
* gfortran.dg/pr69155.f90: New test.
2016-01-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/68060
* gcc.dg/torture/pr68060-1.c: New testcase.
* gcc.dg/torture/pr68060-2.c: Likewise.
2016-01-14 Nick Clifton <nickc@redhat.com>
* lib/target-supports.exp
(check_effective_target_arm_neon_ok_nocache): Add an option
sequence that includes setting the ARM architecture to ARMv7-A.
* gcc.target/arm/attr-neon.c: Use dg-add-options to add the
command line options necessary to enable Neon support.
* gcc.target/arm/neon-vlshr-imm-1.c: Likewise.
* gcc.target/arm/neon-vshl-imm-1.c: Likewise.
* gcc.target/arm/neon-vshr-imm-1.c: Likewise.
* gcc.target/arm/pr69180.c: Likewise.
2016-01-14 Jeff Law <law@redhat.com>
PR tree-optimization/69270
* gcc.dg/tree-ssa/pr69270.c: New test.
2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
PR c/66208
* c-c++-common/pr66208.c: New file.
2016-01-13 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69156
* gcc.dg/pr69156.c: New test.
2016-01-13 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/pr69225-7.c: New test.
re PR target/68964 (Internal compiler error for test case gcc.dg/tm/20100610.c since r231674) PR 68964 gcc/ PR tree-opt/68964 * target.def (builtin_tm_load, builtin_tm_store): Remove. * config/i386/i386.c (ix86_builtin_tm_load): Remove. (ix86_builtin_tm_store): Remove. (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. * doc/tm.texi: Rebuild. * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New. (BUILT_IN_TM_MEMCPY_RTWN): New. * trans-mem.c (tm_log_emit_stmt): Rearrange code for better fallback from vector to integer helpers. (build_tm_load): Handle vector types directly, instead of via target hook. (build_tm_store): Likewise. (expand_assign_tm): Prepare for register types not handled by the above. Copy them to memory and use memcpy. * tree.c (tm_define_builtin): New. (find_tm_vector_type): New. (build_tm_vector_builtins): New. (build_common_builtin_nodes): Call it. libitm/ * Makefile.am (libitm_la_SOURCES) [ARCH_AARCH64]: Add vect128.cc (libitm_la_SOURCES) [ARCH_ARM]: Add neon.cc (libitm_la_SOURCES) [ARCH_PPC]: Add vect128.cc (libitm_la_SOURCES) [ARCH_S390]: Add vect128.cc * configure.ac (ARCH_AARCH64): New conditional. (ARCH_PPC, ARCH_S390): Likewise. * Makefile.in, configure: Rebuild. * libitm.h (_ITM_TYPE_M128): Always define. * vect64.cc: Split ... * vect128.cc: ... out of... * config/x86/x86_sse.cc: ... here. * config/arm/neon.cc: New file. From-SVN: r232330
2016-01-13 18:03:42 +01:00
2016-01-13 Richard Henderson <rth@redhat.com>
* gcc.dg/tm/memopt-13.c: Update expected function.
* gcc.dg/tm/memopt-6.c: Likewise.
2016-01-13 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/pr45685.c (dg-options): Add -mno-sse4.
* gcc.target/i386/pr68432-1.c (dg-options): Ditto.
* gcc.target/i386/pr68432-2.c (dg-options): Ditto.
* gcc.target/i386/pr68432-3.c (dg-options): Ditto.
2016-01-13 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69169
* gcc.dg/pr69169.c: New test.
2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
PR target/69228
* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Adjust.
* gcc.target/i386/avx512pf-vscatterpf0dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf0qps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1dps-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Likewise.
* gcc.target/i386/avx512pf-vscatterpf1qps-1.c: Likewise.
2016-01-13 Jakub Jelinek <jakub@redhat.com>
PR target/69247
* gcc.dg/pr69247.c: New test.
2016-01-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/69242
* gcc.dg/torture/pr69242.c: New testcase.
2016-01-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/69186
* gcc.dg/torture/pr69186.c: New testcase.
2016-01-13 Jeff Law <law@redhat.com>
PR tree-optimization/67755
* gcc.dg/tree-ssa/pr67755.c: New test.
2016-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
* gcc.c-torture/unsorted/dump-noaddr.x (dump_compare): Replace static
pass number in output by a star.
2016-01-12 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/68911
* gcc.c-torture/execute/pr68911.c: New test.
2016-01-12 Marek Polacek <polacek@redhat.com>
PR c++/68979
* g++.dg/warn/permissive-1.C: New test.
2016-01-12 Jakub Jelinek <jakub@redhat.com>
PR objc++/68511
PR c++/69213
* g++.dg/opt/pr69213.C: New test.
2016-01-12 Christian Bruel <christian.bruel@st.com>
PR target/69180
* gcc.target/arm/pr69180.c: New test.
2016-01-12 Richard Biener <rguenther@suse.de>
PR lto/69077
* g++.dg/lto/pr69077_0.C: New testcase.
* g++.dg/lto/pr69077_1.C: Likewise.
2016-01-12 Jakub Jelinek <jakub@redhat.com>
PR target/69175
* g++.dg/opt/pr69175.C: New test.
Cleanup vect testsuite includes * gcc.dg/vect/fast-math-bb-slp-call-3.c: Declare functions as 'extern' rather than #including math.h & stdlib.h. * gcc.dg/vect/pr47001.c: Declare abort as 'extern', remove stdlib.h. * gcc.dg/vect/pr49771.c: Likewise. * gcc.dg/vect/vect-10-big-array.c: Likewise. * gcc.dg/vect/vect-neg-store-1.c: Likewise. * gcc.dg/vect/vect-neg-store-2.c: Likewise. * gcc.dg/vect/slp-37.c: Change NULL to 0, remove stdlib.h. * gcc.dg/vect/pr40254.c: Remove unnecessary include of stdlib.h. * gcc.dg/vect/pr44507.c: Likewise. * gcc.dg/vect/pr45902.c: Likewise. * gcc.dg/vect/slp-widen-mult-half.c: Likewise. * gcc.dg/vect/vect-117.c: Likewise. * gcc.dg/vect/vect-99.c: Likewise. * gcc.dg/vect/vect-aggressive-1.c: Likewise. * gcc.dg/vect/vect-cond-1.c: Likewise. * gcc.dg/vect/vect-cond-2.c: Likewise. * gcc.dg/vect/vect-cond-3.c: Likewise. * gcc.dg/vect/vect-cond-4.c: Likewise. * gcc.dg/vect/vect-mask-load-1.c: Likewise. * gcc.dg/vect/vect-mask-loadstore-1.c: Likewise. * gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-1.c: Likewise. * gcc.dg/vect/vect-over-widen-2-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-2.c: Likewise. * gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-3.c: Likewise. * gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise. * gcc.dg/vect/vect-over-widen-4.c: Likewise. * gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise. * gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise. * gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise. * gcc.dg/vect/vect-widen-mult-half.c: Likewise. * gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Remove unnecessary include of signal.h. * gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise. * gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise. * gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise. * gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise. * gcc.dg/vect/no-trapping-math-vect-ifcvt-16.c: Likewise. * gcc.dg/vect/vect-ifcvt-16.c: Likewise. * gcc.dg/vect/vect-ifcvt-17.c: Likewise. * gcc.dg/vect/vect-ifcvt-2.c: Likewise. * gcc.dg/vect/vect-ifcvt-3.c: Likewise. * gcc.dg/vect/vect-ifcvt-4.c: Likewise. * gcc.dg/vect/vect-ifcvt-5.c: Likewise. * gcc.dg/vect/vect-ifcvt-5.c: Likewise. * gcc.dg/vect/vect-ifcvt-6.c: Likewise. * gcc.dg/vect/vect-ifcvt-7.c: Likewise. * gcc.dg/vect/vect-ifcvt-9.c: Likewise. * gcc.dg/vect/vect-outer-5.c: Likewise. * gcc.dg/vect/vect-outer-6.c: Likewise. * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Remove unnecessary include of stdio.h. From-SVN: r232265
2016-01-12 13:28:47 +01:00
2016-01-12 Alan Lawrence <alan.lawrence@arm.com>
* gcc.dg/vect/fast-math-bb-slp-call-3.c: Declare functions as 'extern'
rather than #including math.h & stdlib.h.
* gcc.dg/vect/pr47001.c: Declare abort as 'extern', remove stdlib.h.
* gcc.dg/vect/pr49771.c: Likewise.
* gcc.dg/vect/vect-10-big-array.c: Likewise.
* gcc.dg/vect/vect-neg-store-1.c: Likewise.
* gcc.dg/vect/vect-neg-store-2.c: Likewise.
* gcc.dg/vect/slp-37.c: Change NULL to 0, remove stdlib.h.
* gcc.dg/vect/pr40254.c: Remove unnecessary include of stdlib.h.
* gcc.dg/vect/pr44507.c: Likewise.
* gcc.dg/vect/pr45902.c: Likewise.
* gcc.dg/vect/slp-widen-mult-half.c: Likewise.
* gcc.dg/vect/vect-117.c: Likewise.
* gcc.dg/vect/vect-99.c: Likewise.
* gcc.dg/vect/vect-aggressive-1.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-2.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-mask-load-1.c: Likewise.
* gcc.dg/vect/vect-mask-loadstore-1.c: Likewise.
* gcc.dg/vect/vect-over-widen-1-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-1.c: Likewise.
* gcc.dg/vect/vect-over-widen-2-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-2.c: Likewise.
* gcc.dg/vect/vect-over-widen-3-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-3.c: Likewise.
* gcc.dg/vect/vect-over-widen-4-big-array.c: Likewise.
* gcc.dg/vect/vect-over-widen-4.c: Likewise.
* gcc.dg/vect/vect-widen-mult-const-s16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-const-u16.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half-u8.c: Likewise.
* gcc.dg/vect/vect-widen-mult-half.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-11.c: Remove unnecessary
include of signal.h.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-12.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-13.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-14.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-15.c: Likewise.
* gcc.dg/vect/no-trapping-math-vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-16.c: Likewise.
* gcc.dg/vect/vect-ifcvt-17.c: Likewise.
* gcc.dg/vect/vect-ifcvt-2.c: Likewise.
* gcc.dg/vect/vect-ifcvt-3.c: Likewise.
* gcc.dg/vect/vect-ifcvt-4.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-5.c: Likewise.
* gcc.dg/vect/vect-ifcvt-6.c: Likewise.
* gcc.dg/vect/vect-ifcvt-7.c: Likewise.
* gcc.dg/vect/vect-ifcvt-9.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-6.c: Likewise.
* gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Remove unnecessary
include of stdio.h.
2016-01-12 Nick Clifton <nickc@redhat.com>
PR target/68913
* gcc.dg/lto/pr61886_0.c: Rename the external function called
to fread so that it will be found in all target runtimes.
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69053
* g++.dg/torture/pr69053.C: New testcase.
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69168
* gcc.dg/torture/pr69168.c: New testcase.
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69157
* gcc.dg/torture/pr69157.c: New testcase.
2016-01-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/69174
* gcc.dg/torture/pr69174.c: New testcase.
2016-01-12 Jakub Jelinek <jakub@redhat.com>
PR c++/66808
PR c++/69000
* g++.dg/tls/pr66808.C: New test.
* g++.dg/tls/pr69000.C: New test.
2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/swaps-p8-23.c: New test.
* gcc.target/powerpc/swaps-p8-24.c: Likewise.
2016-01-11 John David Anglin <danglin@gcc.gnu.org>
PR tree-optimization/68356
* gcc.dg/torture/pr68264.c: Disable exp2 ERANGE test on hppa unix.
2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
Jim Wilson <jim.wilson@linaro.org>
PR target/69194
* gcc.target/arm/pr69194.c: New test.
2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
PR target/69225
* gcc.target/i386/pr69225-1.c: New test.
* gcc.target/i386/pr69225-2.c: Likewise.
* gcc.target/i386/pr69225-3.c: Likewise.
* gcc.target/i386/pr69225-4.c: Likewise.
* gcc.target/i386/pr69225-5.c: Likewise.
* gcc.target/i386/pr69225-6.c: Likewise.
2016-01-11 Jakub Jelinek <jakub@redhat.com>
PR target/67462
* gcc.dg/ifcvt-3.c: Only compile on lp64 targets, include also i?86
if lp64.
PR target/69071
* gcc.dg/pr69071.c: New test.
PR c++/69211
* g++.dg/opt/pr69211.C: New test.
PR tree-optimization/69214
* gcc.c-torture/compile/pr69214.c: New test.
2016-01-11 Uros Bizjak <ubizjak@gmail.com>
* gcc.target/i386/pr66232-10.c: Do not compile on ia32 target.
* gcc.target/i386/pr66232-11.c: Ditto.
* gcc.target/i386/pr66232-12.c: Ditto.
* gcc.target/i386/pr66232-13.c: Ditto.
2016-01-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/69173
* gcc.dg/torture/pr69173.c: New testcase.
2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/68796
* gcc.target/aarch64/tst_5.c: New test.
* gcc.target/aarch64/tst_6.c: Likewise.
2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/68841
* gcc.dg/pr68841.c: New test.
* gcc.c-torture/execute/pr68841.c: New test.
2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
PR rtl-optimization/68920
* gcc.dg/ifcvt-4.c: Add "--param max-rtl-if-conversion-insns=3" option
for ix86 targets.
* gcc.dg/ifcvt-5.c: New test.
2016-01-11 Alexandre Oliva <aoliva@redhat.com>
PR bootstrap/69123
* g++.dg/pr69123.C: New.
2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/69010
* gcc.target/i386/pr69010.c: New test.
2016-01-11 Martin Jambor <mjambor@suse.cz>
PR ipa/69044
* gcc.target/i386/chkp-pr69044.c: New test.
2016-01-11 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69109
* gcc.dg/autopar/pr69109-2.c: New test.
* gcc.dg/autopar/pr69109.c: New test.
2016-01-11 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69108
* gcc.dg/autopar/pr69108.c: New test.
2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
PR c++/69029
* c-c++-common/Wisleading-indentation.c: Augment test.
2016-01-10 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/69154
* gfortran.dg/inline_matmul_12.f90: New test.
2016-01-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/67779
* gfortran.dg/actual_array_offset_1: New test.
2016-01-10 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69062
* gcc.dg/autopar/pr69062.c: New test.
2016-01-10 Thomas Schwinge <thomas@codesourcery.com>
* gcc.dg/vect/slp-perm-1.c: Fix scan-tree-dump syntax.
* gcc.dg/vect/slp-perm-2.c: Likewise.
* gcc.dg/vect/slp-perm-3.c: Likewise.
* gcc.dg/vect/slp-perm-5.c: Likewise.
* gcc.dg/vect/slp-perm-6.c: Likewise.
* gcc.dg/vect/slp-perm-7.c: Likewise.
* gcc.dg/vect/slp-perm-8.c: Likewise.
2016-01-10 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/69039
* gcc.dg/autopar/pr69039.c: New test.
2016-01-09 Marek Polacek <polacek@redhat.com>
PR c++/69113
* g++.dg/pr69113.C: New test.
2016-01-09 Jakub Jelinek <jakub@redhat.com>
PR middle-end/50865
PR tree-optimization/69097
* gcc.c-torture/execute/pr50865.c: New test.
* gcc.c-torture/execute/pr69097-1.c: New test.
* gcc.c-torture/execute/pr69097-2.c: New test.
* gcc.dg/pr69097-1.c: New test.
* gcc.dg/pr69097-2.c: New test.
2016-01-09 Jakub Jelinek <jakub@redhat.com>
PR c++/69164
* g++.dg/opt/pr69164.C: New test.
2016-01-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69167
* gcc.dg/pr69167.c: New test.
2016-01-08 Marek Polacek <polacek@redhat.com>
PR c++/68449
* g++.dg/pr68449.C: New.
2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
PR tree-optimization/68707
* lib/target-supports.exp (check_effective_target_vect_load_lanes): New.
* gcc.dg/vect/slp-perm-1.c: Look for vect_load_lanes instead of SLP
on platforms supporting it.
* gcc.dg/vect/slp-perm-2.c: Likewise.
* gcc.dg/vect/slp-perm-3.c: Likewise.
* gcc.dg/vect/slp-perm-5.c: Likewise.
* gcc.dg/vect/slp-perm-7.c: Likewise.
* gcc.dg/vect/slp-perm-8.c: Likewise.
* gcc.dg/vect/slp-perm-6.c: Look for vect_load_lanes in addition to SLP
on platforms supporting it.
2016-01-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69162
* gcc.dg/pr69162.c: New test.
PR tree-optimization/69172
* gcc.dg/pr69172.c: New test.
2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR tree-optimization/67781
* gcc.c-torture/execute/pr67781.c: New file.
2016-01-08 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69083
* gcc.dg/vect/pr69083.c: New test.
2016-01-08 Sujoy Saraswati <sujoy.saraswati@hpe.com>
PR tree-optimization/61441
* gcc.dg/pr61441.c: Restrict to linux and gnu targets.
Use -fexcess-precision=standard for compiler options.
Use fabs() only when __FLT_EVAL_METHOD__ == 0.
2016-01-08 Jakub Jelinek <jakub@redhat.com>
PR fortran/69128
* gfortran.dg/gomp/pr69128.f90: New test.
PR c++/69145
* g++.dg/ext/pr69145-1.C: New test.
* g++.dg/ext/pr69145-2-very-long-filename.cc: New file.
* g++.dg/ext/pr69145-2.h: New file.
2016-01-07 Martin Sebor <msebor@redhat.com>
PR c/68966
* gcc.dg/atomic-fetch-bool.c: New test.
* gcc.dg/sync-fetch-bool.c: New test.
2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
PR fortran/66680
gfortran.dg/gomp/pr66680.f90: Moved to libgomp.
2016-01-07 Nick Clifton <nickc@redhat.com>
PR target/66655
* g++.dg/pr66655.C: New test.
* g++.dg/pr66655_1.cc: Test support file.
* g++.dg/pr66655.h: Test header file.
2016-01-07 Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/66680
gfortran.dg/gomp/pr66680.f90: New test.
2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/69171
* gcc.target/i386/pr69171-1.c: New test.
* gcc.target/i386/pr69171-2.c: Likewise.
* gcc.target/i386/pr69171-3.c: Likewise.
* gcc.target/i386/pr69171-4.c: Likewise.
* gcc.target/i386/pr69171-5.c: Likewise.
* gcc.target/i386/pr69171-6.c: Likewise.
2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
PR middle-end/67639
* c-c++-common/pr67639.c: New test.
2016-01-07 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69141
* g++.dg/opt/pr69141.C: New test.
2016-01-06 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20151219-1.c: Skip in 64-bit mode.
2016-01-06 Uros Bizjak <ubizjak@gmail.com>
PR target/69140
* gcc.target/i386/pr69140.c: New test
2016-01-06 David Malcolm <dmalcolm@redhat.com>
* gcc.dg/bad-dereference.c: New test case.
2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-lxvx-stxvx-3.c: New test.
2016-01-06 Andreas Schwab <schwab@linux-m68k.org>
* gcc.dg/atomic-invalid-2.c: Remove duplicated content.
2016-01-06 Marek Polacek <polacek@redhat.com>
PR sanitizer/69099
* gcc.dg/ubsan/float-cast-overflow-atomic.c: New test.
2016-01-05 Marek Polacek <polacek@redhat.com>
PR c/69104
* gcc.dg/atomic-invalid-2.c: New.
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
PR target/68991
* gcc.target/i386/pr68991.c: New test.
2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
PR target/68991
* g++.dg/pr68991-1.C: New test.
* g++.dg/pr68991-2.C: Likewise.
2016-01-05 Sergei Trofimovich <siarheit@google.com>
PR other/60465
* gcc.target/ia64/pr60465-gprel64.c: New test.
* gcc.target/ia64/pr60465-gprel64-c37.c: New test.
2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR rtl-optimization/68651
* gcc.target/aarch64/pr68651_1.c: New test.
2016-01-05 David Malcolm <dmalcolm@redhat.com>
PR c/69122
* c-c++-common/Wmisleading-indentation.c (pr69122): New function.
2016-01-05 Nathan Sidwell <nathan@acm.org>
PR c++/58583
* g++.dg/cpp0x/nsdmi-template14.C: Adjust test & errors.
* gcc.dg/alias-15.c: New.
2016-01-05 Nick Clifton <nickc@redhat.com>
PR target/68870
* g++.dg/pr68770.C: New test.
2016-01-04 Mike Stump <mikestump@comcast.net>
* lib/target-supports.exp (check_effective_target_cilkplus):
cilkplus targets require pthreads.
(check_effective_target_cilkplus): Remove special case for NVPTX.
2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-permute.c: New test for xxperm code
generation.
2016-01-04 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
2016-01-04 Marek Polacek <polacek@redhat.com>
PR c/68908
* gcc.dg/atomic/c11-atomic-exec-6.c: New test.
* gcc.dg/atomic/c11-atomic-exec-7.c: New test.
* gcc.dg/atomic/stdatomic-op-5.c: New test.
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20160104-2.c: New test.
2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
* gcc.target/sparc/20160104-1.c: New test.
2016-01-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/65045
* gfortran.dg/pr65045.f90: New test.
2016-01-02 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/debug1.ads: Delete.
2016-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/68867
* gfortran.dg/default_format_denormal_2.f90: Fix the dg regular
expression.
2016-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/68867
* gfortran.dg/default_format_denormal_2.f90: XFAIL for all
PowerPC.
2016-01-01 Paul Thomas <pault@gcc.gnu.org>
PR fortran/68864
* gfortran.dg/pr68864.f90: New test.
2016-01-01 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69070
* gcc.dg/pr69070.c: New test.
PR sanitizer/69055
* gfortran.dg/pr69055.f90: New test.
PR target/69015
* gcc.dg/pr69015.c: New test.
2016-01-01 00:50:54 +01:00
Copyright (C) 2016 Free Software Foundation, Inc.
ABOUT-GCC-NLS, [...]: Add copyright and license notices. * ABOUT-GCC-NLS, ChangeLog, ChangeLog-1997, ChangeLog-1998, ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, ChangeLog.dataflow, ChangeLog.lib, ChangeLog.ptr, ChangeLog.tree-ssa, ChangeLog.tuples, FSFChangeLog, FSFChangeLog.10, FSFChangeLog.11, LANGUAGES, ONEWS, acinclude.m4, config/alpha/gnu.h, config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-osf4, config/alpha/t-vms, config/alpha/va_list.h, config/alpha/x-vms, config/arc/t-arc, config/arm/README-interworking, config/arm/arm-c.c, config/arm/gentune.sh, config/arm/libgcc-bpabi.ver, config/arm/t-arm, config/arm/t-arm-elf, config/arm/t-arm-softfp, config/arm/t-bpabi, config/arm/t-linux, config/arm/t-linux-eabi, config/arm/t-netbsd, config/arm/t-pe, config/arm/t-strongarm-elf, config/arm/t-symbian, config/arm/t-vxworks, config/arm/t-wince-pe, config/avr/t-avr, config/bfin/elf.h, config/bfin/libgcc-bfin.ver, config/bfin/linux.h, config/bfin/t-bfin, config/bfin/t-bfin-elf, config/bfin/t-bfin-linux, config/bfin/t-bfin-uclinux, config/bfin/uclinux.h, config/cris/mulsi3.asm, config/cris/t-cris, config/cris/t-elfmulti, config/crx/t-crx, config/darwin-ppc-ldouble-patch.def, config/darwin-sections.def, config/divmod.c, config/fr30/t-fr30, config/frv/libgcc-frv.ver, config/frv/t-frv, config/frv/t-linux, config/h8300/genmova.sh, config/h8300/t-h8300, config/i386/athlon.md, config/i386/darwin-libgcc.10.4.ver, config/i386/darwin-libgcc.10.5.ver, config/i386/libgcc-glibc.ver, config/i386/mach.h, config/i386/netbsd.h, config/i386/t-crtpc, config/i386/t-cygming, config/i386/t-cygwin, config/i386/t-i386, config/i386/t-linux64, config/i386/t-nwld, config/i386/t-rtems-i386, config/i386/t-sol2-10, config/i386/x-mingw32, config/ia64/div.md, config/ia64/elf.h, config/ia64/ia64.opt, config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver, config/ia64/linux.h, config/ia64/sysv4.h, config/ia64/t-hpux, config/ia64/t-ia64, config/iq2000/abi, config/iq2000/lib2extra-funcs.c, config/iq2000/t-iq2000, config/libgcc-glibc.ver, config/m32r/libgcc-glibc.ver, config/m32r/t-linux, config/m32r/t-m32r, config/m68hc11/t-m68hc11, config/m68k/t-floatlib, config/m68k/t-linux, config/m68k/t-mlibs, config/m68k/t-uclinux, config/mcore/t-mcore, config/mcore/t-mcore-pe, config/mips/20kc.md, config/mips/4130.md, config/mips/5400.md, config/mips/5500.md, config/mips/crti.asm, config/mips/crtn.asm, config/mips/irix-crti.asm, config/mips/irix-crtn.asm, config/mips/libgcc-mips16.ver, config/mips/mips-dsp.md, config/mips/mips-dspr2.md, config/mips/mips-fixed.md, config/mips/sb1.md, config/mips/sr71k.md, config/mips/t-elf, config/mips/t-gofast, config/mips/t-iris6, config/mips/t-isa3264, config/mips/t-libgcc-mips16, config/mips/t-linux64, config/mips/t-mips, config/mips/t-r3900, config/mips/t-rtems, config/mips/t-sb1, config/mips/t-sde, config/mips/t-sdemtk, config/mips/t-slibgcc-irix, config/mips/t-sr71k, config/mips/t-st, config/mips/t-vr, config/mips/t-vxworks, config/mmix/t-mmix, config/mn10300/t-linux, config/mn10300/t-mn10300, config/pa/pa32-regs.h, config/pa/t-hpux-shlib, config/pa/t-linux, config/pa/t-linux64, config/pa/t-pa64, config/pdp11/t-pdp11, config/picochip/libgccExtras/clzsi2.asm, config/picochip/t-picochip, config/rs6000/darwin-ldouble-format, config/rs6000/darwin-libgcc.10.4.ver, config/rs6000/darwin-libgcc.10.5.ver, config/rs6000/libgcc-ppc-glibc.ver, config/rs6000/ppc-asm.h, config/rs6000/t-aix43, config/rs6000/t-aix52, config/rs6000/t-darwin, config/rs6000/t-fprules, config/rs6000/t-fprules-fpbit, config/rs6000/t-linux64, config/rs6000/t-lynx, config/rs6000/t-netbsd, config/rs6000/t-ppccomm, config/rs6000/t-ppcendian, config/rs6000/t-ppcgas, config/rs6000/t-rs6000, config/rs6000/t-rtems, config/rs6000/t-spe, config/rs6000/t-vxworks, config/s390/libgcc-glibc.ver, config/score/t-score-elf, config/sh/divcost-analysis, config/sh/libgcc-glibc.ver, config/sh/t-netbsd, config/sh/t-sh, config/sh/t-sh64, config/sh/t-superh, config/sh/t-symbian, config/sparc/libgcc-sparc-glibc.ver, config/sparc/sol2-bi.h, config/sparc/sol2-gas.h, config/sparc/sol2-gld-bi.h, config/sparc/t-elf, config/sparc/t-linux64, config/sparc/t-sol2, config/stormy16/stormy-abi, config/stormy16/t-stormy16, config/t-darwin, config/t-libunwind, config/t-libunwind-elf, config/t-linux, config/t-lynx, config/t-slibgcc-elf-ver, config/t-slibgcc-sld, config/t-sol2, config/t-vxworks, config/udivmod.c, config/udivmodsi4.c, config/v850/t-v850, config/v850/t-v850e, config/xtensa/t-xtensa, diagnostic.def, gdbinit.in, glimits.h, gstab.h, gsyms.h, java/ChangeLog, java/ChangeLog.ptr, java/ChangeLog.tree-ssa, libgcc-std.ver, limitx.h, version.c, xcoff.h: Add copyright and license notices. * config/h8300/genmova.sh: Include copyright and license notices in generated output. * config/h8300/mova.md: Regenerate. * doc/install.texi2html: Include word "Copyright" in copyright notice and use name "Free Software Foundation, Inc.". * ChangeLog, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008: Correct dates. ada: * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and license notices. cp: * ChangeLog, ChangeLog-1993, ChangeLog-1994, ChangeLog-1995, ChangeLog-1996, ChangeLog-1997, ChangeLog-1998, ChangeLog-1999, ChangeLog-2000, ChangeLog-2001, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, ChangeLog.ptr, ChangeLog.tree-ssa, NEWS, cfns.gperf: Add copyright and license notices. * cfns.h: Regenerate. * ChangeLog, ChangeLog-2004: Correct dates. fortran: * ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add copyright and license notices. * ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008: Correct dates. java: * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and license notices. objc: * ChangeLog: Add copyright and license notices. objcp: * ChangeLog: Add copyright and license notices. po: * ChangeLog, EXCLUDES: Add copyright and license notices. testsuite: * ChangeLog, ChangeLog-1993-2007, ChangeLog-2008, ChangeLog.ptr, ChangeLog.tree-ssa, README, README.QMTEST, README.compat, README.gcc, g++.dg/README, g++.dg/compat/break/README, g++.dg/gomp/gomp.exp, g++.old-deja/g++.brendan/README, g++.old-deja/g++.oliva/ChangeLog, g++.old-deja/g++.robertl/README, gcc.c-torture/ChangeLog.0, gcc.c-torture/execute/builtins/builtins.exp, gcc.dg/README, gcc.dg/gomp/gomp.exp, gcc.target/frv/frv.exp, gcc.target/i386/math-torture/math-torture.exp, gcc.target/mips/inter/mips16-inter.exp, gcc.target/mips/mips-nonpic/README, gcc.target/x86_64/abi/README.gcc, gcc.target/xstormy16/xstormy16.exp, gcc.test-framework/README, gfortran.dg/g77/README, gfortran.dg/gomp/gomp.exp, gfortran.fortran-torture/ChangeLog.g95: Add copyright and license notices. * ChangeLog-1993-2007, ChangeLog: Correct dates. From-SVN: r146533
2009-04-21 21:03:23 +02:00
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.