summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/attr-weakref.c
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2012-10-16 17:45:27 +0000
committerJoerg Sonnenberger <joerg@bec.de>2012-10-16 17:45:27 +0000
commitde78bba047b76d040fdbf1ef0ab2ebd3891f9675 (patch)
treea9a6076dc1afd2c4bd6f71eb1b1387f3df9fef6b /clang/test/CodeGen/attr-weakref.c
parent544284eb31e2bceb619da63002da927c3dde3b98 (diff)
downloadbcm5719-llvm-de78bba047b76d040fdbf1ef0ab2ebd3891f9675.tar.gz
bcm5719-llvm-de78bba047b76d040fdbf1ef0ab2ebd3891f9675.zip
When using a symbol with attribute weakref, search for it first and
don't try the normal GetOrCreateLLVM. The latter could drop the weak atrtibute on the second reference, if there is no explicit declaration of the aliasee. llvm-svn: 166032
Diffstat (limited to 'clang/test/CodeGen/attr-weakref.c')
-rw-r--r--clang/test/CodeGen/attr-weakref.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/test/CodeGen/attr-weakref.c b/clang/test/CodeGen/attr-weakref.c
index c1cc03b668d..560d39141ca 100644
--- a/clang/test/CodeGen/attr-weakref.c
+++ b/clang/test/CodeGen/attr-weakref.c
@@ -53,6 +53,12 @@ void test6_foo(void) {
test6_f();
}
+// CHECK: declare extern_weak void @test8_f()
+static void test8_g(void) __attribute__((weakref("test8_f")));
+void test8_h(void) {
+ if (test8_g)
+ test8_g();
+}
// CHECK: declare extern_weak void @test7_f()
void test7_f(void);
static void test7_g(void) __attribute__((weakref("test7_f")));
OpenPOWER on IntegriCloud