// { dg-do run } | |
extern "C" void abort (); | |
template <int a> inline int fact () | |
{ | |
return a * fact<a-1> (); | |
} | |
template <> inline int fact<1> () | |
{ | |
return 1; | |
} | |
int main() | |
{ | |
if (fact<3> () != 6 || fact<1> () != 1 | |
|| fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1) | |
abort (); | |
} |