================ @@ -35,6 +38,58 @@ // WARN-NOT: warning: ignoring '-mbranch-protection=' option because the 'aarch64' architecture does not support it [-Wbranch-protection] +// RUN: %clang -target aarch64 -c %s -### 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=ABSENT-RA-HARDEN + +// RUN: %clang -target aarch64 -c %s -### -mharden-pac-ret=none 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=NO-RA-HARDEN + +// RUN: %clang -target aarch64 -c %s -### -mharden-pac-ret=load-return-address 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=NO-RA-HARDEN + +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=none -mharden-pac-ret=none 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=NO-RA-HARDEN +// RUN: %clang -target arm64-apple-darwin -c %s -### -fno-ptrauth-returns -mharden-pac-ret=none 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=NO-RA-HARDEN + +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=none -mharden-pac-ret=load-return-address 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=NO-RA-HARDEN +// RUN: %clang -target arm64-apple-darwin -c %s -### -fno-ptrauth-returns -mharden-pac-ret=load-return-address 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=NO-RA-HARDEN + +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=pac-ret -mharden-pac-ret=none 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-NONE +// RUN: %clang -target arm64-apple-darwin -c %s -### -fptrauth-returns -mharden-pac-ret=none 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-NONE + +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=pac-ret -mharden-pac-ret=load-return-address 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-LRA +// RUN: %clang -target arm64-apple-darwin -c %s -### -fptrauth-returns -mharden-pac-ret=load-return-address 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-LRA + +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=standard -mharden-pac-ret=none 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-NONE + +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=standard -mharden-pac-ret=load-return-address 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-LRA + +// RUN: not %clang -target aarch64 -c %s -### -mbranch-protection=standard -mharden-pac-ret=foo 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=BAD-HARDEN-PROTECTION +// RUN: not %clang -target arm64-apple-darwin -c %s -### -fptrauth-returns -mharden-pac-ret=foo 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=BAD-HARDEN-PROTECTION + +// RUN: not %clang -target aarch64 -c %s -### -mbranch-protection=standard -mharden-pac-ret=load-return-address -mexecute-only 2>&1 | \ +// RUN: FileCheck %s --check-prefixes=RA-HARDEN-INCOMPATIBLE-EXEC-ONLY +// RUN: %clang -target aarch64 -c %s -### -mbranch-protection=standard -mharden-pac-ret=none -mexecute-only ---------------- vhscampos wrote:
Done. Thank you https://github.com/llvm/llvm-project/pull/176171 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
