xref: /llvm-project/clang/test/Modules/module-feature.m (revision cd98cb731288722bf44204feb2f570caaec6617c)
1*cd98cb73SBen Langmuir// RUN: rm -rf %t %t.nohash
2*cd98cb73SBen Langmuir
3*cd98cb73SBen Langmuir// Each set of features gets its own cache.
4*cd98cb73SBen Langmuir// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fimplicit-module-maps -fmodule-feature f1 -fmodule-feature f2 -F %S/Inputs %s -verify -Rmodule-build
5*cd98cb73SBen Langmuir// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fimplicit-module-maps -fmodule-feature f2 -F %S/Inputs %s -verify -Rmodule-build
6*cd98cb73SBen Langmuir// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -fimplicit-module-maps -fmodule-feature f2 -fmodule-feature f1 -F %S/Inputs %s -Rmodule-build 2>&1 | FileCheck %s -allow-empty -check-prefix=ALREADY_BUILT
7*cd98cb73SBen Langmuir// ALREADY_BUILT-NOT: building module
8*cd98cb73SBen Langmuir
9*cd98cb73SBen Langmuir// Errors if we try to force the load.
10*cd98cb73SBen Langmuir// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t.nohash -fimplicit-module-maps -fdisable-module-hash -fmodule-feature f1 -fmodule-feature f2 -F %S/Inputs %s -verify -Rmodule-build
11*cd98cb73SBen Langmuir// RUN: not %clang_cc1 -fmodules -fmodules-cache-path=%t.nohash -fimplicit-module-maps -fdisable-module-hash -fmodule-feature f2 -F %S/Inputs %s 2>&1 | FileCheck %s -check-prefix=DIFFERS
12*cd98cb73SBen Langmuir// DIFFERS: error: module features differs
13*cd98cb73SBen Langmuir
14*cd98cb73SBen Langmuir@import Module; // expected-remark {{building module 'Module'}} expected-remark {{finished}}
15