URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 154 |
Rev 816 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-O2" } */
|
/* { dg-options "-O2" } */
|
|
|
class X {
|
class X {
|
public:
|
public:
|
int mfunc1 () {
|
int mfunc1 () {
|
return 1;
|
return 1;
|
}
|
}
|
int mfunc2 () {
|
int mfunc2 () {
|
return 2;
|
return 2;
|
}
|
}
|
X (int a, int b) { }
|
X (int a, int b) { }
|
};
|
};
|
|
|
typedef int (X::*memfunc_p_t) ();
|
typedef int (X::*memfunc_p_t) ();
|
|
|
memfunc_p_t mf_arr[2] = { &X::mfunc1, &X::mfunc2 };
|
memfunc_p_t mf_arr[2] = { &X::mfunc1, &X::mfunc2 };
|
|
|
int
|
int
|
main ()
|
main ()
|
{
|
{
|
// Get pntr to the array of pointers to member-funcs
|
// Get pntr to the array of pointers to member-funcs
|
memfunc_p_t (*mf_arr_p)[2] = &mf_arr;
|
memfunc_p_t (*mf_arr_p)[2] = &mf_arr;
|
// Compare indirect against direct access to an array element
|
// Compare indirect against direct access to an array element
|
if ((*mf_arr_p)[0] != mf_arr[0])
|
if ((*mf_arr_p)[0] != mf_arr[0])
|
return 1;
|
return 1;
|
return 0;
|
return 0;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.