[Bug libstdc++/87020] New: comparison operator isn't called for stateless allocator without is_always_equal for C++11/14
roland at rschulz dot eu
gcc-bugzilla@gcc.gnu.org
Sun Aug 19 23:49:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87020
Bug ID: 87020
Summary: comparison operator isn't called for stateless
allocator without is_always_equal for C++11/14
Product: gcc
Version: 8.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: roland at rschulz dot eu
Target Milestone: ---
For an empty allocator the comparison operators aren't used, unless
is_always_equal=std::false_type is present. This is the correct behavior with
C++17 but for C++11/14 is_always_equal shouldn't have any effect.
This is low impact because any well defined and state-less allocator should
always be equal. But it isn't strictly compliant. This is present since GCC 6.
Reproducer:
https://godbolt.org/z/-5IHwC
More information about the Gcc-bugs
mailing list