[clang] [SystemZ][z/OS] Implement #pragma export (PR #141671)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 20 07:50:03 PST 2025
================
@@ -1327,23 +1327,35 @@ void Sema::AddImplicitMSFunctionNoBuiltinAttr(FunctionDecl *FD) {
FD->addAttr(NoBuiltinAttr::CreateImplicit(Context, V.data(), V.size()));
}
-void Sema::ActOnPragmaExport(IdentifierInfo *IdentId, SourceLocation NameLoc) {
+NamedDecl *Sema::lookupExternCName(IdentifierInfo *IdentId,
+ SourceLocation NameLoc, Scope *curScope) {
+ LookupResult Result(*this, IdentId, NameLoc, LookupOrdinaryName);
+ LookupName(Result, curScope);
+ if (!getLangOpts().CPlusPlus)
+ return Result.getAsSingle<NamedDecl>();
+ for (LookupResult::iterator I = Result.begin(); I != Result.end(); ++I) {
+ NamedDecl *D = (*I)->getUnderlyingDecl();
+ if (auto *FD = dyn_cast<FunctionDecl>(D->getCanonicalDecl()))
+ if (FD->isExternC())
+ return D;
+ if (isa<VarDecl>(D->getCanonicalDecl()))
+ return D;
+ }
----------------
erichkeane wrote:
Clarified ab it above, not sure exactly what I was th inking before, but looked at with fresh eyes.
https://github.com/llvm/llvm-project/pull/141671
More information about the cfe-commits
mailing list