Hi Richard, Turns out that the redefinition error was caused because libc++ modulemap lacked a module for its "string.h", and therefore it would be textually included in more than one module, yielding the error.
With the attached patch for libc++ modulemap (extracted from parts of a modulemap you previously attached to the thread) + your patch, I can successfully compile Darwin and selfhost clang with submodule local visibility. I can also upstream the patches for you in case your too busy, let me know. One minor note: the keyword name 'no_undeclared_includes' sounds a bit confusing, how about 'direct_uses_only', or something along these lines? Thanks, On Mon, Oct 17, 2016 at 3:59 PM, Bruno Cardoso Lopes <bruno.card...@gmail.com> wrote: >> @Bruno, >> >> Can you try "-fdiagnostics-show-note-include-stackā so we know the other >> path that leads to string.h? > > Attached the complete error log (this snippet won't help without full > context anyway) -- Bruno Cardoso Lopes http://www.brunocardoso.cc
0001-ModuleMap-Add-module-entries-for-non-modular-headers.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits