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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[8/9 Regression] Wrong code |[7/8/9 Regression] Wrong
                   |when converting stateless   |code when converting
                   |generic lambda to function  |stateless generic lambda to
                   |pointer                     |function pointer
      Known to fail|                            |7.3.1

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I see the wrong behaviour for GCC 7.3.1 so it seems to have regressed since
7.3.0

I think GCC is allowed to use a default constructor then move constructor in
C++14 mode, although ideally it would elide the move. In C++17 mode I think
it's required to elide it.

So Clang and EDG's behaviour is preferable for C++14, and required for C++17.

Reply via email to