================ @@ -180,8 +180,9 @@ static void appendSubframeworkPaths(Module *Mod, OptionalFileEntryRef ModuleMap::findHeader( Module *M, const Module::UnresolvedHeaderDirective &Header, SmallVectorImpl<char> &RelativePathName, bool &NeedsFramework) { - // Search for the header file within the module's home directory. - auto Directory = M->Directory; + // Search for the header file within the module's home directory + // or the builtin include dir if this is a builtin header. + auto Directory = Header.HasBuiltinHeader ? BuiltinIncludeDir : M->Directory; ---------------- rmaz wrote:
Looks like we don't, no. The header ends up resolved against the resource dir as expected: ``` <SUBMODULE_BLOCK NumWords=63 BlockCodeSize=5> <SUBMODULE_METADATA op0=1 op1=0/> <SUBMODULE_DEFINITION abbrevid=4 op0=1 op1=0 op2=0 op3=18 op4=0 op5=0 op6=1 op7=0 op8=0 op9=0 op10=0 op11=0 op12=0 op13=1/> blob data = 'ModuleWithBuiltinHeader' <SUBMODULE_HEADER abbrevid=6/> blob data = 'float.h' <SUBMODULE_TOPHEADER abbrevid=7/> blob data = '/home/llvmbuilddbg.noindex/tools/clang/test/Modules/Output/relative-resource-dir.m.tmp/resource-dir/include/float.h' </SUBMODULE_BLOCK> ``` https://github.com/llvm/llvm-project/pull/68023 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits