bde
bde copied to clipboard
libstdc++-10 std::allocator pointer removed
I'm getting a build error at bslstl_bitset.t.cpp:1140
ASSERTV(LINE, (X.to_string<char, native_std::char_traits<char>,
native_std::allocator<char> >() == s));
It took a long time to debug, but I have some info for you: That code tries to get typename std::allocator
See /usr/include/c++/10/bits/allocator.h:115
template<typename _Tp>
class allocator : public __allocator_base<_Tp>
{
public:
typedef _Tp value_type;
typedef size_t size_type;
typedef ptrdiff_t difference_type;
#if __cplusplus <= 201703L
typedef _Tp* pointer;
typedef const _Tp* const_pointer;
typedef _Tp& reference;
typedef const _Tp& const_reference;
template<typename _Tp1>
struct rebind
{ typedef allocator<_Tp1> other; };
#endif
pointer removed!
Possible I need to change my BDE cmake stuff to support libstdc++-10 with a 2020 __cplusplus macro.
Please advise.
Thanks, this is being tracked internally via ticket {DRQS 164056378<GO>}.
@AlisdairM Do these patches https://github.com/bloomberg/bde/pull/268 address this?
Yes, I believe those should address the pointer
issue until the internal QAed branch lands.