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