1 // PR c++/51184
2 
3 template<typename T>
4 struct S { };
5 
6 template<typename T>
7 void foo();
8 
9 struct Abs
10 {
11   virtual void bar() = 0;
12 };
13 
main()14 int main()
15 {
16   S<Abs(int)> s;     // { dg-error "abstract" }
17   foo<Abs(int)>();   // { dg-error "abstract" }
18 }
19