[libcxx-commits] [PATCH] D106124: [libcxx][modules] protects users from relying on detail headers

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 28 12:07:52 PST 2022


ldionne added a comment.

In D106124#3349467 <https://reviews.llvm.org/D106124#3349467>, @ldionne wrote:

> This patch seems to break anyone using `-I <include>/c++/v1` (as opposed to `-isystem <include>/c++/v1`, the more usual incantation). For example, I'm seeing an error when building libc++abi, which boils down to:
>
> [...]
>
> Reducing even more, it looks like the following breaks:
>
>   echo "#include <algorithm>" | clang++ -nostdinc++ -I <build>/include/c++/v1 -fsyntax-only -xc++ -
>
> I'm not sure why CI seems happy with the patch, but I definitely see those issues locally. I'm still investigating.

Ah! I figured it out. It only happens with our downstream version of libc++ because our `<type_traits>` still include `__utility/forward.h` and `__utility/move.h` for backwards compatibility. Removing those includes (which was a TODO anyway) fixes the issue. The other points that were raised remain, but I think we can address them in subsequent commits without reverting. In the future, it would be good to wait before landing such patches, especially since it was not nearly time critical (it had been open for months anyway).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D106124



More information about the libcxx-commits mailing list