1f51a89d39
These were ignored by git accidentally. We want ALL OF THEM since they all came in the llvm/clang source distribution.
39 lines
606 B
C
39 lines
606 B
C
// RUN: %clang_cc1 -emit-llvm -o %t %s
|
|
// RUN: grep -e "global_ctors.*@A" %t
|
|
// RUN: grep -e "global_dtors.*@B" %t
|
|
// RUN: grep -e "global_ctors.*@C" %t
|
|
// RUN: grep -e "global_dtors.*@D" %t
|
|
|
|
int printf(const char *, ...);
|
|
|
|
void A() __attribute__((constructor));
|
|
void B() __attribute__((destructor));
|
|
|
|
void A() {
|
|
printf("A\n");
|
|
}
|
|
|
|
void B() {
|
|
printf("B\n");
|
|
}
|
|
|
|
static void C() __attribute__((constructor));
|
|
|
|
static void D() __attribute__((destructor));
|
|
|
|
static int foo() {
|
|
return 10;
|
|
}
|
|
|
|
static void C() {
|
|
printf("A: %d\n", foo());
|
|
}
|
|
|
|
static void D() {
|
|
printf("B\n");
|
|
}
|
|
|
|
int main() {
|
|
return 0;
|
|
}
|