libstdc++: Use correct argument type for __use_alloc, again [PR 96803]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 22 Sep 2020 07:42:18 +0000 (08:42 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 22 Sep 2020 07:42:18 +0000 (08:42 +0100)
commit7825399092d572ce8ea82c4aa8dfeb65076b0e52
treeb67e14910d10e7fde6844489ceaf9915876b99bf
parentd149962d6ac3c940fee95707cb6bafdb055e9bea
libstdc++: Use correct argument type for __use_alloc, again [PR 96803]

While backporting 5494edae83ad33c769bd1ebc98f0c492453a6417 I noticed
that it's still not correct. I made the allocator-extended constructor
use the right type for the uses-allocator construction detection, but I
used an rvalue when it should be a const lvalue.

This should fix it properly this time.

libstdc++-v3/ChangeLog:

PR libstdc++/96803
* include/std/tuple
(_Tuple_impl(allocator_arg_t, Alloc, const _Tuple_impl<U...>&)):
Use correct value category in __use_alloc call.
* testsuite/20_util/tuple/cons/96803.cc: Check with constructors
that require correct value category to be used.
libstdc++-v3/include/std/tuple
libstdc++-v3/testsuite/20_util/tuple/cons/96803.cc