Skip to content

libstdc++-10 std::allocator pointer removed #269

@seanbaxter

Description

@seanbaxter

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::pointer.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions