83 lines · c
1// Test whether or not the driver instructs the backend to use .init_array2// sections for global constructors.3//4// CHECK-INIT-ARRAY-NOT: -fno-use-init-array5// CHECK-NO-INIT-ARRAY: -fno-use-init-array6//7// RUN: %clang -### %s -fsyntax-only 2>&1 \8// RUN: --target=i386-unknown-linux \9// RUN: --sysroot=%S/Inputs/resource_dir \10// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s11//12// RUN: %clang -### %s -fsyntax-only 2>&1 \13// RUN: --target=i386-unknown-linux \14// RUN: --sysroot=%S/Inputs/fake_install_tree \15// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s16//17// RUN: %clang -### %s -fsyntax-only 2>&1 \18// RUN: -fno-use-init-array \19// RUN: --target=i386-unknown-linux \20// RUN: --sysroot=%S/Inputs/fake_install_tree \21// RUN: | FileCheck --check-prefix=CHECK-NO-INIT-ARRAY %s22//23// RUN: %clang -### %s -fsyntax-only 2>&1 \24// RUN: -fno-use-init-array -fuse-init-array \25// RUN: --target=i386-unknown-linux \26// RUN: --sysroot=%S/Inputs/fake_install_tree \27// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s28//29// RUN: %clang -### %s -fsyntax-only 2>&1 \30// RUN: --target=i386-unknown-linux \31// RUN: --sysroot=%S/Inputs/basic_linux_tree \32// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s33//34// RUN: %clang -### %s -fsyntax-only 2>&1 \35// RUN: -fuse-init-array \36// RUN: --target=i386-unknown-linux \37// RUN: --sysroot=%S/Inputs/basic_linux_tree \38// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s39//40// RUN: %clang -### %s -fsyntax-only 2>&1 \41// RUN: --target=arm-unknown-linux-androideabi \42// RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \43// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s44//45// RUN: %clang -### %s -fsyntax-only 2>&1 \46// RUN: --target=i386-unknown-linux-android \47// RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \48// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s49//50// RUN: %clang -### %s -fsyntax-only 2>&1 \51// RUN: --target=aarch64-none-linux-gnu \52// RUN: --sysroot=%S/Inputs/basic_linux_tree \53// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s54//55// RUN: %clang -### %s -fsyntax-only 2>&1 \56// RUN: --target=aarch64-none-elf \57// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s58 59// RUN: %clang -### %s -fsyntax-only 2>&1 \60// RUN: --target=arm64-none-linux-gnu \61// RUN: --sysroot=%S/Inputs/basic_linux_tree \62// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s63//64// RUN: %clang -### %s -fsyntax-only 2>&1 \65// RUN: --target=arm64-none-none-eabi \66// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s67 68// RUN: %clang -### %s -fsyntax-only 2>&1 \69// RUN: --target=i386-unknown-freebsd \70// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s71//72// RUN: %clang -### %s -fsyntax-only 2>&1 \73// RUN: --target=i386-unknown-freebsd12 \74// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s75//76// RUN: %clang -### %s -fsyntax-only 2>&1 \77// RUN: --target=sparc-sun-solaris2.11 \78// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s79//80// RUN: %clang -### %s -fsyntax-only 2>&1 \81// RUN: --target=i386-pc-solaris2.11 \82// RUN: | FileCheck --check-prefix=CHECK-INIT-ARRAY %s83