Fix PR1999, by emitting a hard error only if an argument declarator is completely 
missing.  Otherwise, it is an implicit int case, which is valid in c90 and invalid 
elsewhere, but accepted as an extension.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46938 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Parser/declarators.c b/test/Parser/declarators.c
index e00035c..aaea35c 100644
--- a/test/Parser/declarators.c
+++ b/test/Parser/declarators.c
@@ -1,4 +1,4 @@
-// RUN: clang %s -fsyntax-only -verify
+// RUN: clang %s -fsyntax-only -verify -pedantic
 
 extern int a1[];
 
@@ -6,7 +6,7 @@
 void f1(int [*]);
 void f2(int [const *]);
 void f3(int [volatile const*]);
-int f4(*XX)(void); /* expected-error {{cannot return}} expected-error {{type specifier required}} */
+int f4(*XX)(void); /* expected-error {{cannot return}} expected-warning {{type specifier required}} */
 
 char ((((*X))));
 
diff --git a/test/Sema/c89.c b/test/Sema/c89.c
index 7f26e99..e7568bc 100644
--- a/test/Sema/c89.c
+++ b/test/Sema/c89.c
@@ -27,3 +27,6 @@
 
 int test4 = 0LL;		/* expected-warning {{long long}} */
 
+/* PR1999 */
+void test5(register);
+
diff --git a/test/Sema/function.c b/test/Sema/function.c
index 7e593d4..a75814e 100644
--- a/test/Sema/function.c
+++ b/test/Sema/function.c
@@ -1,4 +1,4 @@
-// RUN: clang %s -fsyntax-only -verify
+// RUN: clang %s -fsyntax-only -verify -pedantic
 // PR1892
 void f(double a[restrict][5]);  // should promote to restrict ptr.
 void f(double (* restrict a)[5]);
@@ -16,10 +16,10 @@
 
 // PR1965
 int t5(b);          // expected-error {{parameter list without types}}
-int t6(int x, g);   // expected-error {{type specifier required for parameter 'g'}}
+int t6(int x, g);   // expected-warning {{type specifier required for parameter 'g'}}
 
-int t7(, );       // expected-error {{type specifier required}} expected-error {{type specifier required}}
-int t8(, int a);  // expected-error {{type specifier required}}
-int t9(int a, );  // expected-error {{type specifier required}}
+int t7(, );       // expected-error {{expected parameter declarator}} expected-error {{expected parameter declarator}}
+int t8(, int a);  // expected-error {{expected parameter declarator}}
+int t9(int a, );  // expected-error {{expected parameter declarator}}