URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
// { dg-do run }
|
// { dg-do run }
|
// Origin: Ewgenij Gawrilow
|
// Origin: Ewgenij Gawrilow
|
|
|
extern "C" void abort ();
|
extern "C" void abort ();
|
|
|
template class B, class A>
|
template class B, class A>
|
struct is_instance_of {
|
struct is_instance_of {
|
enum { answer=false };
|
enum { answer=false };
|
};
|
};
|
|
|
template class B, class T>
|
template class B, class T>
|
struct is_instance_of > {
|
struct is_instance_of > {
|
enum { answer=true };
|
enum { answer=true };
|
};
|
};
|
|
|
template struct C { };
|
template struct C { };
|
template struct D { };
|
template struct D { };
|
|
|
template
|
template
|
bool is_C (const T&) {
|
bool is_C (const T&) {
|
return is_instance_of::answer;
|
return is_instance_of::answer;
|
}
|
}
|
|
|
int main() {
|
int main() {
|
if (!is_C(C()))
|
if (!is_C(C()))
|
abort ();
|
abort ();
|
if (is_C(D()))
|
if (is_C(D()))
|
abort ();
|
abort ();
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.