| // { 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 (); | |
| } |