[libcxx-commits] [PATCH] D123851: [libc++] Change vector<bool>::const_iterator::reference to bool in ABIv2

Mikhail Maltsev via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Apr 25 07:50:32 PDT 2022


miyuki added inline comments.


================
Comment at: libcxx/include/__bit_reference:1115
+#else
+    using reference = typename conditional<_IsConst, bool, __bit_reference<_Cp>>::type;
+#endif
----------------
miyuki wrote:
> philnik wrote:
> > miyuki wrote:
> > > Hi. This line causes breakages when compiling with `-std=c++03`:
> > > 
> > > ```
> > > /include/libcxx/__bit_reference:1115:79: error: a space is required between consecutive right angle brackets (use '> >')
> > >     using reference = typename conditional<_IsConst, bool, __bit_reference<_Cp>>::type;
> > > 
> > >                                                                                  ^
> > > ```
> > > 
> > > Could you please fix this?
> > Fixed it in 6b257a. Just out of interest, why do you use the unstable ABI in C++03? It's clearly not for ABI reasons. Also as a side note: I don't think we officially support using the unstable ABI pre-C++11, so you should probably not use that combination. But the fix is simple enough.
> Because we are an embedded toolchain vendor and ABI stability is less of a concern for us, so we use a custom subset of unstable ABI features (and `_LIBCPP_ABI_BITSET_VECTOR_BOOL_CONST_SUBSCRIPT_RETURN_BOOL` improves results of conformance tests). We do claim C++03 support, though.
> > Also as a side note: I don't think we officially support using the unstable ABI pre-C++11
> I was not aware of this; thanks for pointing it out.
> But the fix is simple enough.
Thanks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123851/new/

https://reviews.llvm.org/D123851



More information about the libcxx-commits mailing list