| 1 | // RUN: %clang -fcolor-diagnostics -### -c %s 2>&1 \ |
| 2 | // RUN: | FileCheck --check-prefix=CHECK-CD %s |
| 3 | // CHECK-CD: clang{{.*}}" "-fcolor-diagnostics" |
| 4 | |
| 5 | // RUN: %clang -fno-color-diagnostics -### -c %s 2>&1 \ |
| 6 | // RUN: | FileCheck --check-prefix=CHECK-NCD %s |
| 7 | // CHECK-NCD-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 8 | |
| 9 | // RUN: %clang -fdiagnostics-color -### -c %s 2>&1 \ |
| 10 | // RUN: | FileCheck --check-prefix=CHECK-DC %s |
| 11 | // CHECK-DC: clang{{.*}}" "-fcolor-diagnostics" |
| 12 | |
| 13 | // RUN: %clang -fno-diagnostics-color -### -c %s 2>&1 \ |
| 14 | // RUN: | FileCheck --check-prefix=CHECK-NDC %s |
| 15 | // CHECK-NDC-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 16 | |
| 17 | // RUN: %clang -fdiagnostics-color=always -### -c %s 2>&1 \ |
| 18 | // RUN: | FileCheck --check-prefix=CHECK-DCE_A %s |
| 19 | // CHECK-DCE_A: clang{{.*}}" "-fcolor-diagnostics" |
| 20 | |
| 21 | // RUN: %clang -fdiagnostics-color=never -### -c %s 2>&1 \ |
| 22 | // RUN: | FileCheck --check-prefix=CHECK-DCE_N %s |
| 23 | // CHECK-DCE_N-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 24 | |
| 25 | // The test doesn't run in a PTY, so "auto" defaults to off. |
| 26 | // RUN: %clang -fdiagnostics-color=auto -### -c %s 2>&1 \ |
| 27 | // RUN: | FileCheck --check-prefix=CHECK-DCE_AUTO %s |
| 28 | // CHECK-DCE_AUTO-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 29 | |
| 30 | // RUN: %clang -fdiagnostics-color=foo -### -c %s 2>&1 \ |
| 31 | // RUN: | FileCheck --check-prefix=CHECK-DCE_FOO %s |
| 32 | // CHECK-DCE_FOO: error: the clang compiler does not support '-fdiagnostics-color=foo' |
| 33 | |
| 34 | // Check that the last flag wins. |
| 35 | // RUN: %clang -fno-color-diagnostics -fdiagnostics-color -### -c %s 2>&1 \ |
| 36 | // RUN: | FileCheck --check-prefix=CHECK-NCD_DC_S %s |
| 37 | // CHECK-NCD_DC_S: clang{{.*}}" "-fcolor-diagnostics" |
| 38 | |
| 39 | // RUN: %clang -fcolor-diagnostics -fno-diagnostics-color -### -c %s 2>&1 \ |
| 40 | // RUN: | FileCheck --check-prefix=CHECK-CD_NDC_S %s |
| 41 | // CHECK-CD_NDC_S-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 42 | |
| 43 | // RUN: %clang -fdiagnostics-color -fno-color-diagnostics -### -c %s 2>&1 \ |
| 44 | // RUN: | FileCheck --check-prefix=CHECK-DC_NCD_S %s |
| 45 | // CHECK-DC_NCD_S-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 46 | |
| 47 | // RUN: %clang -fno-diagnostics-color -fcolor-diagnostics -### -c %s 2>&1 \ |
| 48 | // RUN: | FileCheck --check-prefix=CHECK-NDC_CD_S %s |
| 49 | // CHECK-NDC_CD_S: clang{{.*}}" "-fcolor-diagnostics" |
| 50 | |
| 51 | // RUN: %clang -fcolor-diagnostics -fdiagnostics-color=auto -### -c %s 2>&1 \ |
| 52 | // RUN: | FileCheck --check-prefix=CHECK-CD_DCE_AUTO_S %s |
| 53 | // CHECK-CD_DCE_AUTO_S-NOT: clang{{.*}}" "-fcolor-diagnostics" |
| 54 | |
| 55 | // RUN: %clang -fansi-escape-codes -### -c %s 2>&1 \ |
| 56 | // RUN: | FileCheck --check-prefix=CHECK-AEC %s |
| 57 | // CHECK-AEC: clang{{.*}}" "-fansi-escape-codes" |
| 58 | |