1 // RUN: %clang_cl -MD -c -o %t %s 2 // RUN: %llvm_jitlink %t 2>&1 | FileCheck %s 3 // CHECK: init1 4 // CHECK-NEXT: init2 5 // CHECK-NEXT: init3 6 7 #include <stdio.h> 8 init1()9int init1() { 10 printf("init1\n"); 11 return 0; 12 } 13 init2()14int init2() { 15 printf("init2\n"); 16 return 0; 17 } 18 init3()19int init3() { 20 printf("init3\n"); 21 return 0; 22 } 23 24 #pragma section(".CRT$XIX", long, read) 25 __declspec(allocate(".CRT$XIX")) int (*i3)(void) = init3; 26 27 #pragma section(".CRT$XIV", long, read) 28 __declspec(allocate(".CRT$XIV")) int (*i1)(void) = init1; 29 30 #pragma section(".CRT$XIW", long, read) 31 __declspec(allocate(".CRT$XIW")) int (*i2)(void) = init2; 32 main(int argc,char * argv[])33int main(int argc, char *argv[]) { 34 fflush(stdout); 35 return 0; 36 } 37