// { dg-do assemble } // Error: Internal compiler error on egcs 1998/05/28 snapshot. const double M_PI=3.14159265358979323846; template<int N,int I,int J,int K> inline double SineSeries() { const double x=I*2*M_PI/N; const bool go=K+1!=J; return 1.0-x*x/(2*K+2)/(2*K+3)*SineSeries<N*go,I*go,J*go,(K+1)*go>(); } template<> inline double SineSeries<0,0,0,0>() { return 1.0; } template<int N,int I> inline double Sine() { const double x=(I*2*M_PI/N); return x * SineSeries<N,I,10,0>(); } int main() { double f=Sine<32,5>() return 0; // { dg-error "" } parse error }