[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