Sema::MergeFunctionDecl()...make sure diagnostic is accurate (wrt function declarations/definitions). Patch by Carl Lewis!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46070 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/predefined-function.c b/test/Sema/predefined-function.c
index d554b8f..1dcd1d3 100644
--- a/test/Sema/predefined-function.c
+++ b/test/Sema/predefined-function.c
@@ -4,13 +4,13 @@
 enum Test {A=-1};
 char *funk(enum Test x);
 
-int eli(float b); // expected-error {{previous definition is here}}
+int eli(float b); // expected-error {{previous declaration is here}}
 int b(int c) {return 1;}
 
 int foo();
 int foo()
 {
-    int eli(int (int)); // expected-error {{redefinition of 'eli'}}
+    int eli(int (int)); // expected-error {{conflicting types for 'eli'}}
     eli(b);
 	return 0;	
 }
@@ -20,19 +20,19 @@
 {
 	return 0;
 }
-int bar() // expected-error {{redefinition of 'bar'}}
+int bar() // expected-error {{redefinition of 'bar'}} expected-error {{conflicting types for 'bar'}}
 {
 	return 0;
 }
 
-int foobar(int); // expected-error {{previous definition is here}}
-int foobar() // expected-error {{redefinition of 'foobar'}}
+int foobar(int); // expected-error {{previous declaration is here}}
+int foobar() // expected-error {{conflicting types for 'foobar'}}
 {
 	return 0;
 }
 
-int wibble(); // expected-error {{previous definition is here}}
-float wibble() // expected-error {{redefinition of 'wibble'}}
+int wibble(); // expected-error {{previous declaration is here}}
+float wibble() // expected-error {{conflicting types for 'wibble'}}
 {
 	return 0.0f;
 }