xref: /llvm-project/clang/test/Driver/mingw-cfguard.c (revision f39c399d9d15efe8309d8aa3d0ecf62205e6c474)
1a3a8bd00SAlvin Wong // RUN: %clang --target=x86_64-w64-windows-gnu -### %s 2>&1 | FileCheck -check-prefixes=NO_CF,DEFAULT %s
2a3a8bd00SAlvin Wong // RUN: %clang --target=x86_64-w64-windows-gnu -### %s -mguard=none 2>&1 | FileCheck -check-prefixes=NO_CF,GUARD_NONE %s
3a3a8bd00SAlvin Wong // NO_CF: "-cc1"
4a3a8bd00SAlvin Wong // NO_CF-NOT: "-cfguard"
5a3a8bd00SAlvin Wong // NO_CF-NOT: "-cfguard-no-checks"
6f1848b0aSAshay Rane // NO_CF-NEXT: ld{{(.lld)?}}{{(.exe)?}}"
7a3a8bd00SAlvin Wong // NO_CF-NOT: "--guard-cf"
8a3a8bd00SAlvin Wong // DEFAULT-NOT: "--no-guard-cf"
9a3a8bd00SAlvin Wong // GUARD_NONE-SAME: "--no-guard-cf"
10a3a8bd00SAlvin Wong 
11a3a8bd00SAlvin Wong // RUN: %clang --target=x86_64-w64-windows-gnu -### %s -mguard=cf 2>&1 | FileCheck -check-prefix=GUARD_CF %s
12a3a8bd00SAlvin Wong // GUARD_CF: "-cc1"
13a3a8bd00SAlvin Wong // GUARD_CF-SAME: "-cfguard"
14f1848b0aSAshay Rane // GUARD_CF-NEXT: ld{{(.lld)?}}{{(.exe)?}}"
15a3a8bd00SAlvin Wong // GUARD_CF-SAME: "--guard-cf"
16a3a8bd00SAlvin Wong // GUARD_CF-NOT: "--no-guard-cf"
17a3a8bd00SAlvin Wong 
18a3a8bd00SAlvin Wong // RUN: %clang --target=x86_64-w64-windows-gnu -### %s -mguard=cf-nochecks 2>&1 | FileCheck -check-prefix=GUARD_NOCHECKS %s
19a3a8bd00SAlvin Wong // GUARD_NOCHECKS: "-cc1"
20a3a8bd00SAlvin Wong // GUARD_NOCHECKS-NOT: "-cfguard"
21a3a8bd00SAlvin Wong // GUARD_NOCHECKS-SAME: "-cfguard-no-checks"
22a3a8bd00SAlvin Wong // GUARD_NOCHECKS-NOT: "-cfguard"
23f1848b0aSAshay Rane // GUARD_NOCHECKS-NEXT: ld{{(.lld)?}}{{(.exe)?}}"
24a3a8bd00SAlvin Wong // GUARD_NOCHECKS-SAME: "--guard-cf"
25a3a8bd00SAlvin Wong // GUARD_NOCHECKS-NOT: "--no-guard-cf"
26a3a8bd00SAlvin Wong 
27*f39c399dSFangrui Song // RUN: not %clang --target=x86_64-w64-windows-gnu -### %s -mguard=xxx 2>&1 | FileCheck -check-prefix=GUARD_UNKNOWN %s
288c2c6228SFangrui Song // GUARD_UNKNOWN: error: unsupported argument 'xxx' to option '-mguard='
29