https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107067
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic,
| |ice-on-invalid-code
--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> ---
I concur that it is invalid:
* 'parallel' implies that a structured block must follow
(And begin/end metadirective also implies that something with an
end-directive
must follow, e.g. a structured block or something else delimited by the
directive [like 'begin declare variant/target' or 'begin assumes' in
C/C++].)
* BLOCK as first (executable) statement implies that it is a
"strictly structured block", where the end-directive is optional but
must immediately follow the END BLOCK.
(In between it was not properly specified, but as 5.1 permits BLOCK and defined
'strictly-structured block' - and has this definition, we seemingly found it
before and not after the release.)