================ @@ -1825,6 +1825,11 @@ class Sema final : public SemaBase { /// Set of no-builtin functions listed by \#pragma function. llvm::SmallSetVector<StringRef, 4> MSFunctionNoBuiltins; + /// Map of BuiltinIDs to source locations that have #pragma intrinsic calls + /// that refer to them. + llvm::DenseMap<unsigned, llvm::SmallSetVector<SourceLocation, 4>> ---------------- rnk wrote:
DenseMap of SmallVector values is not an efficient data structure choice, because the DenseMap is always at least 25% empty, and each SmallVector is likely to contain exactly 1 element. I think we need to serialize these pragmas through the AST. Is it possible to do this by creating an implicit declaration of the builtin at the point of the pragma? You would test for this by making your system header into a module or PCH file in another test case. https://github.com/llvm/llvm-project/pull/138205 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits