mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 20:01:31 -05:00
Here, in the thunk returned from the captureless lambda conversion to pointer-to-function, we try to pass through invisible reference parameters by reference, without doing a copy. The empty class copy optimization was messing that up. gcc/cp/ChangeLog: PR c++/98326 PR c++/20408 * cp-gimplify.c (simple_empty_class_p): Don't touch an invisiref parm. gcc/testsuite/ChangeLog: PR c++/98326 * g++.dg/cpp1y/lambda-generic-empty1.C: New test.
10 lines
138 B
C
10 lines
138 B
C
// PR c++/98326
|
|
// { dg-do compile { target c++14 } }
|
|
|
|
struct A {
|
|
A() = default;
|
|
A(const A&) {}
|
|
};
|
|
|
|
void (*fptr)(A) = [](auto){};
|