Skip to content

Commit 3d7903f

Browse files
committed
Revert "[Driver] Support multi /guard: options"
This reverts commit 3b6f7e4. See comments on D150645.
1 parent 7f5fb90 commit 3d7903f

File tree

3 files changed

+2
-6
lines changed

3 files changed

+2
-6
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7872,7 +7872,7 @@ void Clang::AddClangCLArgs(const ArgList &Args, types::ID InputType,
78727872
if (Args.hasArg(options::OPT__SLASH_kernel))
78737873
CmdArgs.push_back("-fms-kernel");
78747874

7875-
for (const Arg *A : Args.filtered(options::OPT__SLASH_guard)) {
7875+
if (Arg *A = Args.getLastArg(options::OPT__SLASH_guard)) {
78767876
StringRef GuardArgs = A->getValue();
78777877
// The only valid options are "cf", "cf,nochecks", "cf-", "ehcont" and
78787878
// "ehcont-".

clang/lib/Driver/ToolChains/MSVC.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA,
227227
Args.AddAllArgValues(CmdArgs, options::OPT__SLASH_link);
228228

229229
// Control Flow Guard checks
230-
for (const Arg *A : Args.filtered(options::OPT__SLASH_guard)) {
230+
if (Arg *A = Args.getLastArg(options::OPT__SLASH_guard)) {
231231
StringRef GuardArgs = A->getValue();
232232
if (GuardArgs.equals_insensitive("cf") ||
233233
GuardArgs.equals_insensitive("cf,nochecks")) {

clang/test/Driver/cl-options.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -647,10 +647,6 @@
647647
// RUN: %clang_cl /guard:ehcont -### -- %s 2>&1 | FileCheck -check-prefix=EHCONTGUARD %s
648648
// EHCONTGUARD: -ehcontguard
649649

650-
// RUN: %clang_cl /guard:cf /guard:ehcont -### -- %s 2>&1 | FileCheck -check-prefix=BOTHGUARD %s
651-
// BOTHGUARD: -cfguard
652-
// BOTHGUARD-SAME: -ehcontguard
653-
654650
// RUN: %clang_cl /guard:foo -### -- %s 2>&1 | FileCheck -check-prefix=CFGUARDINVALID %s
655651
// CFGUARDINVALID: invalid value 'foo' in '/guard:'
656652

0 commit comments

Comments
 (0)