[clang] [clang][deps] Disable app extensions during scanning (PR #200041)
via cfe-commits
cfe-commits at lists.llvm.org
Wed May 27 14:49:39 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Jan Svoboda (jansvoboda11)
<details>
<summary>Changes</summary>
Application extension contributes to the context hash, but only affects the availability attribute on declarations. Since it cannot affect dependencies, disable it for the scan to reduce the number of scanning PCM variants.
---
Full diff: https://github.com/llvm/llvm-project/pull/200041.diff
1 Files Affected:
- (modified) clang/lib/DependencyScanning/DependencyScannerImpl.cpp (+4)
``````````diff
diff --git a/clang/lib/DependencyScanning/DependencyScannerImpl.cpp b/clang/lib/DependencyScanning/DependencyScannerImpl.cpp
index 42f87adba84c9..712e84ebedaf9 100644
--- a/clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+++ b/clang/lib/DependencyScanning/DependencyScannerImpl.cpp
@@ -450,6 +450,10 @@ std::shared_ptr<CompilerInvocation> dependencies::createScanCompilerInvocation(
true;
ScanInvocation->getHeaderSearchOpts().ModulesForceValidateUserHeaders = false;
+ // Application extension only affects the handling of availability attributes,
+ // which cannot change the dependencies.
+ ScanInvocation->getLangOpts().AppExt = false;
+
// Ensure that the scanner does not create new dependency collectors,
// and thus won't write out the extra '.d' files to disk.
ScanInvocation->getDependencyOutputOpts() = {};
``````````
</details>
https://github.com/llvm/llvm-project/pull/200041
More information about the cfe-commits
mailing list