[libcxx] r249738 - Split <ctype.h> out of <cctype>.

Bruno Cardoso Lopes via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 18 16:30:39 PDT 2016

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


On Mon, Oct 17, 2016 at 3:59 PM, Bruno Cardoso Lopes
<bruno.cardoso at 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ModuleMap-Add-module-entries-for-non-modular-headers.patch
Type: application/octet-stream
Size: 14373 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161018/508c2757/attachment-0001.obj>

More information about the cfe-commits mailing list