[qt/clang/llvm]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/clang/llvm
Pushed by mirror-service into branch 'upstream/users/ergawy/namelist_empty_scalar_value'.
Changed from 2be863b8ad21de08cb6ee3d56ef1c29b2e239e2c to 89237db30bd5ec94a78821c8ee735df9f55ab38f
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.

This change contains the following new commits:

Git commit f86eb5d02df63a7c3593076f5f1bdb3ae1740bfa by ergawy on 30/07/2026 at 10:48..
[flang-rt][NAMELIST] Accept empty scalar assignments as a language extension

Extend Flang's NAMELIST input to accept an assignment to a scalar item
whose value is omitted, e.g. `l=` in

    &nml l= i_count=7 r_value=2.72/

leaving the item's current value unchanged.  This form is non-standard
(F2023 13.11.3.2 requires a value to follow the `=` for a scalar item)
but is accepted by classic nvfortran and gfortran; users porting code
between compilers have come to rely on it.  `flang/docs/Extensions.md`
is updated to list the new NAMELIST extension alongside the existing
`$`/`&` group-start and mid-value `!`-comment extensions.

Implementation
--------------
Every `EditIntegerInput` / `EditRealInput` / `EditLogicalInput` /
`EditCharacterInput` list-directed arm starts with

    if (IsNamelistNameOrSlash(io)) return false;   // no value

which peeks ahead (via `SavedPosition`, no stream consumption) for a
`<name>=` / `<name>%` / `<name>(` shape or one of the terminators
`/` `&` `$`, letting the reader bail cleanly for empty values and
short-array ends.  The helper's first line is

    if (!listInput || !listInput->namelistGroup()) return false;

`InputNamelist` however called `ResetForNextNamelistItem` with
`useDescriptor->rank() > 0 ? &group : nullptr`, so `namelistGroup_`
stayed null for scalars.  The peek was silently disabled and the
value reader consumed the next name-value pair's name as a bare token,
producing a "Bad character" runtime abort.

Pass `&group` unconditionally to `ResetForNextNamelistItem`.  Today
`IsNamelistNameOrSlash` uses `namelistGroup_` only as a boolean gate
(never as a lookup table), so widening it is a no-op for arrays and
enables the same empty-value / next-name detection for scalars.
`NamelistTests.NanInputAmbiguity` (which motivated the original
pointer form) still passes; three new tests cover the empty-scalar
case, the empty-array case, and an empty scalar surrounded by arrays.
https://invent.kde.org/qt/clang/llvm/-/commit/f86eb5d02df63a7c3593076f5f1bdb3ae1740bfa

Git commit 330a9c3c0ee9edcc101f5dc9265dfac9e40e4012 by ergawy on 30/07/2026 at 11:00..
[flang-rt] Reword ResetForNextNamelistItem comment as an extension
https://invent.kde.org/qt/clang/llvm/-/commit/330a9c3c0ee9edcc101f5dc9265dfac9e40e4012

Git commit af7fef717c5fe7931238058ca88dea62fa728342 by ergawy on 30/07/2026 at 11:00..
[flang-rt] Reword NamelistTests comments as an extension
https://invent.kde.org/qt/clang/llvm/-/commit/af7fef717c5fe7931238058ca88dea62fa728342

Git commit 89237db30bd5ec94a78821c8ee735df9f55ab38f by ergawy on 30/07/2026 at 12:52..
[flang-rt] Reword namelist-empty-scalar-logical driver test header as an extension
https://invent.kde.org/qt/clang/llvm/-/commit/89237db30bd5ec94a78821c8ee735df9f55ab38f
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.