[libcxx-commits] [PATCH] D94924: [libc++] first steps of a private modulemap

Thorsten via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jan 21 08:03:58 PST 2021

tschuett added a comment.

1. You don't have to do anything.
2. If you use -fcxx-modules, it reduces the size of the surface of the std module. The std_private module is hidden from users. There is a " // FIXME: These should be private." in the module.modulemap. These headers should not be visible to users of the std module. The private module is exactly trying to do that.

Comment at: libcxx/include/__undef_macros_private:12
+#ifdef min
+#if defined(_LIBCPP_WARNING)
ldionne wrote:
> tschuett wrote:
> > ldionne wrote:
> > > Can you please indent nested preprocessor directives?
> > It should be a plain copy of__undef_macros?!?
> Wait, so why do we keep both `__undef_macros` and `__undef_macros_private`? Sorry if that's a basic question, I'm not very familiar with private module maps.
Unfortunately, we have to keep both. Otherwise we get cyclic dependencies between the two modules (std and std_private).

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list