Pirama Arumuga Nainar | 799172d | 2016-03-03 15:50:30 -0800 | [diff] [blame^] | 1 | // RUN: %clangxx_asan %s -o %t && %run %t | FileCheck %s |
2 | |||||
3 | #include <stdio.h> | ||||
4 | |||||
5 | static void foo() { | ||||
6 | printf("foo\n"); | ||||
7 | } | ||||
8 | |||||
9 | int main() { | ||||
10 | return 0; | ||||
11 | } | ||||
12 | |||||
13 | __attribute__((section(".preinit_array"))) | ||||
14 | void (*call_foo)(void) = &foo; | ||||
15 | |||||
16 | __attribute__((section(".init_array"))) | ||||
17 | void (*call_foo_2)(void) = &foo; | ||||
18 | |||||
19 | __attribute__((section(".fini_array"))) | ||||
20 | void (*call_foo_3)(void) = &foo; | ||||
21 | |||||
22 | // CHECK: foo | ||||
23 | // CHECK: foo | ||||
24 | // CHECK: foo |