On Fri, Oct 16, 2015 at 4:48 PM, Adrian Prantl via cfe-commits < cfe-commits@lists.llvm.org> wrote:
> On Oct 16, 2015, at 3:27 PM, Richard Smith <rich...@metafoo.co.uk> wrote: > > On Thu, Oct 15, 2015 at 11:14 AM, Adrian Prantl <apra...@apple.com> wrote: > >> >> On Oct 14, 2015, at 5:07 PM, Richard Smith <rich...@metafoo.co.uk> wrote: >> >> Ack, there are non-modular headers in the Darwin module. =( I seem to >> recall that they're not version-locked to your compiler, so we've got to >> support them as-is? >> >> If we can't turn on local submodule visibility, then we need a module map >> for libc++ that covers all of its headers. I'll look into pruning the >> include path when building a module from an implicitly-loaded module map. >> >> >> The attached patch implements this in the most hacky way; with it I can >> successfully compile the first few hundred files of LLVM. >> > > Slightly less hacky approach attached, does this also unstick you? > <no-undeclared-includes.diff> > > > Unfortunately, no. After looking at it in the debugger, I believe the > problem is that HeaderSearch looks > at RequestingModule->NoUndeclaredIncludes, but the RequestingModule is a > nullptr (while looking for cdefs.h included via assert.h, for example). > I see; can you try changing the call to getModuleForLocation at the start of Preprocessor::LookupFile to call getModuleContainingLocation instead? (That change will break decl/use checking, but that's not hard to fix.)
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits