diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-04-29 16:49:01 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-04-29 16:49:01 +0000 |
commit | 186a0743464a94024e68b550a2978ff6bb787300 (patch) | |
tree | 1703209d638a1ca5fdc47f4f1c244ccea40f64e3 /clang/lib/Sema/SemaChecking.cpp | |
parent | 8af4f40f4a26c872843226f5bafd0a87a47dbb9f (diff) | |
download | bcm5719-llvm-186a0743464a94024e68b550a2978ff6bb787300.tar.gz bcm5719-llvm-186a0743464a94024e68b550a2978ff6bb787300.zip |
Add FunctionDecl::isVariadic() to match BlockDecl::isVariadic() and ObjCMethodDecl::isVariadic().
Do some minor refactoring along the way.
llvm-svn: 102635
Diffstat (limited to 'clang/lib/Sema/SemaChecking.cpp')
-rw-r--r-- | clang/lib/Sema/SemaChecking.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp index 91a3cbe071d..7029711d446 100644 --- a/clang/lib/Sema/SemaChecking.cpp +++ b/clang/lib/Sema/SemaChecking.cpp @@ -511,15 +511,10 @@ bool Sema::SemaBuiltinVAStart(CallExpr *TheCall) { bool isVariadic; if (CurBlock) isVariadic = CurBlock->isVariadic; - else if (getCurFunctionDecl()) { - if (FunctionProtoType* FTP = - dyn_cast<FunctionProtoType>(getCurFunctionDecl()->getType())) - isVariadic = FTP->isVariadic(); - else - isVariadic = false; - } else { + else if (FunctionDecl *FD = getCurFunctionDecl()) + isVariadic = FD->isVariadic(); + else isVariadic = getCurMethodDecl()->isVariadic(); - } if (!isVariadic) { Diag(Fn->getLocStart(), diag::err_va_start_used_in_non_variadic_function); |