[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
+ using reference = typename conditional<_IsConst, bool, __bit_reference<_Cp>>::type;
> 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.
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
More information about the libcxx-commits