1
2@import DependsOnModule;
3
4// RUN: rm -rf %t %t-obj
5// RUN: %clang_cc1 -w -Wunused -fmodules -fmodule-format=raw -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t -F %S/Inputs -DBLARG -DWIBBLE=WOBBLE -fmodule-feature myfeature %s
6// RUN: %clang_cc1 -module-file-info %t/DependsOnModule.pcm | FileCheck %s
7// RUN: %clang_cc1 -module-file-info %t/DependsOnModule.pcm | FileCheck %s --check-prefix=RAW
8
9// RUN: %clang_cc1 -w -Wunused -fmodules -fmodule-format=obj -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t-obj -F %S/Inputs -DBLARG -DWIBBLE=WOBBLE -fmodule-feature myfeature %s
10// RUN: %clang_cc1 -module-file-info %t-obj/DependsOnModule.pcm | FileCheck %s
11// RUN: %clang_cc1 -module-file-info %t-obj/DependsOnModule.pcm | FileCheck %s --check-prefix=OBJ
12
13// RAW:   Module format: raw
14// OBJ:   Module format: obj
15// CHECK: Generated by this Clang:
16
17// CHECK: Module name: DependsOnModule
18// CHECK: Module map file: {{.*}}DependsOnModule.framework{{[/\\]}}module.map
19// CHECK: Imports module 'Module': {{.*}}Module.pcm
20
21// CHECK: Language options:
22// CHECK:   C99: Yes
23// CHECK:   Objective-C: Yes
24// CHECK:   modules semantics: Yes
25// CHECK:   Module features:
26// CHECK:     myfeature
27
28// CHECK: Target options:
29// CHECK:     Triple:
30// CHECK:     CPU:
31// CHECK:     TuneCPU:
32// CHECK:     ABI:
33
34// CHECK: Header search options:
35// CHECK:   System root [-isysroot=]: '/'
36// CHECK:   Resource dir [ -resource-dir=]: '{{.*}}clang{{.*}}'
37// CHECK:   Use builtin include directories [-nobuiltininc]: Yes
38// CHECK:   Use standard system include directories [-nostdinc]: No
39// CHECK:   Use standard C++ include directories [-nostdinc++]: Yes
40// CHECK:   Use libc++ (rather than libstdc++) [-stdlib=]:
41
42// CHECK: Preprocessor options:
43// CHECK:   Uses compiler/target-specific predefines [-undef]: Yes
44// CHECK:   Uses detailed preprocessing record (for indexing): No
45// CHECK:   Predefined macros:
46// CHECK:     -DBLARG
47// CHECK:     -DWIBBLE=WOBBLE
48// CHECK: Input file: {{.*}}DependsOnModulePrivate.h
49// CHECK-NEXT: Input file: {{.*}}Other.h
50// CHECK-NEXT: Input file: {{.*}}SubFramework.h
51// CHECK-NEXT: Input file: {{.*}}not_coroutines.h
52// CHECK-NEXT: Input file: {{.*}}not_cxx.h
53// CHECK-NEXT: Input file: {{.*}}other.h
54// CHECK-NEXT: Input file: {{.*}}module.map
55// CHECK-NEXT: Input file: {{.*}}DependsOnModule.h
56// CHECK-NEXT: Input file: {{.*}}module_private.map
57// CHECK-NEXT: Input file: {{.*}}module.map
58
59// CHECK: Diagnostic options:
60// CHECK:   IgnoreWarnings: Yes
61// CHECK:   Diagnostic flags:
62// CHECK:     -Wunused
63