This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Config `pointer_safety` type to be backward compatible on AIX
AbandonedPublic

Authored by jasonliu on Apr 12 2021, 11:45 AM.

Details

Reviewers
hubert.reinterpretcast
xingxue
daltenty
ldionne
Group Reviewers
Restricted Project
Summary

The libc++ AIX already shipped contains a fix that's a bit different for pointer_safety on other platform.
It used enum class for pointer_safety without specifying the underlying type (which means the underlying type is "int").

Diff Detail

Event Timeline

jasonliu requested review of this revision.Apr 12 2021, 11:45 AM
jasonliu created this revision.
ldionne requested changes to this revision.Apr 13 2021, 8:25 AM
ldionne added inline comments.
libcxx/include/memory
4079

This code is already only used if the unstable ABI is used, so I don't understand why we're concerned about breaking that ABI.

This revision now requires changes to proceed.Apr 13 2021, 8:25 AM
jasonliu added inline comments.Apr 13 2021, 8:48 AM
libcxx/include/memory
4079

We shipped a downstream version libc++ with essentially this change to customer around November 2019. (Sorry for not being able to upstream before shipping due to time constraints we had back then)
This is part of the effort to unwind it.

jasonliu updated this revision to Diff 337179.Apr 13 2021, 9:02 AM

Fix failed test case from pre-commit CI.

As discussed offline, my preferred way forward would be https://reviews.llvm.org/D100410. Nobody cares about std::pointer_safety, let's not add any more complexity to the library to salvage it.

jasonliu abandoned this revision.Apr 16 2021, 1:22 PM

Abandoning this patch in favour of the approach in https://reviews.llvm.org/D100410.