[libcxx-commits] [PATCH] D139270: [libc++] Rename __tuple to __tuple_dir to avoid file collision

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Dec 19 08:51:48 PST 2022


ldionne added a comment.

In D139270#3989169 <https://reviews.llvm.org/D139270#3989169>, @tahonermann wrote:

> That question can be turned around; why should software authors need to rename their source files to work around deficiencies in package managers?

This, x1000.

However, concretely I think it's reasonable to use this workaround if it's only for a single release, and then we can rename it to `__tuple` again. And indeed, if we follow our own conventions going forward, this shouldn't be an issue since detail headers have a `.h` extension.

Let's use `__tuple_dir` for LLVM 16 and rename it back to `__tuple` in LLVM 17. We also have the same problem for `__string` unless I am mistaken, @mgorny 
can you handle that in your patch?

@Mordante @philnik We had agreed to include all `__foo/*.h` headers inside `<foo>`, but we didn't do it consistently and it turns out that it's sometimes impossible to do it consistently because of circular dependencies (in type_traits for example IIRC). We will have to reconsider that policy.

@mgorny Please let us know whether the above solution (i.e. rename but only for one release) works for you.


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

https://reviews.llvm.org/D139270



More information about the libcxx-commits mailing list