aboutsummaryrefslogtreecommitdiff
path: root/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2013-06-15 12:13:22 +0000
committerAndrew Turner <andrew@FreeBSD.org>2013-06-15 12:13:22 +0000
commit1f4f127b9955229a1c48e386831484cb2367a57d (patch)
tree3cd5d0a8602c7a07f2ecb2559a99b73222b196cb /contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
parente6124a8a1ab63516821739c84eaded75e8ad3fd0 (diff)
Pull in r183926 from LLVM trunk:
Allow clang to build __clear_cache on ARM. __clear_cache is special. It needs no signature, but is a real function in compiler_rt or libgcc. Patch by Andrew Turner. This allows us to build the __clear_cache function in compiler-rt.
Notes
Notes: svn path=/head/; revision=251790
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp b/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
index e0e8bd646b32..f72bec0aa147 100644
--- a/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
+++ b/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
@@ -8671,7 +8671,8 @@ Decl *Sema::ActOnStartOfFunctionDef(Scope *FnBodyScope, Decl *D) {
// Builtin functions cannot be defined.
if (unsigned BuiltinID = FD->getBuiltinID()) {
- if (!Context.BuiltinInfo.isPredefinedLibFunction(BuiltinID)) {
+ if (!Context.BuiltinInfo.isPredefinedLibFunction(BuiltinID) &&
+ !Context.BuiltinInfo.isPredefinedRuntimeFunction(BuiltinID)) {
Diag(FD->getLocation(), diag::err_builtin_definition) << FD;
FD->setInvalidDecl();
}