[libcxx-commits] [PATCH] D148405: [libc++] Remove the chrono include from algorithm
Mark de Wever via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Apr 17 08:54:27 PDT 2023
Mordante added a comment.
In D148405#4271485 <https://reviews.llvm.org/D148405#4271485>, @iana wrote:
> In D148405#4271084 <https://reviews.llvm.org/D148405#4271084>, @Mordante wrote:
>
>> Interesting that it fails with modules. In general we keep these transitive includes to avoid possibly breaking user code that depends on these transitive includes. (Note it's a bug in the user's code to depend on these includes, but this is not easily spotted.) However when it block us we are free to remove them. So no objection to the removal.
>>
>> I expect this to fail in the CI since the transitive includes are not updated. Let me know if you need help with this.
>>
>> This change needs to be mentioned in our release notes (docs/ReleaseNotes.rst) since it may affect users.
>
> I'm not sure what I'm doing wrong, but `check-cxx` doesn't complain about the removed include. If I take algorithm -> chrono out of the csv files it also doesn't complain.
Check-cxx needs to be executed for every language version. If you intend to do more of these cleanups I can explain what to do. If it's only one it's easier for me to commandeer the revision and apply the fixes.
================
Comment at: libcxx/docs/ReleaseNotes.rst:69-70
+- ``<algorithm>`` no longer includes ``<chrono>`` in any C++ version (it was prevously included in C++17 and earlier).
+ This was necessary to break include cycles, which are not allowed with clang modules.
+
----------------
In the release notes we usually give no rationale.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D148405/new/
https://reviews.llvm.org/D148405
More information about the libcxx-commits
mailing list