Skip to content

Commit 1131098

Browse files
committed
workaround for gcc bug with placement new: v5 (test)
1 parent 363eb7c commit 1131098

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

libcxx/include/__algorithm/stable_sort.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,12 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void __merge_move_construct(
122122
__d.template __incr<value_type>();
123123
++__first2;
124124
} else {
125-
__STABLE_SORT_NEW(__result, value_type, _Ops::__iter_move, __first1);
125+
// __STABLE_SORT_NEW(__result, value_type, _Ops::__iter_move, __first1);
126+
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 <= 140100)
127+
[__result, &__first1] { ::new (__result) value_type(_Ops::__iter_move(__first1)); }();
128+
#else
129+
::new (__result) value_type(_Ops::__iter_move(__first1));
130+
#endif
126131
__d.template __incr<value_type>();
127132
++__first1;
128133
}

0 commit comments

Comments
 (0)