Revert "PR 117048: simplify-rtx: Simplify (X << C1) [+,^] (X >> C2) into ROTATE"
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.pt / explicit54.C
blob71d8d9356ecaf19459207df0d607631028fe01e4
1 // { dg-do run  }
2 extern "C" void abort ();
4 template <int a> inline int fact2 ();
6 template <int a> inline int fact ()
8   return a * fact2<a-1> ();
11 template <> inline int fact<1> ()
13   return 1;
16 template <int a> inline int fact2 ()
18   return a*fact<a-1>();
21 template <> inline int fact2<1> ()
23   return 1;
26 int main()
28   if (fact<3> () != 6 || fact<1> () != 1
29       || fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1)
30     abort ();
31   if (fact2<3> () != 6 || fact2<1> () != 1
32       || fact2<3> () != 6 || fact2<1> () != 1 || fact2<1+0> () != 1)
33     abort ();
34   if (fact2<4> () != 24 || fact<4> () != 24)
35     abort ();