================
@@ -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

Reply via email to