On 24.07.23 21:49, Jakub Jelinek via Fortran wrote:
Thanks for working on this. The fuzzy thing on the Fortran side is if e.g. multiple nested BLOCK statements can appear sandwiched in between target and teams (of course without declarations in them), or if e.g.
The current patch rejects nested blocks, be it 'omp target; block; block; omp teams;' or be it 'omp target; block; block;end block; omp teams'. The current wording in the spec is also rather explicit as 'block' is a statement. (BTW: For 'block; block; omp teams', the simplistic search won't work such that for those only the location of TARGET and not of TEAMS is shown. I could try harder but as it is useful as is and such code should be rare, I don't do it.) Thus, I believe the patch should be fine. Tobias PS: I know that some regard {{{ }}} and block; block, ... end block; ... as something to be ignored. Thus, for 'omp atomic', TR12 will allow any number of curly braces and BLOCK/ENDBLOCK pairs. The wording there is rather explicit but also localized, i.e. it won't affect other code locations (for now at least). ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955