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 75 76 //--- Duplicate --config options are allowed if the value is the same 77 // RUN: %clang --config-system-dir=%S/Inputs/config --config-user-dir=%S/Inputs/config2 --config config-4 --config config-4 -S %s -o /dev/null -v 2>&1 | FileCheck %s -check-prefix CHECK-SAME-CONFIG 78 // CHECK-SAME-CONFIG: Configuration file: {{.*}}Inputs{{.}}config2{{.}}config-4.cfg 79