Implement support for variadic methods (work in progress).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44171 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Parse/ParseObjc.cpp b/Parse/ParseObjc.cpp
index 345906e..be33f86 100644
--- a/Parse/ParseObjc.cpp
+++ b/Parse/ParseObjc.cpp
@@ -619,13 +619,17 @@
     // We have a selector or a colon, continue parsing.
   }
   
+  bool isVariadic = false;
+  
   // Parse the (optional) parameter list.
   while (Tok.is(tok::comma)) {
     ConsumeToken();
     if (Tok.is(tok::ellipsis)) {
+      isVariadic = true;
       ConsumeToken();
       break;
     }
+    // FIXME: implement this...
     // Parse the c-style argument declaration-specifier.
     DeclSpec DS;
     ParseDeclarationSpecifiers(DS);
@@ -645,8 +649,8 @@
   return Actions.ActOnMethodDeclaration(mLoc, Tok.getLocation(),
                                         mType, IDecl, DSRet, ReturnType, Sel, 
                                         &ArgTypeQuals[0], &KeyTypes[0], 
-                                        &ArgNames[0],
-                                        MethodAttrs, MethodImplKind);
+                                        &ArgNames[0], MethodAttrs, 
+                                        MethodImplKind, isVariadic);
 }
 
 /// CmpProtocolVals - Comparison predicate for sorting protocols.