| // Copyright (C) 2005 Free Software Foundation, Inc. |
| // Contributed by Nathan Sidwell 13 Jun 2005 <nathan@codesourcery.com> |
| |
| // Origin: Ivan Godard <igodard@pacbell.net> |
| // Bug 20789: ICE on invalid |
| |
| template<typename> struct A; |
| |
| template<int> struct B {}; |
| |
| template<typename T> struct C |
| { |
| static const int i = A<T>::i; // { dg-error "incomplete" } |
| static const int j = i; // { dg-error "non-constant expression" } |
| B<j> b; // { dg-error "not a valid template arg" } |
| }; |
| |
| C<int> c; |
| |
| int i = C<int>::i; |
| int j = C<int>::j; |