// PR c++/28274
|
// PR c++/28274
|
// { dg-do "compile" }
|
// { dg-do "compile" }
|
|
|
void f1(int, int, int, int, int = 0);
|
void f1(int, int, int, int, int = 0);
|
void f1(int, int, int, int = 0, int);
|
void f1(int, int, int, int = 0, int);
|
void f1(int, int, int = 0, int, int);
|
void f1(int, int, int = 0, int, int);
|
void f1(int = 0, int, int, int, int); // { dg-error "default" }
|
void f1(int = 0, int, int, int, int); // { dg-error "default" }
|
|
|
void f2(int, int, int, int, int = 0) {}
|
void f2(int, int, int, int, int = 0) {}
|
void f2(int, int, int, int = 0, int);
|
void f2(int, int, int, int = 0, int);
|
void f2(int, int, int = 0, int, int);
|
void f2(int, int, int = 0, int, int);
|
void f2(int = 0, int, int, int, int); // { dg-error "default" }
|
void f2(int = 0, int, int, int, int); // { dg-error "default" }
|
|
|
void f3(int, int, int, int, int = 0);
|
void f3(int, int, int, int, int = 0);
|
void f3(int, int, int, int = 0, int) {}
|
void f3(int, int, int, int = 0, int) {}
|
void f3(int, int, int = 0, int, int);
|
void f3(int, int, int = 0, int, int);
|
void f3(int = 0, int, int, int, int); // { dg-error "default" }
|
void f3(int = 0, int, int, int, int); // { dg-error "default" }
|
|
|
void f4(int, int, int, int, int = 0);
|
void f4(int, int, int, int, int = 0);
|
void f4(int, int, int, int = 0, int);
|
void f4(int, int, int, int = 0, int);
|
void f4(int, int, int = 0, int, int) {}
|
void f4(int, int, int = 0, int, int) {}
|
void f4(int = 0, int, int, int, int); // { dg-error "default" }
|
void f4(int = 0, int, int, int, int); // { dg-error "default" }
|
|
|
void f5(int, int, int, int, int = 0);
|
void f5(int, int, int, int, int = 0);
|
void f5(int, int, int, int = 0, int);
|
void f5(int, int, int, int = 0, int);
|
void f5(int, int, int = 0, int, int);
|
void f5(int, int, int = 0, int, int);
|
void f5(int = 0, int, int, int, int) {} // { dg-error "default" }
|
void f5(int = 0, int, int, int, int) {} // { dg-error "default" }
|
|
|
|
|
struct A
|
struct A
|
{
|
{
|
void F1(int, int, int = 0);
|
void F1(int, int, int = 0);
|
void F2(int, int, int = 0);
|
void F2(int, int, int = 0);
|
};
|
};
|
|
|
void A::F1(int, int = 0, int) {}
|
void A::F1(int, int = 0, int) {}
|
void A::F2(int = 0, int, int) {} // { dg-error "default" }
|
void A::F2(int = 0, int, int) {} // { dg-error "default" }
|
|
|
|
|
template struct B
|
template struct B
|
{
|
{
|
void F1(int, int, int = 0);
|
void F1(int, int, int = 0);
|
void F2(int, int, int = 0);
|
void F2(int, int, int = 0);
|
};
|
};
|
|
|
template void B::F1(int, int = 0, int) {}
|
template void B::F1(int, int = 0, int) {}
|
template void B::F2(int = 0, int, int) {} // { dg-error "default" }
|
template void B::F2(int = 0, int, int) {} // { dg-error "default" }
|
|
|