summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaChecking.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-04-29 16:49:01 +0000
committerTed Kremenek <kremenek@apple.com>2010-04-29 16:49:01 +0000
commit186a0743464a94024e68b550a2978ff6bb787300 (patch)
tree1703209d638a1ca5fdc47f4f1c244ccea40f64e3 /clang/lib/Sema/SemaChecking.cpp
parent8af4f40f4a26c872843226f5bafd0a87a47dbb9f (diff)
downloadbcm5719-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.cpp11
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);
OpenPOWER on IntegriCloud