// { dg-do run { target fpic } } | |
// { dg-options "-O3 -fpic" } | |
struct CBase { | |
virtual void BaseFunc () {} | |
}; | |
struct MMixin { | |
virtual void * MixinFunc (int, int) = 0; | |
}; | |
struct CExample: CBase, public MMixin | |
{ | |
void *MixinFunc (int arg, int arg2) | |
{ | |
return this; | |
} | |
}; | |
void *test (MMixin & anExample) | |
{ | |
return anExample.MixinFunc (0, 0); | |
} | |
int main () | |
{ | |
CExample c; | |
return (test (c) != &c); | |
} |