[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/cchen/flang-metadirective-loop-default-none'.
Changed from 0000000000000000000000000000000000000000 to 6213796abdf80614731823742190fd4244cb16b2
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 49744c0cc07c85f201267d75ec064eab743270d4 by GitHub (on behalf of Ron Green [NVIDIA]) on 16/07/2026 at 17:15..
[flang][OpenACC] Allow blanks around ':' in a gang-arg (#210089)

The parsers for the STATIC, DIM, and NUM forms of an OpenACC gang-arg
used the token strings "STATIC: ", "DIM: ", and "NUM: ", none of which
permit a blank between the keyword and the ':' separator. A space in a
TokenStringMatch pattern is the only place a blank is accepted in the
source (outside the leading/trailing skip), so a directive such as

    !$acc loop gang(static : 1)

was rejected with "expected end of OpenACC directive", even though
free-form Fortran allows optional blanks around the separator.

Move the blank in each token string to before the ':' ("STATIC :", etc.)
so zero or more blanks are accepted on either side of the separator. The
_tok form keeps the blank optional, so the no-space spelling still
parses without a warning.

Add parser/unparse coverage for the spaced spellings of the static, dim,
and num gang arguments.
https://invent.kde.org/qt/clang/llvm/-/commit/49744c0cc07c85f201267d75ec064eab743270d4

Git commit 4180e2bb885271956e80344354b046a9b4cf3031 by GitHub (on behalf of Fangrui Song) on 16/07/2026 at 17:15..
[UniformityAnalysis] Make divergent-exit cycle print order deterministic (#210107)

Once the set spills to the heap its iteration order follows allocation
addresses, so the printed order is nondeterministic.

Fix https://reviews.llvm.org/D130746 ("RFC: Uniformity Analysis for
Irreducible Control Flow")
https://invent.kde.org/qt/clang/llvm/-/commit/4180e2bb885271956e80344354b046a9b4cf3031

Git commit 74dee943ac272caa4cd80a2a23c7f866dd96b4ec by GitHub (on behalf of Arthur Eubanks) on 16/07/2026 at 17:20..
[llvm-reduce] Fix !inline_history verifier issues (#199373)

We'd RAUW a function which would cause !inline_history metadata nodes to
be `ptr null` which doesn't pass the verifier.

Instead we can keep around metadata usages of the function with
replaceNonMetadataUsesWith().
https://invent.kde.org/qt/clang/llvm/-/commit/74dee943ac272caa4cd80a2a23c7f866dd96b4ec

Git commit 8da6ab53c7533b9bc1e8eb5a2c8eaf195c45c0b3 by GitHub (on behalf of UebelAndre) on 16/07/2026 at 17:31..
[bazel] Updated lit_test to work from external workspaces (#204489)

This change should not change the behavior of tests but instead ensure
that no matter where a test is run (either as an external repo or as an
overlay from `./utils/bazel`) that the rendered source paths are correct
for that context.
https://invent.kde.org/qt/clang/llvm/-/commit/8da6ab53c7533b9bc1e8eb5a2c8eaf195c45c0b3

Git commit 202cb24d246a871e7ae0b5ebf900582d76e7a334 by GitHub (on behalf of Qiongsi Wu) on 16/07/2026 at 17:39..
[clang][Modules] Adding Specific Diagnostics when a Finalized PCM is Out-of-date due to Input File Changes (#209857)

We have good diagnostics coverage when a pcm cannot be dropped in
`ASTReader::readASTCore`, because we call `canRecoverFromOutOfDate` to
check if the pcm is finalized or not. This check is missing for input
file changes.

This PR fixes the diagnostics, so we do not fall to the generic error
`err_module_rebuild_finalized`, which is hard to reason and act on.
https://invent.kde.org/qt/clang/llvm/-/commit/202cb24d246a871e7ae0b5ebf900582d76e7a334

Git commit a730dda7d520cff562e77efbe02b5bba470a2b36 by GitHub (on behalf of Qiongsi Wu) on 16/07/2026 at 17:41..
[clang][DependencyScanning] Logging Dependency Scanning Events (#195896)

This PR sets up an `AtomicLineLogger` (added by
https://github.com/llvm/llvm-project/pull/205395) to log the sequence of
dependency scanning events. The logging is triggered by a new `LogPath`
option in `DependencyScanningServiceOptions`. This PR adds an option
`-log-path=` to `clang-scan-deps` to trigger the log.

We are logging 16 events during dependency scanning. 

| Event | Logged In | When |
|-------|-----------|------|
| `starting scanning command: <args>` | `DependencyScanningWorker.cpp` |
Start of each TU scan |
| `finished scanning command: <args>` | `DependencyScanningWorker.cpp` |
End of each TU scan |
| `init_compiler_instance_with_context: <args>` |
`DependencyScanningTool.cpp` | CompilerInstanceWithContext created for
by-name scanning |
| `start scan_by_name: <module name>` | `DependencyScanningTool.cpp` |
Start of a by-name module query |
| `finish scan_by_name: <module name>` | `DependencyScanningTool.cpp` |
End of a by-name module query |
| `module_compile_thread: parent=<TID> pcm_compile: <pcm path>` |
`CompilerInstance::compileModule` | A new thread is created to compile a
pcm |
| `timestamp_read: <pcm path>` |
`InProcessModuleCache::getModuleTimestamp` | Validation timestamp read |
| `timestamp_write: <pcm path>` |
`InProcessModuleCache::updateModuleTimestamp` | Validation timestamp
update |
| `pcm_write: <pcm path>` | `InProcessModuleCache::write` | PCM write to
disk attempted |
| `pcm_read_disk: <pcm path>` | `InProcessModuleCache::read` | PCM read
from disk attempted |
| `pcm_read_cached: <pcm path>` | `InMemoryModuleCache::lookupPCM` | PCM
looked up in in-memory cache |
| `pcm_add: <pcm path>` | `InMemoryModuleCache::addPCM` | PCM added to
cache (not validated) |
| `pcm_add_built: <pcm path>` | `InMemoryModuleCache::addBuiltPCM` | PCM
added to cache (final) |
| `pcm_finalized: <pcm path>` | `InMemoryModuleCache::finalizePCM` | PCM
marked as validated/final |
| `pcm_dropped: <pcm path>` | `InMemoryModuleCache::tryToDropPCM` | PCM
dropped (validation failed) |
| `pcm_not_dropped: <pcm path>` | `InMemoryModuleCache::tryToDropPCM` |
PCM not dropped (validation failed, but already final) |

In addition to checking the logger's functionality,
`clang/test/ClangScanDeps/logging-simple.c` checks against the change
committed by https://github.com/llvm/llvm-project/pull/177062. Without
https://github.com/llvm/llvm-project/pull/177062,
`clang/test/ClangScanDeps/logging-simple.c` fails.

This implementation adds a single instance of `AtomicLineLogger` to the
`DependencyScanningService`. Most of the plumbing goes into the
`ModuleCache` and its derived classes.

Assisted-by: claude-opus-4.6

rdar://39907408
https://invent.kde.org/qt/clang/llvm/-/commit/a730dda7d520cff562e77efbe02b5bba470a2b36

Git commit 908b5931ce3d9630ae3b897bd4c523945038fdcd by GitHub (on behalf of Nikita Terentev) on 16/07/2026 at 17:45..
[NFC][Clang][PowerPC] Fix suspicious unsequenced volatile accesses in codegen tests (#199338)

When trying to add new Sema check in PR
https://github.com/llvm/llvm-project/pull/180955 some tests failed.
The following pattern is observed in these tests:
```
volatile x;
x = __builtinXXX(x, x, x);

```
For C and C++ standards order of evaluate funcall argument is
unsequence(or indeterminate sequence) and unsequence access for same
volatile variable is UB(because read volatile qualified variable is
side-effects).

As far as I undestand, unsequenced accesses is unwanted and new warning
is correct.
This PR try to fix it for tests:
```
\clang\test\CodeGen\PowerPC\builtins-ppc-fma.c
\clang\test\CodeGen\PowerPC\builtins-ppc-fpconstrained.c
```
Topics on discourse:
https://discourse.llvm.org/t/suspicious-use-volatile-qualified-variable-in-clang-codegen-tests/90837
Closed similar issue for SystemZ :
https://github.com/llvm/llvm-project/issues/186584
https://invent.kde.org/qt/clang/llvm/-/commit/908b5931ce3d9630ae3b897bd4c523945038fdcd

Git commit 6213796abdf80614731823742190fd4244cb16b2 by chichunchen on 16/07/2026 at 17:55..
[flang][OpenMP] Check DEFAULT(NONE) on metadirective loop variants

A standalone metadirective and its associated loop are separate nodes in the
parse tree. For example:

```fortran
  !$omp metadirective &
  !$omp& when(implementation={vendor(llvm)}: &
  !$omp& parallel do default(none) shared(n, a)) default(nothing)
  do i = 1, n
    a(i) = x
  end do
```

An ordinary PARALLEL DO contains its loop in the parse tree:

```
  PARALLEL DO
  |-- DEFAULT(NONE)
  |-- SHARED(n, a)
  `-- DO
      `-- a(i) = x
```

Name resolution therefore visits the loop body while the PARALLEL DO
context is active and diagnoses that x has no data-sharing attribute.

For a standalone metadirective, the tree instead looks like:

```
  METADIRECTIVE
  `-- WHEN
      `-- PARALLEL DO specification
          |-- DEFAULT(NONE)
          `-- SHARED(n, a)

  DO
  `-- a(i) = x
```

Name resolution leaves the variant context before visiting the separate
DO construct, so the variant's DEFAULT(NONE) clause was not applied to
the loop body.

After associating a metadirective with its loop, check each potentially
selectable loop variant for variables that require an explicit
data-sharing attribute. Keep the analysis independent for each variant
and avoid modifying symbol DSA state.

Preserve the existing rules for predetermined data-sharing attributes,
nested constructs, and statically inapplicable variants.

Add semantic tests covering explicit and missing DSAs, variant
isolation, static applicability, dynamic conditions, local variables,
host association, and nested tasks.

Assisted with codex.
https://invent.kde.org/qt/clang/llvm/-/commit/6213796abdf80614731823742190fd4244cb16b2
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.