// RUN: %clangxx_asan %s -o %t && %run %t | FileCheck %s #include int c = 0; static void foo() { ++c; } static void fini() { printf("fini\n"); } int main() { printf("c=%d\n", c); return 0; } __attribute__((section(".preinit_array"))) void (*call_foo)(void) = &foo; __attribute__((section(".init_array"))) void (*call_foo_2)(void) = &foo; __attribute__((section(".fini_array"))) void (*call_foo_3)(void) = &fini; // CHECK: c=2 // CHECK: fini