1 // Before v8, we mistakenly treated an unqualified function type
2 // as a substitution candidate for a function type with function-cv-quals.
3 // Test for the conformant behavior.
4 
5 // { dg-options -fabi-version=0 }
6 
7 template <class T, class U> struct A { };
8 // { dg-final { scan-assembler "_Z1fP1AIKFvvEFvvEE" } }
f(A<void ()const,void ()> *)9 void f (A<void()const, void()> *){}
10 // { dg-final { scan-assembler "_Z1gP1AIFvvEKFvvEE" } }
g(A<void (),void ()const> *)11 void g (A<void(), void()const> *){}
12