[clang] [clang][Modules] Reject export declarations in implementation partitions (PR #188698)
Victor Chernyakin via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 26 01:07:48 PDT 2026
================
@@ -9931,9 +9914,10 @@ class Sema final : public SemaBase {
/// Is the module scope we are an implementation unit?
bool currentModuleIsImplementation() const {
----------------
localspook wrote:
Looking at [the 3 callsites of this function](https://github.com/search?q=repo%3Allvm%2Fllvm-project+currentModuleIsImplementation&type=pullrequests), 2 of them really do want this new behavior:
https://github.com/llvm/llvm-project/blob/e69c7312f31be57af5ef17ada7466b46f8519f2a/clang/lib/Sema/SemaModule.cpp#L701
https://github.com/llvm/llvm-project/blob/e69c7312f31be57af5ef17ada7466b46f8519f2a/clang/lib/Sema/SemaModule.cpp#L867
The last one AFAICT doesn't care:
https://github.com/llvm/llvm-project/blob/e69c7312f31be57af5ef17ada7466b46f8519f2a/clang/lib/Sema/SemaModule.cpp#L601
So maybe it's worth renaming the function to something like `currentModuleIsImplementationOrImplementationPartition`? (that's a really long name but I don't have a better one)
https://github.com/llvm/llvm-project/pull/188698
More information about the cfe-commits
mailing list