From: Rafael Espindola Date: Sat, 12 Jan 2013 15:27:43 +0000 (+0000) Subject: bar X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=508276c8895d0a52198a0fa5dd01471236a94d50;p=clang bar git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172316 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AST/Decl.cpp b/lib/AST/Decl.cpp index 986430595b..2987e7c276 100644 --- a/lib/AST/Decl.cpp +++ b/lib/AST/Decl.cpp @@ -1761,6 +1761,9 @@ bool FunctionDecl::isReservedGlobalPlacementOperator() const { } bool FunctionDecl::hasCLanguageLinkage() const { + if (getBuiltinID()) + return true; + return hasCLanguageLinkageTemplate(*this); } diff --git a/test/SemaCXX/builtins.cpp b/test/SemaCXX/builtins.cpp index 6b055cff64..5d61690c16 100644 --- a/test/SemaCXX/builtins.cpp +++ b/test/SemaCXX/builtins.cpp @@ -20,3 +20,7 @@ template int equal<&__builtin_strcmp>(const char*, const char*); // expected-err void f2() { __builtin_isnan; // expected-error {{builtin functions must be directly called}} } + +// pr14895 +typedef __typeof(sizeof(int)) size_t; +extern "C" void *__builtin_alloca (size_t);