================ @@ -2380,7 +2380,7 @@ FunctionDecl *Sema::CreateBuiltin(IdentifierInfo *II, QualType Type, } FunctionDecl *New = FunctionDecl::Create(Context, Parent, Loc, Loc, II, Type, - /*TInfo=*/nullptr, SC_Extern, + /*TInfo=*/nullptr, SC_None, ---------------- AaronBallman wrote:
> You are right, I also paid attention to that issue. However, when a storage > class specifier is omitted for a function, it's storage class is implicitly > supposed to be extern. Thus, it's fine. That's not actually correct -- the declaration of a function at block scope should definitely *not* be extern, it should have no linkage: https://godbolt.org/z/81fMaPaTq > Furthermore, the meaning of this field according to the documentation > comments is not for the actual storage duration or linkage, but for the > storage-class specifier as present in the source code. Since builtins aren't > really present in the source code, it seems further reasonable to omit a > specifier. Builtins should behave as-if they were declared in a header file that was included in the TU, and so they typically would be marked as `extern`. https://github.com/llvm/llvm-project/pull/93913 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits