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 |
// PR c++/22621
|
// PR c++/22621
|
|
|
struct foo {
|
struct foo {
|
typedef int (*fun)(int);
|
typedef int (*fun)(int);
|
|
|
static int f(int); // overload between static & non-static
|
static int f(int); // overload between static & non-static
|
int f();
|
int f();
|
|
|
static int g(int); // non-overloaded static
|
static int g(int); // non-overloaded static
|
};
|
};
|
|
|
template
|
template
|
struct f_obj {
|
struct f_obj {
|
// something ..
|
// something ..
|
};
|
};
|
|
|
f_obj<&foo::f> a; // OK
|
f_obj<&foo::f> a; // OK
|
f_obj b; // OK (note: a and b are of the same type)
|
f_obj b; // OK (note: a and b are of the same type)
|
|
|
int foo::f()
|
int foo::f()
|
{
|
{
|
f_obj<&foo::f> a; // OK
|
f_obj<&foo::f> a; // OK
|
f_obj b; // ERROR: foo::f cannot be a constant expression
|
f_obj b; // ERROR: foo::f cannot be a constant expression
|
|
|
f_obj<&foo::g> c; // OK
|
f_obj<&foo::g> c; // OK
|
f_obj d; // OK
|
f_obj d; // OK
|
}
|
}
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.