mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 03:47:02 -05:00
OpenMP: Add no_openmp_constructs; improve Fortran clause parsing
Add the assumption clause 'no_openmp_constructs' (which as most assumption clauses is ignored in the front end - for now). For Fortran, improve free-form parsing of argument-free clauses by avoiding substring matches. gcc/c/ChangeLog: * c-parser.cc (c_parser_omp_assumption_clauses): Add no_openmp_constructs clause. gcc/cp/ChangeLog: * parser.cc (cp_parser_omp_assumption_clauses): Add no_openmp_constructs clause. gcc/fortran/ChangeLog: * dump-parse-tree.cc (show_omp_assumes): Handle no_openmp_constructs clause. * gfortran.h (struct gfc_omp_assumptions): Add no_openmp_constructs. * openmp.cc (gfc_match_dupl_check): For free-form Fortran, avoid substring matching. (gfc_match_omp_clauses): Match no_openmp_constructs clause. Remove no longer needed 'needs_space', match 'order' followed by parenthesis instead of 'order' with parenthesis; reorder 'order' and 'ordering' clauses for free-form Fortran. (gfc_match_omp_assumes): Handle no_openmp_constructs clause. libgomp/ChangeLog: * libgomp.texi (OpenMP Implemenation Status): Mark no_openmp_constructs as implemented. gcc/testsuite/ChangeLog: * gfortran.dg/goacc/update-if_present-2.f90: Update dg-error. * gfortran.dg/gomp/order-8.f90: Likewise. * gfortran.dg/gomp/order-9.f90: Likewise. * c-c++-common/gomp/assume-5.c: New test. * gfortran.dg/gomp/assume-6.f90: New test.
This commit is contained in:
@@ -551,7 +551,7 @@ to address of matching mapped list item per 5.1, Sect. 2.21.7.2 @tab N @tab
|
||||
@item @code{message} and @code{severity} clauses to @code{parallel} directive
|
||||
@tab N @tab
|
||||
@item @code{self_maps} clause to @code{requires} directive @tab Y @tab
|
||||
@item @code{no_openmp_constructs} assumptions clause @tab N @tab
|
||||
@item @code{no_openmp_constructs} assumptions clause @tab Y @tab
|
||||
@item Restriction for @code{ordered} regarding loop-transforming directives
|
||||
@tab N @tab
|
||||
@item @code{apply} clause to loop-transforming constructs @tab N @tab
|
||||
|
||||
Reference in New Issue
Block a user