| // { 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); | |
| } |