File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -618,7 +618,21 @@ public:
618
618
allocator_traits<_Alloc>::construct (__na, std::addressof (__get_value ()), std::forward<_Args>(__args)...);
619
619
}
620
620
621
+ // This line fails with:
622
+ // libcxx/test-suite-install/include/c++/v1/__memory/construct_at.h:38:49: note: non-literal type
623
+ // 'std::__tree_node<std::__value_type<Key, int>, void *>' cannot be used in a constant expression
624
+ //
625
+ // during constant evaluation as part of P3372
626
+ // on:
627
+ // 1. Arm CI which is on clang 19.x (will be fixed in: https://github.com/llvm/llvm-project/issues/161159 )
628
+ // 2. AppleClang is not yet using clang >= 20.x, which has "fixed" this issue
629
+ // 3. A few others like FreeBSD/amd64, AArch64, AIX
630
+ // FIXME: when AppleClang is based off of clang >= 20.x
631
+ #if _LIBCPP_CLANG_VER < 2000
632
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 ~__tree_node () {}
633
+ #else
621
634
~__tree_node () = delete ;
635
+ #endif
622
636
__tree_node (__tree_node const &) = delete ;
623
637
__tree_node& operator =(__tree_node const &) = delete ;
624
638
};
You can’t perform that action at this time.
0 commit comments