(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp1y/
pr84588-3.C
// { dg-do compile { target c++14 } }

struct a {
  void b() {}
  void c(void (*) () = [] {
      if (a a(int auto)JUNK)  // { dg-error "two or more data types|condition declares a function" }
      ;
  }) {}
};

struct d {
  void e() {}
  void f(void (*) () = [] {
      for (;d d(int auto)JUNK;)  // { dg-error "two or more data types|condition declares a function" }
      ;
  }) {}
};

struct g {
  void h() {}
  void i(void (*) () = [] {
      while (g g(int auto)JUNK)  // { dg-error "two or more data types|condition declares a function" }
      ;
  }) {}
};