75 lines · plain
1! RUN: %if aarch64-registered-target %{ %flang -v -S -emit-llvm -o - %s --target=aarch64-linux-gnu -fno-pie 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-STATIC,CHECK-STATIC-IR %}2 3! RUN: %if aarch64-registered-target && clang_default_pie_on_linux %{ %flang -v -S -emit-llvm -o - %s --target=aarch64-linux-gnu 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-PIE-LEVEL2,CHECK-PIE-LEVEL2-IR %}4! RUN: %if aarch64-registered-target %{ %flang -v -S -emit-llvm -o - %s --target=aarch64-linux-gnu -fpie 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-PIE-LEVEL1,CHECK-PIE-LEVEL1-IR %}5! RUN: %if aarch64-registered-target %{ %flang -v -S -emit-llvm -o - %s --target=aarch64-linux-gnu -fPIE 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-PIE-LEVEL2,CHECK-PIE-LEVEL2-IR %}6 7! RUN: %if aarch64-registered-target %{ %flang -v -S -emit-llvm -o - %s --target=aarch64-linux-gnu -fpic 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-PIC-LEVEL1,CHECK-PIC-LEVEL1-IR %}8! RUN: %if aarch64-registered-target %{ %flang -v -S -emit-llvm -o - %s --target=aarch64-linux-gnu -fPIC 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-PIC-LEVEL2,CHECK-PIC-LEVEL2-IR %}9 10! RUN: %if x86-registered-target %{ %flang -v -### -o - %s --target=i386-apple-darwin -mdynamic-no-pic 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-DYNAMIC-NO-PIC-32 %}11! RUN: %if x86-registered-target %{ %flang -v -### -o - %s --target=x86_64-apple-darwin -mdynamic-no-pic 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-DYNAMIC-NO-PIC-64 %}12 13! RUN: %if arm-registered-target %{ %flang -v -### -o - %s --target=arm-none-eabi -fropi 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-ROPI %}14! RUN: %if arm-registered-target %{ %flang -v -### -o - %s --target=arm-none-eabi -frwpi 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-RWPI %}15! RUN: %if arm-registered-target %{ %flang -v -### -o - %s --target=arm-none-eabi -fropi -frwpi 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-ROPI-RWPI %}16 17! CHECK: -fc118 19 20!! -fno-pie.21! CHECK-STATIC: -mrelocation-model static22! CHECK-STATIC-NOT: -pic23 24! CHECK-STATIC-IR-NOT: {{PIE|PIC}} Level25 26 27!! -fpic.28! CHECK-PIC-LEVEL1: -mrelocation-model pic -pic-level 129! CHECK-PIC-LEVEL1-NOT: -pic-is-pie30 31! CHECK-PIC-LEVEL1-IR-NOT: "PIE Level"32! CHECK-PIC-LEVEL1-IR: !"PIC Level", i32 1}33! CHECK-PIC-LEVEL1-IR-NOT: "PIE Level"34 35 36!! -fPIC.37! CHECK-PIC-LEVEL2: -mrelocation-model pic -pic-level 238! CHECK-PIC-LEVEL2-NOT: -pic-is-pie39 40! CHECK-PIC-LEVEL2-IR-NOT: "PIE Level"41! CHECK-PIC-LEVEL2-IR: !"PIC Level", i32 2}42! CHECK-PIC-LEVEL2-IR-NOT: "PIE Level"43 44 45!! -fpie.46! CHECK-PIE-LEVEL1: -mrelocation-model pic -pic-level 1 -pic-is-pie47! CHECK-PIE-LEVEL1-IR: !"PIC Level", i32 1}48! CHECK-PIE-LEVEL1-IR: !"PIE Level", i32 1}49 50 51!! -fPIE.52! CHECK-PIE-LEVEL2: -mrelocation-model pic -pic-level 2 -pic-is-pie53! CHECK-PIE-LEVEL2-IR: !"PIC Level", i32 2}54! CHECK-PIE-LEVEL2-IR: !"PIE Level", i32 2}55 56 57!! -mdynamic-no-pic58! CHECK-DYNAMIC-NO-PIC-32: "-mrelocation-model" "dynamic-no-pic"59! CHECK-DYNAMIC-NO-PIC-32-NOT: "-pic-level"60! CHECK-DYNAMIC-NO-PIC-32-NOT: "-pic-is-pie"61 62! CHECK-DYNAMIC-NO-PIC-64: "-mrelocation-model" "dynamic-no-pic" "-pic-level" "2"63! CHECK-DYNAMIC-NO-PIC-64-NOT: "-pic-is-pie"64 65 66!! -fropi -frwpi67! CHECK-ROPI: "-mrelocation-model" "ropi"68! CHECK-ROPI-NOT: "-pic69 70! CHECK-RWPI: "-mrelocation-model" "rwpi"71! CHECK-RWPI-NOT: "-pic72 73! CHECK-ROPI-RWPI: "-mrelocation-model" "ropi-rwpi"74! CHECK-ROPI-RWPI-NOT: "-pic75