// 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" } }