xref: /llvm-project/clang/test/Modules/gmodules-codegenopts.c (revision 9fbf5cfebcd770fbe0e453f36ee7c74809339f18)
1*9fbf5cfeSBen Langmuir // UNSUPPORTED: target={{.*}}-zos{{.*}}, target={{.*}}-aix{{.*}}
2*9fbf5cfeSBen Langmuir // Check that the output from -gmodules can be loaded back by the compiler in
3*9fbf5cfeSBen Langmuir // the presence of certain options like optimization level that could break
4*9fbf5cfeSBen Langmuir // output. Note: without compiling twice the module is loaded from the in-memory
5*9fbf5cfeSBen Langmuir // module cache not load it from the object container.
6*9fbf5cfeSBen Langmuir 
7*9fbf5cfeSBen Langmuir // RUN: rm -rf %t
8*9fbf5cfeSBen Langmuir // RUN: %clang_cc1 -x objective-c -fmodules -fmodule-format=obj \
9*9fbf5cfeSBen Langmuir // RUN:   -fimplicit-module-maps -fmodules-cache-path=%t %s \
10*9fbf5cfeSBen Langmuir // RUN:   -I %S/Inputs -verify -O2
11*9fbf5cfeSBen Langmuir 
12*9fbf5cfeSBen Langmuir // Compile again, confirming we can load the module.
13*9fbf5cfeSBen Langmuir // RUN: %clang_cc1 -x objective-c -fmodules -fmodule-format=obj \
14*9fbf5cfeSBen Langmuir // RUN:   -fimplicit-module-maps -fmodules-cache-path=%t %s \
15*9fbf5cfeSBen Langmuir // RUN:   -I %S/Inputs -verify -O2
16*9fbf5cfeSBen Langmuir 
17*9fbf5cfeSBen Langmuir @import DebugObjC;
18*9fbf5cfeSBen Langmuir // expected-no-diagnostics