summaryrefslogtreecommitdiff
path: root/test/Sema
diff options
context:
space:
mode:
authorAlexander Musman <alexander.musman@gmail.com>2015-11-26 09:34:30 +0000
committerAlexander Musman <alexander.musman@gmail.com>2015-11-26 09:34:30 +0000
commitf4db326a17df0b0b5b87ad3e9eee073da0747c33 (patch)
tree41a7a91857d3633ab3cff169730e7753216f984a /test/Sema
parent3651ab647dbec78a101ac6ccca7caa3b341a0216 (diff)
downloadclang-f4db326a17df0b0b5b87ad3e9eee073da0747c33.tar.gz
Fix for merging decls in pragma weak
Calling CheckFunctionDeclaration so that 2 decls for the 'weak' are merged. Differential Revision: http://reviews.llvm.org/D13048 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254143 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Sema')
-rw-r--r--test/Sema/pragma-weak.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/Sema/pragma-weak.c b/test/Sema/pragma-weak.c
index c14125eac9..031e78f15f 100644
--- a/test/Sema/pragma-weak.c
+++ b/test/Sema/pragma-weak.c
@@ -9,3 +9,9 @@ void __a3(void) __attribute((noinline));
#pragma weak a3 = __a3 // expected-note {{previous definition}}
void a3(void) __attribute((alias("__a3"))); // expected-error {{redefinition of 'a3'}}
void __a3(void) {}
+
+extern void weak2foo(int); // expected-note {{previous declaration is here}} expected-note {{'weak2foo' declared here}}
+void local2foo(double d1, double d2) { }
+#pragma weak weak2foo=local2foo // expected-error {{conflicting types for 'weak2foo'}}
+extern void extern2main() { return weak2foo(); } // expected-error {{too few arguments to function call, expected 1, have 0}}
+