Skip to content

Commit b689e16

Browse files
mordanteldionne
andauthored
[libc++] Renames ABI tag. (#78342)
The tag name was long for an ABI tag. The name was misleading too, the tag is first introduced in LLVM 18 in 2024 and not in 2023. --------- Co-authored-by: Louis Dionne <[email protected]>
1 parent 7f05153 commit b689e16

File tree

8 files changed

+9
-13
lines changed

8 files changed

+9
-13
lines changed

libcxx/include/__config

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@
218218
// https://github.com/llvm/llvm-project/issues/70494
219219
//
220220
// To fix the bug we had to change the ABI of some classes to remove [[no_unique_address]] under certain conditions.
221-
// The below macro is used for all classes whose ABI have changed as part of fixing these bugs.
222-
# define _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG __attribute__((__abi_tag__("subobj_fix_2023")))
221+
// The macro below is used for all classes whose ABI have changed as part of fixing these bugs.
222+
# define _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS __attribute__((__abi_tag__("llvm18_nua")))
223223

224224
// Changes the iterator type of select containers (see below) to a bounded iterator that keeps track of whether it's
225225
// within the bounds of the original container and asserts it on every dereference.

libcxx/include/__ranges/chunk_by_view.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ namespace ranges {
5454

5555
template <forward_range _View, indirect_binary_predicate<iterator_t<_View>, iterator_t<_View>> _Pred>
5656
requires view<_View> && is_object_v<_Pred>
57-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG chunk_by_view
58-
: public view_interface<chunk_by_view<_View, _Pred>> {
57+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS chunk_by_view : public view_interface<chunk_by_view<_View, _Pred>> {
5958
_LIBCPP_NO_UNIQUE_ADDRESS _View __base_ = _View();
6059
_LIBCPP_NO_UNIQUE_ADDRESS __movable_box<_Pred> __pred_;
6160

libcxx/include/__ranges/drop_while_view.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ namespace ranges {
4545

4646
template <view _View, class _Pred>
4747
requires input_range<_View> && is_object_v<_Pred> && indirect_unary_predicate<const _Pred, iterator_t<_View>>
48-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG drop_while_view
49-
: public view_interface<drop_while_view<_View, _Pred>> {
48+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS drop_while_view : public view_interface<drop_while_view<_View, _Pred>> {
5049
public:
5150
_LIBCPP_HIDE_FROM_ABI drop_while_view()
5251
requires default_initializable<_View> && default_initializable<_Pred>

libcxx/include/__ranges/filter_view.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
5151
namespace ranges {
5252
template <input_range _View, indirect_unary_predicate<iterator_t<_View>> _Pred>
5353
requires view<_View> && is_object_v<_Pred>
54-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG filter_view : public view_interface<filter_view<_View, _Pred>> {
54+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS filter_view : public view_interface<filter_view<_View, _Pred>> {
5555
_LIBCPP_NO_UNIQUE_ADDRESS _View __base_ = _View();
5656
_LIBCPP_NO_UNIQUE_ADDRESS __movable_box<_Pred> __pred_;
5757

libcxx/include/__ranges/repeat_view.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ struct __fn;
6868
template <move_constructible _Tp, semiregular _Bound = unreachable_sentinel_t>
6969
requires(is_object_v<_Tp> && same_as<_Tp, remove_cv_t<_Tp>> &&
7070
(__integer_like_with_usable_difference_type<_Bound> || same_as<_Bound, unreachable_sentinel_t>))
71-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG repeat_view : public view_interface<repeat_view<_Tp, _Bound>> {
71+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS repeat_view : public view_interface<repeat_view<_Tp, _Bound>> {
7272
friend struct views::__take::__fn;
7373
friend struct views::__drop::__fn;
7474
class __iterator;

libcxx/include/__ranges/single_view.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ template <move_constructible _Tp>
3737
template <copy_constructible _Tp>
3838
# endif
3939
requires is_object_v<_Tp>
40-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG single_view : public view_interface<single_view<_Tp>> {
40+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS single_view : public view_interface<single_view<_Tp>> {
4141
_LIBCPP_NO_UNIQUE_ADDRESS __movable_box<_Tp> __value_;
4242

4343
public:

libcxx/include/__ranges/take_while_view.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ namespace ranges {
4343

4444
template <view _View, class _Pred>
4545
requires input_range<_View> && is_object_v<_Pred> && indirect_unary_predicate<const _Pred, iterator_t<_View>>
46-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG take_while_view
47-
: public view_interface<take_while_view<_View, _Pred>> {
46+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS take_while_view : public view_interface<take_while_view<_View, _Pred>> {
4847
template <bool>
4948
class __sentinel;
5049

libcxx/include/__ranges/transform_view.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ template <input_range _View, move_constructible _Fn>
6767
template <input_range _View, copy_constructible _Fn>
6868
# endif
6969
requires __transform_view_constraints<_View, _Fn>
70-
class _LIBCPP_ABI_2023_OVERLAPPING_SUBOBJECT_FIX_TAG transform_view
71-
: public view_interface<transform_view<_View, _Fn>> {
70+
class _LIBCPP_ABI_LLVM18_NO_UNIQUE_ADDRESS transform_view : public view_interface<transform_view<_View, _Fn>> {
7271
template <bool>
7372
class __iterator;
7473
template <bool>

0 commit comments

Comments
 (0)