// 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;
syntax highlighted by Code2HTML, v. 0.9.1