1 | //--- Config file search directories |
2 | // |
3 | // RUN: %clang --config-system-dir=%S/Inputs/config --config-user-dir=%S/Inputs/config2 -o /dev/null -v 2>&1 | FileCheck %s -check-prefix CHECK-DIRS |
4 | // CHECK-DIRS: System configuration file directory: {{.*}}/Inputs/config |
5 | // CHECK-DIRS: User configuration file directory: {{.*}}/Inputs/config2 |
6 | |
7 | |
8 | //--- Config file (full path) in output of -### |
9 | // |
10 | // RUN: %clang --config %S/Inputs/config-1.cfg -S %s -### 2>&1 | FileCheck %s -check-prefix CHECK-HHH |
11 | // CHECK-HHH: Configuration file: {{.*}}Inputs{{.}}config-1.cfg |
12 | // CHECK-HHH: -Werror |
13 | // CHECK-HHH: -std=c99 |
14 | |
15 | |
16 | //--- Config file (full path) in output of -v |
17 | // |
18 | // RUN: %clang --config %S/Inputs/config-1.cfg -S %s -o /dev/null -v 2>&1 | FileCheck %s -check-prefix CHECK-V |
19 | // CHECK-V: Configuration file: {{.*}}Inputs{{.}}config-1.cfg |
20 | // CHECK-V: -Werror |
21 | // CHECK-V: -std=c99 |
22 | |
23 | |
24 | //--- Config file in output of -### |
25 | // |
26 | // RUN: %clang --config-system-dir=%S/Inputs --config-user-dir= --config config-1.cfg -S %s -### 2>&1 | FileCheck %s -check-prefix CHECK-HHH2 |
27 | // CHECK-HHH2: Configuration file: {{.*}}Inputs{{.}}config-1.cfg |
28 | // CHECK-HHH2: -Werror |
29 | // CHECK-HHH2: -std=c99 |
30 | |
31 | |
32 | //--- Config file in output of -v |
33 | // |
34 | // RUN: %clang --config-system-dir=%S/Inputs --config-user-dir= --config config-1.cfg -S %s -o /dev/null -v 2>&1 | FileCheck %s -check-prefix CHECK-V2 |
35 | // CHECK-V2: Configuration file: {{.*}}Inputs{{.}}config-1.cfg |
36 | // CHECK-V2: -Werror |
37 | // CHECK-V2: -std=c99 |
38 | |
39 | |
40 | //--- Nested config files |
41 | // |
42 | // RUN: %clang --config-system-dir=%S/Inputs --config-user-dir= --config config-2.cfg -S %s -### 2>&1 | FileCheck %s -check-prefix CHECK-NESTED |
43 | // CHECK-NESTED: Configuration file: {{.*}}Inputs{{.}}config-2.cfg |
44 | // CHECK-NESTED: -Wundefined-func-template |
45 | |
46 | // RUN: %clang --config-system-dir=%S/Inputs --config-user-dir= --config config-2.cfg -S %s -### 2>&1 | FileCheck %s -check-prefix CHECK-NESTED2 |
47 | // CHECK-NESTED2: Configuration file: {{.*}}Inputs{{.}}config-2.cfg |
48 | // CHECK-NESTED2: -Wundefined-func-template |
49 | |
50 | |
51 | // RUN: %clang --config %S/Inputs/config-2a.cfg -S %s -### 2>&1 | FileCheck %s -check-prefix CHECK-NESTEDa |
52 | // CHECK-NESTEDa: Configuration file: {{.*}}Inputs{{.}}config-2a.cfg |
53 | // CHECK-NESTEDa: -isysroot |
54 | // CHECK-NESTEDa-SAME: /opt/data |
55 | |
56 | // RUN: %clang --config-system-dir=%S/Inputs --config-user-dir= --config config-2a.cfg -S %s -### 2>&1 | FileCheck %s -check-prefix CHECK-NESTED2a |
57 | // CHECK-NESTED2a: Configuration file: {{.*}}Inputs{{.}}config-2a.cfg |
58 | // CHECK-NESTED2a: -isysroot |
59 | // CHECK-NESTED2a-SAME: /opt/data |
60 | |
61 | |
62 | //--- Unused options in config file do not produce warnings |
63 | // |
64 | // RUN: %clang --config %S/Inputs/config-4.cfg -S %s -o /dev/null -v 2>&1 | FileCheck %s -check-prefix CHECK-UNUSED |
65 | // CHECK-UNUSED-NOT: argument unused during compilation: |
66 | // CHECK-UNUSED-NOT: 'linker' input unused |
67 | |
68 | |
69 | //--- User directory is searched first. |
70 | // |
71 | // RUN: %clang --config-system-dir=%S/Inputs/config --config-user-dir=%S/Inputs/config2 --config config-4 -S %s -o /dev/null -v 2>&1 | FileCheck %s -check-prefix CHECK-PRECEDENCE |
72 | // CHECK-PRECEDENCE: Configuration file: {{.*}}Inputs{{.}}config2{{.}}config-4.cfg |
73 | // CHECK-PRECEDENCE: -Wall |
74 | |