[Bug middle-end/71065] New: Missing diagnostic for statements between OpenMP 'target' and 'teams'
amonakov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed May 11 16:04:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71065
Bug ID: 71065
Summary: Missing diagnostic for statements between OpenMP
'target' and 'teams'
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Keywords: accepts-invalid, openmp
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: amonakov at gcc dot gnu.org
Target Milestone: ---
OpenMP 4.5 says (4.0 had a similar restriction, sans 'declarations'):
If specified, a teams construct must be contained within a target construct.
That target construct must contain no statements, declarations or directives
outside of the teams construct.
As a result GCC should reject this:
void f()
{
#pragma omp target
{
asm("");
#pragma omp teams
;
}
}
(as I understand, 'if' clause on the 'target' pragma allows the user to run
their code in the target region prior to entering 'teams' region anyway, but
still diagnosing the above should be useful)
More information about the Gcc-bugs
mailing list