------- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-08 14:53 ------- Invalid as no compiler knows what branch to take when taking the cast: TestBaseClass_C *self = (TestBaseClass_C *)ptObj;
Since ptObj is void*, it is just a normal cast and not a cast which takes a branch of multiple inheritance. Cast when calling pthread_create makes the testcase work: if ((res = pthread_create( &thread2_Handle, __null, TestBaseClass_C::StartThread2, (TestBaseClass_C *)this)) != 0 ) -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18881