// { dg-do compile { target c++14 } } struct a { void b() {} void c(void (*) () = [] { if (a a(int auto) {}) // { dg-error "two or more data types|condition declares a function" } ; }) {} }; struct d { void e() {} void f(void (*) () = [] { for (;d d(int auto) {};) // { dg-error "two or more data types|condition declares a function" } ; }) {} }; struct g { void h() {} void i(void (*) () = [] { while (g g(int auto) {}) // { dg-error "two or more data types|condition declares a function" } ; }) {} };