Page MenuHomePhabricator

Remove unused _LIBCPP_RAW_ITERATORS
ClosedPublic

Authored by hlopko on May 4 2020, 5:02 AM.

Details

Reviewers
EricWF
ldionne
Group Reviewers
Restricted Project
Commits
rGc9e6519d158b: Remove unused _LIBCPP_RAW_ITERATORS
Summary

This change removes seemingly unused _LIBCPP_RAW_ITERATORS.

Diff Detail

Event Timeline

hlopko created this revision.May 4 2020, 5:02 AM
Herald added a project: Restricted Project. · View Herald TranscriptMay 4 2020, 5:02 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
hlopko added a subscriber: gribozavr2.
ldionne accepted this revision.May 4 2020, 7:39 AM
ldionne added a subscriber: ldionne.

LGTM, but wait a bit to see if Eric has something to say about it. I know he's been doing work in this area for a while.

This revision is now accepted and ready to land.May 4 2020, 7:39 AM

Thanks ldionne! Eric, what do you think?

EricWF accepted this revision.May 7 2020, 12:50 PM

LGTM.
I can't find any usages of this internally.

PS. You don't need an LGTM from all reviewers.

This revision was automatically updated to reflect the committed changes.
orivej added a subscriber: orivej.EditedMay 24 2020, 7:46 PM

FWIW raw pointer iterators are used at Yandex [1] and sometimes uncover issues like [2] (although othertimes they hide issues that would have been prevented by wrapped iterators).

[1] https://github.com/catboost/catboost/blob/08a65a2e/contrib/libs/cxxsupp/libcxx/include/string#L697
[2] https://reviews.llvm.org/D80473, https://reviews.llvm.org/D80475

It seems that Yandex is using their own patch for the same behavior, so we can still remove it from llvm as unused? And if we want it to be a feature, it should be promoted to a flag in the config flag like other ABI-affecting features, and we should add test coverage.

It seems that Yandex is using their own patch for the same behavior, so we can still remove it from llvm as unused?

Yes. Yandex maintains this feature in a custom patch: https://github.com/catboost/catboost/commit/7be19209f44c05d244412dd208e80dc584d49a95