[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Modules / implicit-modules-use-lock.m
blob6c9582df4de52ab7a3a1e313fda44202b9114036
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
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
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'}}