Fix Sema::ActOnDeclarator() to call MergeFunctionDecl for function decls that aren't in scope. Since C functions are in a flat namespace, we need to give them special treatment (when compared with variables and typedefs).



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45789 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Sema/predefined-function.c b/test/Sema/predefined-function.c
index 80b5ab0..d554b8f 100644
--- a/test/Sema/predefined-function.c
+++ b/test/Sema/predefined-function.c
@@ -4,9 +4,14 @@
 enum Test {A=-1};
 char *funk(enum Test x);
 
+int eli(float b); // expected-error {{previous definition is here}}
+int b(int c) {return 1;}
+
 int foo();
 int foo()
 {
+    int eli(int (int)); // expected-error {{redefinition of 'eli'}}
+    eli(b);
 	return 0;	
 }