xref: /llvm-project/clang/test/Driver/cl-permissive.c (revision c70b0e808da8e1650f3ee426698a8b87c94b8910)
1 // Note: %s must be preceded by --, otherwise it may be interpreted as a
2 // command-line option, e.g. on Mac where %s is commonly under /Users.
3 
4 // RUN: %clang_cl /permissive -### -- %s 2>&1 | FileCheck -check-prefix=PERMISSIVE %s
5 // PERMISSIVE: "-fno-operator-names"
6 // PERMISSIVE: "-fdelayed-template-parsing"
7 // RUN: %clang_cl /permissive- -### -- %s 2>&1 | FileCheck -check-prefix=PERMISSIVE-MINUS %s
8 // PERMISSIVE-MINUS-NOT: "-fno-operator-names"
9 // PERMISSIVE-MINUS-NOT: "-fdelayed-template-parsing"
10 
11 // The switches set by permissive may then still be manually enabled or disabled
12 // RUN: %clang_cl /permissive /Zc:twoPhase -### -- %s 2>&1 | FileCheck -check-prefix=PERMISSIVE-OVERWRITE %s
13 // PERMISSIVE-OVERWRITE: "-fno-operator-names"
14 // PERMISSIVE-OVERWRITE-NOT: "-fdelayed-template-parsing"
15 // RUN: %clang_cl /permissive- /Zc:twoPhase- -### -- %s 2>&1 | FileCheck -check-prefix=PERMISSIVE-MINUS-OVERWRITE %s
16 // PERMISSIVE-MINUS-OVERWRITE-NOT: "-fno-operator-names"
17 // PERMISSIVE-MINUS-OVERWRITE: "-fdelayed-template-parsing"
18