From aac4d03423dd6b7bdef0f2eb03c570f3e2ca6630 Mon Sep 17 00:00:00 2001 From: Chuanqi Xu Date: Fri, 19 Apr 2024 09:46:16 +0800 Subject: [C++20] [Modules] Mark exported all declarations as used Close https://github.com/llvm/llvm-project/issues/85122 As the title suggested, it looks pretty sensible. --- clang/lib/Sema/SemaModule.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'clang/lib/Sema/SemaModule.cpp') diff --git a/clang/lib/Sema/SemaModule.cpp b/clang/lib/Sema/SemaModule.cpp index 67658c9..ad118ac 100644 --- a/clang/lib/Sema/SemaModule.cpp +++ b/clang/lib/Sema/SemaModule.cpp @@ -1003,6 +1003,10 @@ Decl *Sema::ActOnFinishExportDecl(Scope *S, Decl *D, SourceLocation RBraceLoc) { } } + // Anything exported from a module should never be considered unused. + for (auto *Exported : ED->decls()) + Exported->markUsed(getASTContext()); + return D; } -- cgit v1.1