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;
}