https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90548

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-05-20
                 CC|                            |mpolacek at gcc dot gnu.org
   Target Milestone|---                         |9.2
     Ever confirmed|0                           |1

--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
commit 64e3499e2386103c6842ffdf0b8eeae1d3798d29
Author: jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Wed Jan 30 02:43:04 2019 +0000

            PR c++/86943 - wrong code converting lambda to function pointer.

    In this PR, instantiating the static thunk returned from the generic lambda
    conversion function template was using normal overload resolution, which
    meant calling an extra constructor when forwarding its argument.  Fixed by
    special-casing thunk calls significantly more.

            * lambda.c (maybe_add_lambda_conv_op): Use a template-id in the
            call.  Only forward parms for decltype.
            * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Handle
CALL_FROM_THUNK_P
            specially.
            * typeck.c (check_return_expr): Don't mess with a thunk call.

    git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268377
138bc75d-0d04-0410-961f-82ee72b054a4

Reply via email to