xref: /llvm-project/clang/test/Modules/modulemap-locations.m (revision a171d248ca34b8b6f8de11d42a83ad981285963a)
1// RUN: rm -rf %t
2// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs/ModuleMapLocations/Module_ModuleMap -I %S/Inputs/ModuleMapLocations/Both -F %S/Inputs/ModuleMapLocations -I %S/Inputs/ModuleMapLocations -F %S/Inputs -x objective-c -fsyntax-only %s -verify -Wno-private-module
3
4// regular
5@import module_map; // expected-warning@*{{as a module map name is deprecated, rename it to module.modulemap}}
6                    // expected-warning@*{{as a module map name is deprecated, rename it to module.private.modulemap}}
7@import module_modulemap;
8@import both;
9// framework
10@import Module_Map_F; // expected-warning@*{{as a module map name is deprecated, rename it to module.modulemap in the 'Modules' directory of the framework}}
11@import Module_Map_F; // expected-warning@*{{as a module map name is deprecated, rename it to module.private.modulemap in the 'Modules' directory of the framework}}
12@import Module_ModuleMap_F;
13@import Module_ModuleMap_F.Private;
14@import Both_F;
15@import Inferred;
16
17void test(void) {
18  will_be_found1();
19  wont_be_found1(); // expected-error{{call to undeclared function 'wont_be_found1'; ISO C99 and later do not support implicit function declarations}} \
20                       expected-note {{did you mean 'will_be_found1'?}} \
21                       expected-note@Inputs/ModuleMapLocations/Module_ModuleMap/a.h:1 {{'will_be_found1' declared here}}
22  will_be_found2();
23  wont_be_found2(); // expected-error{{call to undeclared function 'wont_be_found2'; ISO C99 and later do not support implicit function declarations}}
24}
25