<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/flang/lib/Parser/token-sequence.cpp, 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][prescanner] fix invalid check (#146613)</title>
<updated>2025-07-03T19:36:34+00:00</updated>
<author>
<name>Andre Kuhlenschmidt</name>
<email>andre.kuhlenschmidt@gmail.com</email>
</author>
<published>2025-07-03T19:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67d6679c91e14e17981e4ea0340f91c79e9524da'/>
<id>67d6679c91e14e17981e4ea0340f91c79e9524da</id>
<content type='text'>
`TokenSequence::pop_back()` had a check assumed that tokens are never
empty. Loosen this check since isn't true.

towards #146362</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`TokenSequence::pop_back()` had a check assumed that tokens are never
empty. Loosen this check since isn't true.

towards #146362</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Further refinement of OpenMP !$ lines in -E mode (#138956)</title>
<updated>2025-05-12T19:16:05+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2025-05-12T19:16:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=58535e81dd982f5e5b64df39d2ab264027d6e8ca'/>
<id>58535e81dd982f5e5b64df39d2ab264027d6e8ca</id>
<content type='text'>
Address failing Fujitsu test suite cases that were broken by the patch
to defer the handling of !$ lines in -fopenmp vs. normal compilation to
actual compilation rather than processing them immediately in -E mode.

Tested on the samples in the bug report as well as all of the Fujitsu
tests that I could find that use !$ lines.

Fixes https://github.com/llvm/llvm-project/issues/136845.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Address failing Fujitsu test suite cases that were broken by the patch
to defer the handling of !$ lines in -fopenmp vs. normal compilation to
actual compilation rather than processing them immediately in -E mode.

Tested on the samples in the bug report as well as all of the Fujitsu
tests that I could find that use !$ lines.

Fixes https://github.com/llvm/llvm-project/issues/136845.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Don't perform macro replacement on exponents (#136176)</title>
<updated>2025-04-18T19:52:04+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2025-04-18T19:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aac53ad4d6eafda84ca92196a62e75e96e5fad25'/>
<id>aac53ad4d6eafda84ca92196a62e75e96e5fad25</id>
<content type='text'>
See new test. I inadvertently broke this behavior with a recent fix for
another problem, because the effects of the overloaded
TokenSequence::Put() member function on token merging were confusing.
Rename and document the various overloads.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See new test. I inadvertently broke this behavior with a recent fix for
another problem, because the effects of the overloaded
TokenSequence::Put() member function on token merging were confusing.
Rename and document the various overloads.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Fix preprocessor regression (#134405)</title>
<updated>2025-04-09T19:30:05+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2025-04-09T19:30:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=be133ff4c44060e18a9c8a5e55c32d242007c8d1'/>
<id>be133ff4c44060e18a9c8a5e55c32d242007c8d1</id>
<content type='text'>
For numeric kind suffixes like 1_foo, the preprocessor should be able to
perform macro replacement for macros named either "_foo" or "foo".

Fixes https://github.com/llvm/llvm-project/issues/133399.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For numeric kind suffixes like 1_foo, the preprocessor should be able to
perform macro replacement for macros named either "_foo" or "foo".

Fixes https://github.com/llvm/llvm-project/issues/133399.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Preserve compiler directives in -E output (#133959)</title>
<updated>2025-04-04T16:49:57+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2025-04-04T16:49:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5942f0269e62021620e871bfe2e671f4f0f2d932'/>
<id>5942f0269e62021620e871bfe2e671f4f0f2d932</id>
<content type='text'>
No longer require -fopenmp or -fopenacc with -E, unless specific version
number options are also required for predefined macros. This means that
most source can be preprocessed with -E and then later compiled with
-fopenmp, -fopenacc, or neither.

This means that OpenMP conditional compilation lines (!$) are also
passed through to -E output. The tricky part of this patch was dealing
with the fact that those conditional lines can also contain regular
Fortran line continuation, and that now has to be deferred when !$ lines
are interspersed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No longer require -fopenmp or -fopenacc with -E, unless specific version
number options are also required for predefined macros. This means that
most source can be preprocessed with -E and then later compiled with
-fopenmp, -fopenacc, or neither.

This means that OpenMP conditional compilation lines (!$) are also
passed through to -E output. The tricky part of this patch was dealing
with the fact that those conditional lines can also contain regular
Fortran line continuation, and that now has to be deferred when !$ lines
are interspersed.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Handle "defined" in macro expansions (#114844)</title>
<updated>2024-11-05T21:18:27+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>pklausler@nvidia.com</email>
</author>
<published>2024-11-05T21:18:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=850d42fb145c636a3b56a7616c3e3c5c188c1916'/>
<id>850d42fb145c636a3b56a7616c3e3c5c188c1916</id>
<content type='text'>
The preprocessor implements "defined(X)" and "defined X" in if/elif
directive expressions in such a way that they only work at the top
level, not when they appear in macro expansions. Fix that, which is a
little tricky due to the need to detect the "defined" keyword before
applying any macro expansion to its argument, and add a bunch of tests.

Fixes https://github.com/llvm/llvm-project/issues/114064.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The preprocessor implements "defined(X)" and "defined X" in if/elif
directive expressions in such a way that they only work at the top
level, not when they appear in macro expansions. Fix that, which is a
little tricky due to the need to detect the "defined" keyword before
applying any macro expansion to its argument, and add a bunch of tests.

Fixes https://github.com/llvm/llvm-project/issues/114064.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Accept a compiler directive sentinel after a semicolon (#96966)</title>
<updated>2024-06-28T19:16:41+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>35819229+klausler@users.noreply.github.com</email>
</author>
<published>2024-06-28T19:16:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=259ce1199906554fba5c8d3b07b6ce14ee42d301'/>
<id>259ce1199906554fba5c8d3b07b6ce14ee42d301</id>
<content type='text'>
Don't treat !DIR$ or an active !$ACC, !$OMP, &amp;c. as a comment when they
appear after a semicolon, but instead treat them as a compiler directive
sentinel.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't treat !DIR$ or an active !$ACC, !$OMP, &amp;c. as a comment when they
appear after a semicolon, but instead treat them as a compiler directive
sentinel.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][preprocessor] Fixed-form continuation across preprocessing di… (#95332)</title>
<updated>2024-06-13T18:22:27+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>35819229+klausler@users.noreply.github.com</email>
</author>
<published>2024-06-13T18:22:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=86bee819120b5ba4b7262c7800a88fbf904d4932'/>
<id>86bee819120b5ba4b7262c7800a88fbf904d4932</id>
<content type='text'>
…rective

Implement fixed-form line continuation when the continuation line is the
result of text produced by an #include or other preprocessing directive.
This accommodates the somewhat common practice of putting dummy or
actual arguments into a header file and #including it into several code
sites.

Fixes https://github.com/llvm/llvm-project/issues/78928.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…rective

Implement fixed-form line continuation when the continuation line is the
result of text produced by an #include or other preprocessing directive.
This accommodates the somewhat common practice of putting dummy or
actual arguments into a header file and #including it into several code
sites.

Fixes https://github.com/llvm/llvm-project/issues/78928.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang] Disable Fortran free form line continuation in non-source lin… (#94663)</title>
<updated>2024-06-12T17:11:35+00:00</updated>
<author>
<name>Peter Klausler</name>
<email>35819229+klausler@users.noreply.github.com</email>
</author>
<published>2024-06-12T17:11:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e286ecfecf50fd8eff2e7003131d2c845cb6045f'/>
<id>e286ecfecf50fd8eff2e7003131d2c845cb6045f</id>
<content type='text'>
…e produced by keyword macro replacement

When later initial keyword macro replacement will yield a line that is
not Fortran source, don't interpret "&amp;" as a Fortran source line
continuation marker during tokenization of the line.

Fixes https://github.com/llvm/llvm-project/issues/82579.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
…e produced by keyword macro replacement

When later initial keyword macro replacement will yield a line that is
not Fortran source, don't interpret "&amp;" as a Fortran source line
continuation marker during tokenization of the line.

Fixes https://github.com/llvm/llvm-project/issues/82579.</pre>
</div>
</content>
</entry>
<entry>
<title>[flang][Frontend] Implement printing defined macros via -dM (#87627)</title>
<updated>2024-04-10T15:41:20+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>Krzysztof.Parzyszek@amd.com</email>
</author>
<published>2024-04-10T15:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d60232b38b66138dae1b31027d73ee5b9df5c58'/>
<id>7d60232b38b66138dae1b31027d73ee5b9df5c58</id>
<content type='text'>
This should work the same way as in clang.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should work the same way as in clang.</pre>
</div>
</content>
</entry>
</feed>
