1// Confirm -fimplicit-modules-use-lock and -fno-implicit-modules-use-lock control 2// whether building a module triggers -Rmodule-lock, indirectly checking whether 3// a lock manager is being used. 4// 5// RUN: rm -rf %t.cache 6// RUN: %clang_cc1 -fmodules -fimplicit-module-maps \ 7// RUN: -fimplicit-modules-use-lock -Rmodule-lock -Rmodule-build \ 8// RUN: -fmodules-cache-path=%t.cache -I%S/Inputs/system-out-of-date \ 9// RUN: -fsyntax-only %s -Wnon-modular-include-in-framework-module \ 10// RUN: -Werror=non-modular-include-in-framework-module \ 11// RUN: -verify=locks,build 12// 13// RUN: rm -rf %t.cache 14// RUN: %clang_cc1 -fmodules -fimplicit-module-maps \ 15// RUN: -fno-implicit-modules-use-lock -Rmodule-lock -Rmodule-build \ 16// RUN: -fmodules-cache-path=%t.cache -I%S/Inputs/system-out-of-date \ 17// RUN: -fsyntax-only %s -Wnon-modular-include-in-framework-module \ 18// RUN: -Werror=non-modular-include-in-framework-module \ 19// RUN: -verify=build 20 21@import X; // locks-remark-re {{locking '{{.*}}.pcm' to build module 'X'}} \ 22 // build-remark {{building module 'X'}} \ 23 // build-remark {{finished building module 'X'}} 24