// This test checks that with -fmodules-single-module-parse-mode, no modules get // compiled into PCM files from any of the import syntax Clang supports. // RUN: rm -rf %t // RUN: split-file %s %t // RUN: mkdir %t/cache // With -fmodules-single-module-parse-mode, no modules get compiled. // RUN: %clang_cc1 -x objective-c -fmodules -fmodules-cache-path=%t/cache \ // RUN: -emit-module %t/module.modulemap -fmodule-name=Mod -o %t/Mod.pcm \ // RUN: -fmodules-single-module-parse-mode // RUN: find %t/cache -name "*.pcm" | count 0 // Without -fmodules-single-module-parse-mode, loaded modules get compiled. // RUN: %clang_cc1 -x objective-c -fmodules -fmodules-cache-path=%t/cache \ // RUN: -emit-module %t/module.modulemap -fmodule-name=Mod -o %t/Mod.pcm // RUN: find %t/cache -name "*.pcm" | count 5 //--- module.modulemap module Mod { header "Mod.h" } module Load1 { header "Load1.h" } module Load2 { header "Load2.h" } module Load3 { header "Load3.h" } module Load4 { header "Load4.h" } module Load5 { header "Load5.h" } //--- Mod.h #include "Load1.h" #import "Load2.h" @import Load3; #pragma clang module import Load4 #pragma clang module load Load5 //--- Load1.h //--- Load2.h //--- Load3.h //--- Load4.h //--- Load5.h