brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.2 KiB · 43c8d2b Raw
131 lines · c
1// Check the -mharden-sls= option, which has a required argument to select2// scope.3// RUN: %clang -target aarch64 -c %s -### 2>&1 | \4// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF5// RUN: %clang -target armv7a--none-eabi -c %s -### 2>&1 | \6// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF7 8// RUN: %clang -target aarch64 -c %s -### -mharden-sls=none 2>&1 | \9// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF10// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=none 2>&1 | \11// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF12 13// RUN: %clang -target aarch64 -c %s -### -mharden-sls=retbr 2>&1 | \14// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF15// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=retbr 2>&1 | \16// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF17 18// RUN: %clang -target aarch64 -c %s -### -mharden-sls=blr 2>&1 | \19// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF20// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=blr 2>&1 | \21// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF22 23// RUN: %clang -target aarch64 -c %s -### -mharden-sls=blr -mharden-sls=none 2>&1 | \24// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF25// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=blr -mharden-sls=none 2>&1 | \26// RUN: FileCheck %s --check-prefix=RETBR-OFF --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF27 28// RUN: %clang -target aarch64 -c %s -### -mharden-sls=blr -mharden-sls=retbr 2>&1 | \29// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF30// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=blr -mharden-sls=retbr 2>&1 | \31// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-OFF --check-prefix=NOCOMDAT-OFF32 33// RUN: %clang -target aarch64 -c %s -### -mharden-sls=retbr,blr 2>&1 | \34// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF35// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=retbr,blr 2>&1 | \36// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF37 38// RUN: %clang -target aarch64 -c %s -### -mharden-sls=all 2>&1 | \39// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF40// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=all 2>&1 | \41// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF42 43// RUN: %clang -target aarch64 -c %s -### -mharden-sls=retbr,blr,retbr 2>&1 | \44// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF45// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=retbr,blr,retbr 2>&1 | \46// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT-OFF47 48// RUN: not %clang --target=aarch64 -c %s -### -mharden-sls=retbr,blr,r 2>&1 | \49// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC50// RUN: not %clang --target=armv7a--none-eabi -c %s -### -mharden-sls=retbr,blr,r 2>&1 | \51// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC52 53// RUN: not %clang --target=aarch64 -c %s -### -mharden-sls=none,blr 2>&1 | \54// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC55// RUN: not %clang --target=armv7a--none-eabi -c %s -### -mharden-sls=none,blr 2>&1 | \56// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC57 58// RUN: not %clang --target=aarch64 -c %s -### -mharden-sls=all,-blr 2>&1 | \59// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC60// RUN: not %clang --target=armv7a--none-eabi -c %s -### -mharden-sls=all,-blr 2>&1 | \61// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC62 63// RUN: %clang -target aarch64 -c %s -### -mharden-sls=retbr,blr,nocomdat 2>&1 | \64// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT65// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=retbr,blr,nocomdat 2>&1 | \66// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT67 68// RUN: %clang -target aarch64 -c %s -### -mharden-sls=all,nocomdat 2>&1 | \69// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT70// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=all,nocomdat 2>&1 | \71// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT72 73// RUN: %clang -target aarch64 -c %s -### -mharden-sls=retbr,blr,retbr,nocomdat 2>&1 | \74// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT75// RUN: %clang -target armv7a--none-eabi -c %s -### -mharden-sls=retbr,blr,retbr,nocomdat 2>&1 | \76// RUN: FileCheck %s --check-prefix=RETBR-ON --check-prefix=BLR-ON --check-prefix=NOCOMDAT77 78// RUN: not %clang --target=aarch64 -c %s -### -mharden-sls=retbr,comdat,r 2>&1 | \79// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC80// RUN: not %clang --target=armv7a--none-eabi -c %s -### -mharden-sls=retbr,comdat,r 2>&1 | \81// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC82 83// RUN: not %clang --target=aarch64 -c %s -### -mharden-sls=none,comdat 2>&1 | \84// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC85// RUN: not %clang --target=armv7a--none-eabi -c %s -### -mharden-sls=none,comdat 2>&1 | \86// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC87 88// RUN: not %clang --target=aarch64 -c %s -### -mharden-sls=all,-comdat 2>&1 | \89// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC90// RUN: not %clang --target=armv7a--none-eabi -c %s -### -mharden-sls=all,-comdat 2>&1 | \91// RUN: FileCheck %s --check-prefix=BAD-SLS-SPEC92 93// RETBR-OFF-NOT: "harden-sls-retbr"94// RETBR-ON:  "+harden-sls-retbr"95 96// BLR-OFF-NOT: "harden-sls-blr"97// BLR-ON:  "+harden-sls-blr"98 99// NOCOMDAT-OFF-NOT: "harden-sls-nocomdat"100// NOCOMDAT: "+harden-sls-nocomdat"101 102// BAD-SLS-SPEC: unsupported argument '{{[^']+}}' to option '-mharden-sls='103 104// RUN: not %clang --target=armv6a--none-eabi -c %s -### -mharden-sls=all 2>&1 | \105// RUN: FileCheck %s --check-prefix=SLS-NOT-SUPPORTED106 107// RUN: not %clang --target=armv6a--none-eabi -c %s -### -mharden-sls=retbr 2>&1 | \108// RUN: FileCheck %s --check-prefix=SLS-NOT-SUPPORTED109 110// RUN: not %clang --target=armv6a--none-eabi -c %s -### -mharden-sls=blr 2>&1 | \111// RUN: FileCheck %s --check-prefix=SLS-NOT-SUPPORTED112 113// RUN: not %clang --target=armv7r--none-eabi -c %s -### -mharden-sls=all 2>&1 | \114// RUN: FileCheck %s --check-prefix=SLS-NOT-SUPPORTED115 116// RUN: not %clang --target=armv7m--none-eabi -c %s -### -mharden-sls=all 2>&1 | \117// RUN: FileCheck %s --check-prefix=SLS-NOT-SUPPORTED118 119// RUN: %clang -target armv6a--none-eabi -c %s -### -mharden-sls=none 2>&1 | \120// RUN: FileCheck %s --check-prefix=SLS-SUPPORTED121 122// RUN: %clang -target armv7a-linux-gnueabihf -c %s -### -mharden-sls=all 2>&1 | \123// RUN: FileCheck %s --check-prefix=SLS-SUPPORTED124 125// RUN: %clang -target armv8a-linux-gnueabihf -c %s -### -mharden-sls=all 2>&1 | \126// RUN: FileCheck %s --check-prefix=SLS-SUPPORTED127 128// SLS-NOT-SUPPORTED: -mharden-sls is only supported on armv7-a or later129// SLS-SUPPORTED-NOT: mharden-sls130 131