Hi Harald, This is OK for trunk.
Thanks! Paul On Mon, 26 Aug 2019 at 22:13, Harald Anlauf <anl...@gmx.de> wrote: > > Dear all, > > the attached patch adds Fortran support for the following pragmas > (loop annotations): IVDEP (ignore vector dependencies), VECTOR, and > NOVECTOR. Furthermore, it downgrades unsupported directives from > error to warning (by default, it stays an error with -pedantic), > thus fixing the PR. > > It has no effect on existing code (thus regtested cleanly on > x86_64-pc-linux-gnu), but gives users an option for fine-grained > control of optimization. The above pragmas are supported by other > compilers (with different sentinels, e.g. !DIR$ for Intel, Cray, > sometimes with slightly different keywords). > > OK for trunk, and backport to 9? > > Thanks, > Harald > > > 2019-08-26 Harald Anlauf <anl...@gmx.de> > > 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. > > 2019-08-26 Harald Anlauf <anl...@gmx.de> > > PR fortran/91496 > * gfortran.dg/pr91496.f90: New testcase. > -- "If you can't explain it simply, you don't understand it well enough" - Albert Einstein