(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
cpp23/
auto-fncast3.C
// PR c++/103049
// P0849R8 - auto(x)
// { dg-do compile { target c++23 } }
// Test invalid use.

void
f ()
{
  char x[] = "foo";
  +decltype(auto){x}; // { dg-error "invalid use of .decltype\\(auto\\)." }
  +decltype(auto)(x); // { dg-error "invalid use of .decltype\\(auto\\)." }

  +auto(); // { dg-error "invalid use of .auto." }
  new auto(); // { dg-error "requires exactly one element" }
  +auto{}; // { dg-error "invalid use of .auto." }
  new auto{}; // { dg-error "requires exactly one element" }
  +auto(1, 2); // { dg-error "invalid use of .auto." }
  new auto(1, 2); // { dg-error "requires exactly one element" }
  +auto{1, 2}; // { dg-error "too many initializers" }
  new auto{1, 2}; // { dg-error "requires exactly one element" }
}