summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/weak-incomplete.c
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-05-26 01:22:57 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-05-26 01:22:57 +0000
commit895771aa4b784e1ba3bce2b97ae38a86b8f90c8e (patch)
tree6864775829063864473ab0caf1f43ccd7efed1f2 /clang/test/CodeGen/weak-incomplete.c
parentb7e69b06b52d84c22cbe414bbb3593445303507e (diff)
downloadbcm5719-llvm-895771aa4b784e1ba3bce2b97ae38a86b8f90c8e.tar.gz
bcm5719-llvm-895771aa4b784e1ba3bce2b97ae38a86b8f90c8e.zip
Handle the edge case of a weak function with incomplete type correctly.
Found by code inspection; I haven't seen this in real-world code. llvm-svn: 72408
Diffstat (limited to 'clang/test/CodeGen/weak-incomplete.c')
-rw-r--r--clang/test/CodeGen/weak-incomplete.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/CodeGen/weak-incomplete.c b/clang/test/CodeGen/weak-incomplete.c
new file mode 100644
index 00000000000..a15dbac03cb
--- /dev/null
+++ b/clang/test/CodeGen/weak-incomplete.c
@@ -0,0 +1,5 @@
+// RUN: clang-cc -emit-llvm < %s | grep 'extern_weak' | count 1
+
+struct S;
+void __attribute__((weak)) foo1(struct S);
+void (*foo2)(struct S) = foo1;
OpenPOWER on IntegriCloud