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 |
// Test for handling of excessive template recursion.
|
// Test for handling of excessive template recursion.
|
// { dg-options "-ftemplate-depth-50 -O" }
|
// { dg-options "-ftemplate-depth-50 -O" }
|
|
|
template struct F
|
template struct F
|
{
|
{
|
int operator()()
|
int operator()()
|
{
|
{
|
F f; // { dg-error "" "" }
|
F f; // { dg-error "" "" }
|
return f()*I; // { dg-error "" "" }
|
return f()*I; // { dg-error "" "" }
|
}
|
}
|
};
|
};
|
|
|
template <> struct F<52>
|
template <> struct F<52>
|
{
|
{
|
int operator()() { return 0; }
|
int operator()() { return 0; }
|
};
|
};
|
|
|
int main ()
|
int main ()
|
{
|
{
|
F<1> f;
|
F<1> f;
|
return f(); // { dg-error "instantiate" "excessive recursion" }
|
return f(); // { dg-error "instantiate" "excessive recursion" }
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.