================ @@ -1906,6 +1906,36 @@ class Sema final : public SemaBase { ActOnPragmaMSFunction(SourceLocation Loc, const llvm::SmallVectorImpl<StringRef> &NoBuiltins); + /// A label from a C++ #pragma export, for a symbol that we + /// haven't seen the declaration for yet. The TypeList is the argument list + /// the function must match if HasTypeList is true. + struct SymbolLabel { + std::optional<SmallVector<QualType, 4>> TypeList; + StringRef MappedName; + SourceLocation NameLoc; + bool HasTypeList; + Qualifiers CVQual; + }; + + typedef SmallVector<SymbolLabel, 1> PendingSymbolOverloads; + typedef llvm::DenseMap<NestedNameSpecifier *, PendingSymbolOverloads> + SymbolNames; + SymbolNames PendingExportNames; + + FunctionDecl *tryFunctionLookUp(NestedNameSpecifier *NestedName, + SourceLocation NameLoc); + + /// trySymbolLookUp try to look up a decl matching the nested specifier + /// with optional type list. + NamedDecl *trySymbolLookUp(NestedNameSpecifier *NestedName, ---------------- perry-ca wrote:
Sure. I'll pick a name the works with the other pragmas too. https://github.com/llvm/llvm-project/pull/111035 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits