// Before v8, we mistakenly treated an unqualified function type
// as a substitution candidate for a function type with function-cv-quals.
// Test for the conformant behavior.

// { dg-options "-fabi-version=0 -Wabi=7" }

template <class T, class U> struct A { };
// { dg-final { scan-assembler "\n_?_Z1fP1AIKFvvEFvvEE\[: \t\n\]" } }
void f (A<void()const, void()> *){} // { dg-warning "mangled name" }
// { dg-final { scan-assembler "\n_?_Z1gP1AIFvvEKFvvEE\[: \t\n\]" } }
void g (A<void(), void()const> *){} // { dg-warning "mangled name" }
