// Disable the fix
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
// RUN:   -mcmse -mno-fix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-NOFIX
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main %s -### \
// RUN:   -mcmse -mno-fix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-NOFIX
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
// RUN:   -mcmse -mfix-cmse-cve-2021-35465 -mno-fix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-NOFIX
//
// CHECK-NOFIX: "-target-feature" "-fix-cmse-cve-2021-35465"


// Enable the fix
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
// RUN:   -mcmse -mfix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-FIX
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main %s -### \
// RUN:   -mcmse -mfix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-FIX
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
// RUN:   -mcmse -mno-fix-cmse-cve-2021-35465 -mfix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-FIX
//
// CHECK-FIX: "-target-feature" "+fix-cmse-cve-2021-35465"


// Diagnose the option when used without -mcmse
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8-m.main %s -### \
// RUN:   -mfix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-DIAG
//
// RUN: %clang --target=arm-arm-none-eabi -march=armv8.1-m.main %s -### \
// RUN:   -mno-fix-cmse-cve-2021-35465 2>&1 |\
// RUN:   FileCheck %s --check-prefix=CHECK-DIAG
//
// CHECK-DIAG: error: option 'm{{.*}}fix-cmse-cve-2021-35465' cannot be specified without '-mcmse'
