[Bug libstdc++/84532] [7/8 Regression] std::thread::__make_invoker prematurely unwraps reference_wrappers

2018-02-23 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84532

--- Comment #2 from Jonathan Wakely  ---
Author: redi
Date: Fri Feb 23 23:23:43 2018
New Revision: 257956

URL: https://gcc.gnu.org/viewcvs?rev=257956=gcc=rev
Log:
PR libstdc++/84532 prevent unwrapping of reference_wrapper arguments

PR libstdc++/84532
* include/std/thread (thread::__make_invoker): Construct tuple
directly instead of using make_tuple.
* testsuite/30_threads/async/84532.cc: New.
* testsuite/30_threads/thread/84532.cc: New.

Added:
trunk/libstdc++-v3/testsuite/30_threads/async/84532.cc
trunk/libstdc++-v3/testsuite/30_threads/thread/84532.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/thread

[Bug libstdc++/84532] [7/8 Regression] std::thread::__make_invoker prematurely unwraps reference_wrappers

2018-02-23 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84532

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2018-02-23
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
   Target Milestone|--- |7.4
 Ever confirmed|0   |1

--- Comment #1 from Jonathan Wakely  ---
Drat, thanks for catching this.