[libcxx-commits] [libcxx] Revert "[libc++] Allow the use of extensions in the implementation (#79532)" (PR #85792)

Sam McCall via libcxx-commits libcxx-commits at lists.llvm.org
Wed Mar 20 07:55:17 PDT 2024


sam-mccall wrote:

> @sam-mccall what modules are you talking about Clang modules or C++20 modules?

Our deployment is Clang modules (which would also count as C++20 header units IIUC). My reading of the code is that diagnostic mappings take the same codepath in both cases. I don't have a large-scale C++20 modules codebase with libc++ set up as named modules to test on. 

> #85917 is an (IMO simpler) alternative to work around this problem.

I'm happy if that lands instead, that will also fix our compile time :-) It is important that it should fire when clang modules are on and c++20 modules are off (which `__has_feature(modules)` indeed does).

(Personally I find this solution a bit iffy: we've added a bunch of load onto a compiler subsystem, and immediately found circumstances where that causes problems - it seems more robust to remove the load than to patch around those circumstances. But that's a concern for owners - this will solve my immediate problem)

https://github.com/llvm/llvm-project/pull/85792


More information about the libcxx-commits mailing list