+// PR c++/58500
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/58500
-
struct A {};
void foo(auto (A::*)());
+// PR c++/58534
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/58534
-
template<typename> void foo(const auto&) {}
template<typename, typename...T> void foo(const auto&, T...) {}
-
+// PR c++/58536
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/58536
-
struct A
{
A(auto);
};
A::A(auto) {}
-
+// PR c++/58548
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/58548
-
void foo(auto)
{
struct A { int i; };
}
-
+// PR c++/58549
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/58549
-
void foo(auto)
{
void bar();
}
-
+// PR c++/58637
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/58637
-
template<> void foo(auto); // { dg-error "auto|not a template" }
-
+// PR c++/59112
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/59112
-
void foo()
{
struct A
+// PR c++/59113
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/59113
-
void foo()
{
void bar(auto) {} // { dg-error "function-definition|auto|not permitted" }
+// PR c++/59629
// { dg-do compile }
// { dg-options "-std=c++1y" }
-// PR c++/59629
-
void foo(int i = []{ auto 0; }()); // { dg-error "expected|could not convert" }
-
+// PR c++/59635
// { dg-do compile }
// { dg-options "-std=c++1y" }
-// PR c++/59635
-
auto f = [] (auto, ...) { return 0; };
int (*p) (int, ...) = f; // { dg-message "unimplemented" }
-
+// PR c++/59636
// { dg-do compile }
// { dg-options "-std=c++1y" }
-// PR c++/59636
-
auto f = []() { return []<>() {}; }; // { dg-error "expected identifier" }
-
+// PR c++/59638
// { dg-do compile }
// { dg-options "-std=gnu++1y" }
-// PR c++/59638
-
-
void (*a)(auto); // { dg-error "template declaration" }
void (*b)(auto) = 0; // { dg-error "template declaration" }