re PR c++/71257 (OpenMP declare simd linear with ref modifier doesn't accept referenc...
authorJakub Jelinek <jakub@redhat.com>
Tue, 24 May 2016 16:19:43 +0000 (18:19 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 24 May 2016 16:19:43 +0000 (18:19 +0200)
commit7adb26f20259aadcd6e2df6ece474eca615af978
tree6b7fa6dd48f9c9d394a3bbe75f0594125c46edad
parente90434e3aa9e51874bd5ebebf054aed123df06f2
re PR c++/71257 (OpenMP declare simd linear with ref modifier doesn't accept references to non-integer/non-pointer)

PR c++/71257
* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.

* semantics.c (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>:
For OMP_CLAUSE_LINEAR_REF don't require type to be
integral or pointer.

* g++.dg/vect/simd-clone-6.cc: New test.
* g++.dg/gomp/declare-simd-6.C: New test.

From-SVN: r236648
gcc/ChangeLog
gcc/cp/ChangeLog
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/gomp/declare-simd-6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/vect/simd-clone-6.cc [new file with mode: 0644]
gcc/tree-vect-stmts.c