URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
// { dg-do run }
|
// { dg-do run }
|
extern "C" void abort ();
|
extern "C" void abort ();
|
|
|
template inline int fact2 ();
|
template inline int fact2 ();
|
|
|
template inline int fact ()
|
template inline int fact ()
|
{
|
{
|
return a * fact2 ();
|
return a * fact2 ();
|
}
|
}
|
|
|
template <> inline int fact<1> ()
|
template <> inline int fact<1> ()
|
{
|
{
|
return 1;
|
return 1;
|
}
|
}
|
|
|
template inline int fact2 ()
|
template inline int fact2 ()
|
{
|
{
|
return a*fact();
|
return a*fact();
|
}
|
}
|
|
|
template <> inline int fact2<1> ()
|
template <> inline int fact2<1> ()
|
{
|
{
|
return 1;
|
return 1;
|
}
|
}
|
|
|
int main()
|
int main()
|
{
|
{
|
if (fact<3> () != 6 || fact<1> () != 1
|
if (fact<3> () != 6 || fact<1> () != 1
|
|| fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1)
|
|| fact<3> () != 6 || fact<1> () != 1 || fact<1+0> () != 1)
|
abort ();
|
abort ();
|
if (fact2<3> () != 6 || fact2<1> () != 1
|
if (fact2<3> () != 6 || fact2<1> () != 1
|
|| fact2<3> () != 6 || fact2<1> () != 1 || fact2<1+0> () != 1)
|
|| fact2<3> () != 6 || fact2<1> () != 1 || fact2<1+0> () != 1)
|
abort ();
|
abort ();
|
if (fact2<4> () != 24 || fact<4> () != 24)
|
if (fact2<4> () != 24 || fact<4> () != 24)
|
abort ();
|
abort ();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.