[libc++] Use _LIBCPP_NO_UNIQUE_ADDRESS for base in join_view
authorJoe Loser <joeloser93@gmail.com>
Tue, 8 Feb 2022 02:33:11 +0000 (21:33 -0500)
committerJoe Loser <joeloser93@gmail.com>
Fri, 11 Feb 2022 23:37:32 +0000 (18:37 -0500)
Despite the comment saying `[[no_unique_address]]` on the `__base_` data member
makes clang crash, this does not seem to be true on CI. So, mark `__base_` with
`_LIBCPP_NO_UNIQUE_ADDRESS`.

Differential Revision: https://reviews.llvm.org/D119208

libcxx/include/__ranges/join_view.h

index 1af2221..4bab8df 100644 (file)
@@ -68,7 +68,7 @@ namespace ranges {
     static constexpr bool _UseCache = !is_reference_v<_InnerRange>;
     using _Cache = _If<_UseCache, __non_propagating_cache<remove_cvref_t<_InnerRange>>, __empty_cache>;
     _LIBCPP_NO_UNIQUE_ADDRESS _Cache __cache_;
-    _View __base_ = _View(); // TODO: [[no_unique_address]] makes clang crash! File a bug :)
+    _LIBCPP_NO_UNIQUE_ADDRESS _View __base_ = _View();
 
   public:
     _LIBCPP_HIDE_FROM_ABI