blob: ecf7121367d60a40d46236cab17f25009bd224c9 [file] [log] [blame]
// { dg-additional-options "-Wno-analyzer-use-of-uninitialized-value" }
template <typename> class allocator {
public:
allocator(const allocator &);
allocator();
};
template <typename> struct allocator_traits;
template <typename _Tp> struct allocator_traits<allocator<_Tp> > {
static allocator<_Tp> select_on_container_copy_construction() {
return allocator<_Tp>();
}
static allocator<_Tp> _S_select_on_copy() {
return select_on_container_copy_construction();
}
};
class basic_string {
struct _Alloc_hider {
_Alloc_hider(allocator<char>);
} _M_dataplus;
public:
basic_string(basic_string &)
: _M_dataplus(allocator_traits<allocator<char> >::_S_select_on_copy()) {}
} xxx(xxx);