OpenACC deviceptr clause: Fix handling in Fortran.
commit779291a1fe21b3c0b0c0c615a0557f070f495d14
authortschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Nov 2014 14:52:04 +0000 (11 14:52 +0000)
committertschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Nov 2014 14:52:04 +0000 (11 14:52 +0000)
tree24e7b1656985c7cd7858c66093c7cf8dca85b0fb
parentb02e5e894d5ac204689d5596567d6dfefd38b82f
OpenACC deviceptr clause: Fix handling in Fortran.

With two gcc_asserts restored, and not handling OpenACC deviceptr clauses in
the same data paths as other OpenACC data clauses, we'd run into an internal
compiler error, when the deviceptr clause is used with (non-offloaded) OpenACC
data regions:

    FAIL: gfortran.dg/goacc/data-tree.f95   -O  (internal compiler error)
    FAIL: gfortran.dg/goacc/data-tree.f95   -O  (test for excess errors)

gcc/fortran/
* gfortran.h (OMP_LIST_DEVICEPTR): Remove, and instead...
(enum gfc_omp_map_op): ... add OMP_MAP_FORCE_DEVICEPTR here.
* dump-parse-tree.c (show_omp_clauses): Update.
* openmp.c (gfc_match_omp_clauses, resolve_omp_clauses)
(gfc_resolve_oacc_declare): Likewise.
* trans-openmp.c (gfc_trans_omp_clauses): Likewise.
gcc/
* omp-low.c (lower_omp_target): Restore two gcc_asserts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@217352 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog.gomp
gcc/fortran/ChangeLog.gomp
gcc/fortran/dump-parse-tree.c
gcc/fortran/gfortran.h
gcc/fortran/openmp.c
gcc/fortran/trans-openmp.c
gcc/omp-low.c