[libcxx-commits] [libcxx] [libcxx] Export the formatter_integral for module build. (PR #131778)
Ilya Biryukov via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Mar 26 06:17:35 PDT 2025
ilya-biryukov wrote:
We use `-fno-impilicit-modules` at Google extensively and are definitely going to continue investmenting to support it.
It is important for us to make sure we don't accidentally invoke multiple compile actions in a single compiler invocation as we **really** want the build system to be responsible for scheduling each compilation (e.g. that way we can send it to the remote build service that caches things, etc).
That includes building libc++, although we use a wrapper around public STL headers rather than the module maps provided by libc++ for technical reasons. (Those wrappers just `export *` everything, so this error went unnoticed, though).
That being said, why would `-fno-implicit-modules` matter in that case? I would expect it to only affect whether the libc++ module is built automatically or not. Any build with `-fimplicit-modules` could be rewritten with `-fno-implicit-modules` and a bunch more `-fmodule-file=` flags, right?
It is supposed to give more fine-grained control over what the compiler does. If it affects semantics causing visibility errors, it would be a bug (I don't think it's the case here, though).
https://github.com/llvm/llvm-project/pull/131778
More information about the libcxx-commits
mailing list