Summary: -mno-speculative-load-hardening isn't a cc1 option, therefore, before this change: clang -mno-speculative-load-hardening hello.cpp would have the following error: error: unknown argument: '-mno-speculative-load-hardening' This change will only ever forward -mspeculative-load-hardening which is a CC1 option based on which flag was passed to clang. Also added a test that uses this option that fails if an error like the above is ever thrown. Thank you ericwf for help debugging and fixing this error. Reviewers: chandlerc, EricWF Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D54763 llvm-svn: 347582
16 lines
552 B
C
16 lines
552 B
C
// RUN: %clang_cc1 -mspeculative-load-hardening -disable-llvm-passes -emit-llvm %s -o - | FileCheck %s -check-prefix=SLH
|
|
// RUN: %clang -mno-speculative-load-hardening -S -emit-llvm %s -o - | FileCheck %s -check-prefix=NOSLH
|
|
//
|
|
// Check that we set the attribute on each function.
|
|
|
|
int test1() {
|
|
return 42;
|
|
}
|
|
// SLH: @{{.*}}test1{{.*}}[[SLH:#[0-9]+]]
|
|
|
|
// SLH: attributes [[SLH]] = { {{.*}}speculative_load_hardening{{.*}} }
|
|
|
|
// NOSLH: @{{.*}}test1{{.*}}[[NOSLH:#[0-9]+]]
|
|
|
|
// NOSLH-NOT: attributes [[SLH]] = { {{.*}}speculative_load_hardening{{.*}} }
|