aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/constructor-attr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-02-19 21:54:50 +0000
committerDouglas Gregor <dgregor@apple.com>2011-02-19 21:54:50 +0000
commit944ed3b8dba3a129937a4e627d235ad99d225da9 (patch)
tree1fecd847352f5b0353ad7d80b2fbbd1e77018bdc /test/CodeGenCXX/constructor-attr.cpp
parentb1fba3145392dc0cf54691576a4e6141e5081869 (diff)
In addition to in-class member functions marked with the "used"
attribute, we also care about those with the "constructor" attribute. Fixes PR6521. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126055 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/constructor-attr.cpp')
-rw-r--r--test/CodeGenCXX/constructor-attr.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGenCXX/constructor-attr.cpp b/test/CodeGenCXX/constructor-attr.cpp
new file mode 100644
index 0000000000..691795f776
--- /dev/null
+++ b/test/CodeGenCXX/constructor-attr.cpp
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
+
+// CHECK: @llvm.global_ctors
+
+// PR6521
+void bar();
+struct Foo {
+ // CHECK: define linkonce_odr void @_ZN3Foo3fooEv
+ static void foo() __attribute__((constructor)) {
+ bar();
+ }
+};