https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96803
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jonathan Wakely <r...@gcc.gnu.org>: https://gcc.gnu.org/g:7825399092d572ce8ea82c4aa8dfeb65076b0e52 commit r11-3348-g7825399092d572ce8ea82c4aa8dfeb65076b0e52 Author: Jonathan Wakely <jwak...@redhat.com> Date: Tue Sep 22 08:42:18 2020 +0100 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.