This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Granularize __tuple
ClosedPublic

Authored by philnik on Aug 31 2022, 7:01 PM.

Details

Reviewers
ldionne
Mordante
var-const
huixie90
Group Reviewers
Restricted Project
Commits
rG2d52c6bfae80: [libc++] Granularize __tuple

Diff Detail

Event Timeline

philnik created this revision.Aug 31 2022, 7:01 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 31 2022, 7:01 PM
Herald added a subscriber: mgorny. · View Herald Transcript
philnik requested review of this revision.Aug 31 2022, 7:01 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 31 2022, 7:01 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
philnik updated this revision to Diff 457212.Sep 1 2022, 2:51 AM
  • Generate files
philnik updated this revision to Diff 457597.Sep 2 2022, 7:49 AM
  • Try to fix CI
ldionne accepted this revision.Sep 2 2022, 8:52 AM
This revision is now accepted and ready to land.Sep 2 2022, 8:52 AM
philnik updated this revision to Diff 457694.Sep 2 2022, 1:45 PM
  • Try to fix CI
philnik updated this revision to Diff 457935.Sep 5 2022, 4:49 AM
  • Next try
philnik updated this revision to Diff 457953.Sep 5 2022, 5:22 AM
  • Another try
philnik updated this revision to Diff 457955.Sep 5 2022, 5:38 AM
  • Another try
This revision was automatically updated to reflect the committed changes.
ronlieb added a subscriber: ronlieb.Sep 5 2022, 8:27 AM

seeing buildbot failures on hip, not sure if this patch caused it

https://lab.llvm.org/buildbot/#/builders/165/builds/24486

seeing buildbot failures on hip, not sure if this patch caused it

https://lab.llvm.org/buildbot/#/builders/165/builds/24486

Yes, this patch caused the failure. You have to clear your build directory.

Replacing a file with a directory (and the other way arond) is problematic in general. E.g. if you attempt to ninja install it on top of the existing installation:

CMake Error at libcxx/include/cmake_install.cmake:2190 (file):
  file INSTALL destination: /tmp/z/usr/local/include/c++/v1/__tuple is not a
  directory.
Call Stack (most recent call first):
  libcxx/cmake_install.cmake:47 (include)
  cmake_install.cmake:48 (include)

While this is normally not a problem for distributions since we use a staging area (i.e. DESTDIR), Gentoo's package manager does not support cleanly performing the opposite, i.e. replacing the (non-empty at time of install) directory back with the file on downgrade.

Could we please rename __tuple now to avoid name clash and the problems caused by it?

libcxx/include/__ranges/subrange.h