Get rid of bogus warnings when the second argument in va_start is either an implicit cast expr or a paren expr.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46950 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/varargs.c b/test/Sema/varargs.c
index 92faf9f..f52921c 100644
--- a/test/Sema/varargs.c
+++ b/test/Sema/varargs.c
@@ -16,3 +16,11 @@
     __builtin_va_start(ap, a); // expected-warning {{second parameter of 'va_start' not last named argument}}
     __builtin_va_start(ap, b);
 }
+
+void f3(float a, ...)
+{
+    __builtin_va_list ap;
+    
+    __builtin_va_start(ap, a);
+    __builtin_va_start(ap, (a));
+}