diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-08-01 00:01:51 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-01 00:01:51 +0000 |
commit | 6bfed7e411adc46eaf616371f85f68305c6e6257 (patch) | |
tree | 276afccc553fe87d22f0651853325919898753f4 /test/CodeGen/constructor-attribute.c | |
parent | 3068ae0feb5d477477f45045f7ec9d0414fe57f3 (diff) |
Support constructor and destructor attributes in CodeGen
- There is an miscompilation issue remaining due to a poor
interaction between the delayed emission of static functions and
the emission of constructors, but that already existed prior to
this change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54258 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/constructor-attribute.c')
-rw-r--r-- | test/CodeGen/constructor-attribute.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/constructor-attribute.c b/test/CodeGen/constructor-attribute.c new file mode 100644 index 0000000000..0ecc47babf --- /dev/null +++ b/test/CodeGen/constructor-attribute.c @@ -0,0 +1,20 @@ +// RUN: clang -emit-llvm -o %t %s && +// RUN: grep -e "global_ctors.*@A" %t && +// RUN: grep -e "global_dtors.*@B" %t + +#include <stdio.h> + +void A() __attribute__((constructor)); +void B() __attribute__((destructor)); + +void A() { + printf("A\n"); +} + +void B() { + printf("B\n"); +} + +int main() { + return 0; +} |