1// { dg-do compile }
2// Contributed by Andrew Pinski <pinskia at gcc dot gnu dot org>
3// PR c++/13810: ICE while parsing invalid default argument for a
4//   template template parameter.
5
6struct X;
7template<int> struct A {};
8
9template<template<int> class = X > struct B1 {};     // { dg-error "as a default value" }
10template<template<int> class = A<0> > struct B2 {};  // { dg-error "as a default value" }
11
12template <typename T>
13struct S {
14  template <template <typename> class = S>   struct I1 {};  // { dg-error "as a default value" }
15  template <template <typename> class = ::S> struct I2 {};
16};
17