diff options
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r-- | gcc/fortran/parse.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c index e57669c..ec7abc2 100644 --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c @@ -1633,14 +1633,15 @@ next_statement (void) #define case_decl case ST_ATTR_DECL: case ST_COMMON: case ST_DATA_DECL: \ case ST_EQUIVALENCE: case ST_NAMELIST: case ST_STATEMENT_FUNCTION: \ - case ST_TYPE: case ST_INTERFACE: case ST_PROCEDURE: case ST_OACC_ROUTINE: \ - case ST_OACC_DECLARE + case ST_TYPE: case ST_INTERFACE: case ST_PROCEDURE -/* OpenMP declaration statements. */ +/* OpenMP and OpenACC declaration statements, which may appear anywhere in + the specification part. */ #define case_omp_decl case ST_OMP_THREADPRIVATE: case ST_OMP_DECLARE_SIMD: \ case ST_OMP_DECLARE_TARGET: case ST_OMP_DECLARE_REDUCTION: \ - case ST_OMP_REQUIRES + case ST_OMP_REQUIRES: case ST_OACC_ROUTINE: case ST_OACC_DECLARE + /* Block end statements. Errors associated with interchanging these are detected in gfc_match_end(). */ @@ -2813,7 +2814,7 @@ verify_st_order (st_state *p, gfc_statement st, bool silent) break; case_omp_decl: - /* The OpenMP directives have to be somewhere in the specification + /* The OpenMP/OpenACC directives have to be somewhere in the specification part, but there are no further requirements on their ordering. Thus don't adjust p->state, just ignore them. */ if (p->state >= ORDER_EXEC) |