]> granicus.if.org Git - clang/commitdiff
Sema: code completion for variadic prototypes.
authorFrancisco Lopes da Silva <oblita@gmail.com>
Fri, 23 Jan 2015 13:17:51 +0000 (13:17 +0000)
committerFrancisco Lopes da Silva <oblita@gmail.com>
Fri, 23 Jan 2015 13:17:51 +0000 (13:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226908 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaCodeComplete.cpp

index add469b97af9bb9db7f9c05ba4f999047d3e8c87..aa8629c62bffe0397a668b84f16d9ab9710a6241 100644 (file)
@@ -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));
     }
   }