From 2bd86b95f76315f102c52a81453ef375c97e8f1b Mon Sep 17 00:00:00 2001 From: Harald Anlauf Date: Tue, 27 Aug 2019 19:16:33 +0000 Subject: re PR fortran/91496 (!GCC$ directives error if mistyped or unknown) 2019-08-27 Harald Anlauf PR fortran/91496 * gfortran.h: Extend struct gfc_iterator for loop annotations. * array.c (gfc_copy_iterator): Copy loop annotations by IVDEP, VECTOR, and NOVECTOR pragmas. * decl.c (gfc_match_gcc_ivdep, gfc_match_gcc_vector) (gfc_match_gcc_novector): New matcher functions handling IVDEP, VECTOR, and NOVECTOR pragmas. * match.h: Declare prototypes of matcher functions handling IVDEP, VECTOR, and NOVECTOR pragmas. * parse.c (decode_gcc_attribute, parse_do_block) (parse_executable): Decode IVDEP, VECTOR, and NOVECTOR pragmas; emit warning for unrecognized pragmas instead of error. * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do): Add code to emit annotations for IVDEP, VECTOR, and NOVECTOR pragmas. * gfortran.texi: Document IVDEP, VECTOR, and NOVECTOR pragmas. PR fortran/91496 * gfortran.dg/pr91496.f90: New testcase. From-SVN: r274966 --- gcc/fortran/array.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/fortran/array.c') diff --git a/gcc/fortran/array.c b/gcc/fortran/array.c index 396dd97..b958e89 100644 --- a/gcc/fortran/array.c +++ b/gcc/fortran/array.c @@ -2185,6 +2185,9 @@ gfc_copy_iterator (gfc_iterator *src) dest->end = gfc_copy_expr (src->end); dest->step = gfc_copy_expr (src->step); dest->unroll = src->unroll; + dest->ivdep = src->ivdep; + dest->vector = src->vector; + dest->novector = src->novector; return dest; } -- cgit v1.1