[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:42:38 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
----------------
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.


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