blob: a1f0e604d401e2c957bf935ce302180fef08147c [file] [log] [blame]
Shih-wei Liaof8fd82b2010-02-10 11:10:31 -08001// RUN: %clang_cc1 -emit-llvm -o %t %s
2// RUN: grep -e "global_ctors.*@A" %t
3// RUN: grep -e "global_dtors.*@B" %t
4// RUN: grep -e "global_ctors.*@C" %t
5// RUN: grep -e "global_dtors.*@D" %t
6
7int printf(const char *, ...);
8
9void A() __attribute__((constructor));
10void B() __attribute__((destructor));
11
12void A() {
13 printf("A\n");
14}
15
16void B() {
17 printf("B\n");
18}
19
20static void C() __attribute__((constructor));
21
22static void D() __attribute__((destructor));
23
24static int foo() {
25 return 10;
26}
27
28static void C() {
29 printf("A: %d\n", foo());
30}
31
32static void D() {
33 printf("B\n");
34}
35
36int main() {
37 return 0;
38}