https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72741
Bug ID: 72741 Summary: Fortran OpenACC routine directive doesn't properly handle clauses specifying the level of parallelism Product: gcc Version: 7.0 Status: UNCONFIRMED Keywords: openacc Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org Target Milestone: --- Created attachment 39028 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39028&action=edit Fortran test case The Fortran OpenACC routine directive doesn't diagnose if there are clauses specifying conflicting levels of parallelism (such as: "!$acc routine gang worker"). Also, from a quick look it seems as if for a routine directive with a name (such as: "!$acc routine (function_1) gang"), any clauses specified are generally not evaluated to determine the specified function's level of parallelism. (Note that unless Cesar's recent <http://news.gmane.org/find-root.php?message_id=%3C5776D55A.4030002%40codesourcery.com%3E> "[PATCH] OpenACC routines in fortran modules" is applied, a routine directive for intrinsic functions (such as: "!$acc routine (ABORT) seq") will be generally flagged as invalid.)