Handle oacc kernels with other directives
Mark directives with fn spec attributes to prevent them from acting as
optimization barrier.
gcc/
* builtin-attrs.def (DOT_DOT_r_r_r): Add DEF_ATTR_FOR_STRING.
(ATTR_FNSPEC_DOT_DOT_r_r_r_NOTHROW_LIST): Add DEF_ATTR_TREE_LIST.
* omp-builtins.def (BUILT_IN_GOACC_DATA_START)
(BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Use
DEF_GOACC_BUILTIN_FNSPEC instead of DEF_GOACC_BUILTIN.
gcc/testsuite/
* 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-parallel-loop-data-enter-exit.c: 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-parallel-loop-data-enter-exit.f95: New
test.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
New test.
* testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: New
test.
* testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
New test.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: New
test.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
New test.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
New test.
* testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: New
test.
* testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: New test.
* testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@222288 138bc75d-0d04-0410-961f-82ee72b054a4
29 files changed: