URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
// { dg-do assemble }
|
// { dg-do assemble }
|
// { dg-options "-ftemplate-depth-10" }
|
// { dg-options "-ftemplate-depth-10" }
|
// Test for catching infinitely recursive instantiations.
|
// Test for catching infinitely recursive instantiations.
|
// Origin: Jason Merrill
|
// Origin: Jason Merrill
|
|
|
|
|
template void f()
|
template void f()
|
{
|
{
|
f(); // { dg-error "" } excessive recursion
|
f(); // { dg-error "" } excessive recursion
|
}
|
}
|
|
|
// We should never need this specialization because we should issue an
|
// We should never need this specialization because we should issue an
|
// error first about the recursive template instantions. But, in case
|
// error first about the recursive template instantions. But, in case
|
// the compiler fails to catch the error, this will keep it from
|
// the compiler fails to catch the error, this will keep it from
|
// running forever instantiating more and more templates.
|
// running forever instantiating more and more templates.
|
template <> void f<11>();
|
template <> void f<11>();
|
|
|
int main()
|
int main()
|
{
|
{
|
f<0>();
|
f<0>();
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.