<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/flang/test/Semantics, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[flang][OpenMP] Implement loop nest parser (#168884)</title>
<updated>2025-11-22T18:28:58+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-11-22T18:28:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c2d659b9b8efac9f80b8ebcb2b38b61295d82bdc'/>
<id>c2d659b9b8efac9f80b8ebcb2b38b61295d82bdc</id>
<content type='text'>
Previously, loop constructs were parsed in a piece-wise manner: the
begin directive, the body, and the end directive were parsed separately.
Later on in canonicalization they were all coalesced into a loop
construct. To facilitate that end-loop directives were given a special
treatment, namely they were parsed as OpenMP constructs. As a result
syntax errors caused by misplaced end-loop directives were handled
differently from those cause by misplaced non-loop end directives.

The new loop nest parser constructs the complete loop construct,
removing the need for the canonicalization step. Additionally, it is the
basis for parsing loop-sequence-associated constructs in the future.

It also removes the need for the special treatment of end-loop
directives. While this patch temporarily degrades the error messaging
for misplaced end-loop directives, it enables uniform handling of any
misplaced end-directives in the future.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, loop constructs were parsed in a piece-wise manner: the
begin directive, the body, and the end directive were parsed separately.
Later on in canonicalization they were all coalesced into a loop
construct. To facilitate that end-loop directives were given a special
treatment, namely they were parsed as OpenMP constructs. As a result
syntax errors caused by misplaced end-loop directives were handled
differently from those cause by misplaced non-loop end directives.

The new loop nest parser constructs the complete loop construct,
removing the need for the canonicalization step. Additionally, it is the
basis for parsing loop-sequence-associated constructs in the future.

It also removes the need for the special treatment of end-loop
directives. While this patch temporarily degrades the error messaging
for misplaced end-loop directives, it enables uniform handling of any
misplaced end-directives in the future.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Fix some typo-like things in test case (#168582)</title>
<updated>2025-11-21T14:18:32+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-11-21T14:18:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3005886fee0402cbe7ae9fd93e765fa3a68e68eb'/>
<id>3005886fee0402cbe7ae9fd93e765fa3a68e68eb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Flang][OpenMP] Add semantic support for Loop Sequences and OpenMP loop fuse (#161213)</title>
<updated>2025-11-21T14:16:30+00:00</updated>
<author>
<name>Ferran Toda</name>
<email>f.toda.c@gmail.com</email>
</author>
<published>2025-11-21T14:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f4ebee0ca980f807de32841288b3785dadbc471d'/>
<id>f4ebee0ca980f807de32841288b3785dadbc471d</id>
<content type='text'>
This patch adds semantics for the `omp fuse` directive in flang, as
specified in OpenMP 6.0. This patch also enables semantic support for
loop sequences which are needed for the fuse directive along with
semantics for the `looprange` clause. These changes are only semantic.
Relevant tests have been added , and previous behavior is retained with
no changes.

---------

Co-authored-by: Ferran Toda &lt;ferran.todacasaban@bsc.es&gt;
Co-authored-by: Krzysztof Parzyszek &lt;Krzysztof.Parzyszek@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds semantics for the `omp fuse` directive in flang, as
specified in OpenMP 6.0. This patch also enables semantic support for
loop sequences which are needed for the fuse directive along with
semantics for the `looprange` clause. These changes are only semantic.
Relevant tests have been added , and previous behavior is retained with
no changes.

---------

Co-authored-by: Ferran Toda &lt;ferran.todacasaban@bsc.es&gt;
Co-authored-by: Krzysztof Parzyszek &lt;Krzysztof.Parzyszek@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][flang] Replace use of flang -fc1 with %flang_fc1 in few test case (#168830)</title>
<updated>2025-11-20T09:30:15+00:00</updated>
<author>
<name>Kiran Kumar T P</name>
<email>50909805+kiranktp@users.noreply.github.com</email>
</author>
<published>2025-11-20T09:30:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=dc343d2f05ddffadae2b98760ff139622baa25f6'/>
<id>dc343d2f05ddffadae2b98760ff139622baa25f6</id>
<content type='text'>
Replace use of flang -fc1 with %flang_fc1 in few test case</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace use of flang -fc1 with %flang_fc1 in few test case</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Fix crash in UseErrorDetails construction case (#168126)</title>
<updated>2025-11-19T16:54:21+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2025-11-19T16:54:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f5f6ca659992ae6d26b2a96304ceb65a1fd63ad6'/>
<id>f5f6ca659992ae6d26b2a96304ceb65a1fd63ad6</id>
<content type='text'>
When a derived type has the same name as a generic function, and is
use-associated into a scope along with other distinct derived types of
the same name, we crash. Don't crash.

Fixes https://github.com/llvm/llvm-project/issues/168099.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a derived type has the same name as a generic function, and is
use-associated into a scope along with other distinct derived types of
the same name, we crash. Don't crash.

Fixes https://github.com/llvm/llvm-project/issues/168099.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Undeprecate accidentally deprecated TARGET LOOP (#167495)</title>
<updated>2025-11-17T18:23:02+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-11-17T18:23:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4be0ab659e6a65436c4e3629706318acd0c1cdc9'/>
<id>4be0ab659e6a65436c4e3629706318acd0c1cdc9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP][Flang] Change the OmpDefaultMapperName suffix (#168399)</title>
<updated>2025-11-17T17:18:12+00:00</updated>
<author>
<name>Akash Banerjee</name>
<email>akash.banerjee@amd.com</email>
</author>
<published>2025-11-17T17:18:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8c674f04aa57766bbc7fac97c1e42526b22a95a4'/>
<id>8c674f04aa57766bbc7fac97c1e42526b22a95a4</id>
<content type='text'>
This PR fixes a Fortran syntax violation in the OpenMP default mapper
naming convention. The suffix .omp.default.mapper contains dots which
are invalid in Fortran identifiers, causing failures when mappers are
written to and read from module files. The fix changes the suffix to
_omp_default_mapper which uses underscores instead of dots, complying
with Fortran syntax rules.

Key changes:

- Changed OmpDefaultMapperName constant from .omp.default.mapper to
_omp_default_mapper
- Added GetUltimate() calls in mapper symbol resolution to properly
handle symbols across module boundaries
- Added new test case verifying default mappers work correctly when
defined in a module and used in consuming programs

This fixes #168336.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR fixes a Fortran syntax violation in the OpenMP default mapper
naming convention. The suffix .omp.default.mapper contains dots which
are invalid in Fortran identifiers, causing failures when mappers are
written to and read from module files. The fix changes the suffix to
_omp_default_mapper which uses underscores instead of dots, complying
with Fortran syntax rules.

Key changes:

- Changed OmpDefaultMapperName constant from .omp.default.mapper to
_omp_default_mapper
- Added GetUltimate() calls in mapper symbol resolution to properly
handle symbols across module boundaries
- Added new test case verifying default mappers work correctly when
defined in a module and used in consuming programs

This fixes #168336.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][OpenMP] Store Block in OpenMPLoopConstruct, add access functions (#168078)</title>
<updated>2025-11-17T14:02:36+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2025-11-17T14:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e70e9ec3b83757761ccbba217a566d77b561ec53'/>
<id>e70e9ec3b83757761ccbba217a566d77b561ec53</id>
<content type='text'>
Instead of storing a variant with specific types, store parser::Block as
the body. Add two access functions to make the traversal of the nest
simpler.

This will allow storing loop-nest sequences in the future.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of storing a variant with specific types, store parser::Block as
the body. Add two access functions to make the traversal of the nest
simpler.

This will allow storing loop-nest sequences in the future.</pre>
</div>
</content>
</entry>
<entry>
<title>[Flang][OpenMP] Fix defaultmap(none) being overly aggressive with symbol checks (#167806)</title>
<updated>2025-11-14T18:03:33+00:00</updated>
<author>
<name>agozillon</name>
<email>Andrew.Gozillon@amd.com</email>
</author>
<published>2025-11-14T18:03:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=739a5a4685590b51cab5a5fd0bb9b7d89a7754ef'/>
<id>739a5a4685590b51cab5a5fd0bb9b7d89a7754ef</id>
<content type='text'>
Currently we're picking up and complaining about builtin (and procedure)
symbols like null() when defaultmap(none) is set, so I've relaxed the
restriction a bit to allow for procedures and named constants to bypass
the restriction. It might be the case that we want to tighten it up
again in certain aspects in the future.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently we're picking up and complaining about builtin (and procedure)
symbols like null() when defaultmap(none) is set, so I've relaxed the
restriction a bit to allow for procedures and named constants to bypass
the restriction. It might be the case that we want to tighten it up
again in certain aspects in the future.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Disable some warnings with ineluctable false positives (#167714)</title>
<updated>2025-11-14T16:23:45+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2025-11-14T16:23:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3425f226fcc8a83dac1d02aa42c75fd3105a8d61'/>
<id>3425f226fcc8a83dac1d02aa42c75fd3105a8d61</id>
<content type='text'>
There are a few well-meaning warnings for some cases of the FPTR=
argument to C_F_POINTER() that can be false positives, since the
restrictions in the standard are dependent on the source of the CPTR=
argument. Further, there is no way to alter a program to avoid these
warnings, so one cannot compile a correct and conforming program with
-pedantic -Werror. Disable these warnings.

Fixes https://github.com/llvm/llvm-project/issues/167470.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are a few well-meaning warnings for some cases of the FPTR=
argument to C_F_POINTER() that can be false positives, since the
restrictions in the standard are dependent on the source of the CPTR=
argument. Further, there is no way to alter a program to avoid these
warnings, so one cannot compile a correct and conforming program with
-pedantic -Werror. Disable these warnings.

Fixes https://github.com/llvm/llvm-project/issues/167470.</pre>
</div>
</content>
</entry>
</feed>
