aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaCodeComplete.cpp
diff options
context:
space:
mode:
authorFrancisco Lopes da Silva <oblita@gmail.com>2015-01-23 13:17:51 +0000
committerFrancisco Lopes da Silva <oblita@gmail.com>2015-01-23 13:17:51 +0000
commit62a9a4fc9b2bdaa03ae3c97739a8cd41b44d053c (patch)
tree7c1049e8557e81d1459280102de063910878e43b /clang/lib/Sema/SemaCodeComplete.cpp
parent8cd5f6f41b62a8ead4713a4b1cc9d0caae0934f2 (diff)
downloadllvm-62a9a4fc9b2bdaa03ae3c97739a8cd41b44d053c.zip
llvm-62a9a4fc9b2bdaa03ae3c97739a8cd41b44d053c.tar.gz
llvm-62a9a4fc9b2bdaa03ae3c97739a8cd41b44d053c.tar.bz2
Sema: code completion for variadic prototypes.
llvm-svn: 226908
Diffstat (limited to 'clang/lib/Sema/SemaCodeComplete.cpp')
-rw-r--r--clang/lib/Sema/SemaCodeComplete.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp
index add469b..aa8629c 100644
--- a/clang/lib/Sema/SemaCodeComplete.cpp
+++ b/clang/lib/Sema/SemaCodeComplete.cpp
@@ -3966,9 +3966,11 @@ void Sema::CodeCompleteCall(Scope *S, Expr *Fn, ArrayRef<Expr *> Args) {
if (auto FP = T->getAs<FunctionProtoType>()) {
if (!TooManyArguments(FP->getNumParams(), Args.size(),
- /*PartialOverloading=*/true))
+ /*PartialOverloading=*/true) ||
+ FP->isVariadic())
Results.push_back(ResultCandidate(FP));
} else if (auto FT = T->getAs<FunctionType>())
+ // No prototype and declaration, it may be a K & R style function.
Results.push_back(ResultCandidate(FT));
}
}