[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_DISABLE_MACRO_CONFLICT_WARNINGS)
+#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).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D94924/new/

https://reviews.llvm.org/D94924



More information about the libcxx-commits mailing list