[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mythtv-dev
Subject:    Re: [mythtv] [mythtv-commits] mythtv/master commit: 67abaa6d2 by
From:       Markus Schulz <msc () antzsystem ! de>
Date:       2011-02-27 13:11:35
Message-ID: 201102271411.35633 () Mail-Followup-To
[Download RAW message or body]

Am Sonntag 27 Februar 2011 schrieb Stuart Morgan:
> It's worked for three years. I'd be interested to know why it's now
> failing with no apparent changes to the code.
> 
> There are lots of similar instances throughout the code base which
> would need fixing if this were a gcc bug, but I don't see how that's
> possible - I'm only seeing this bug now and my version of gcc hasn't
> changed in months.

if all functions are inline (without at least one virtual function) the 
compiler generates no vtable entry for this class and dynamic_cast can't 
work.

you can check with(sample output from working version with ctor in cpp):
nm mythprogressdialog.o |c++filt |grep vtable
                 U vtable for MythUIBusyDialog
0000000000000000 V vtable for ProgressUpdateEvent
                 U vtable for MythUIProgressDialog
                 U vtable for __cxxabiv1::__si_class_type_info


i'm still searching for the commit which brokes the vtable generation.
But to be sure, each derived class should have at least one function 
(virtual dtor) be implemented in cpp file.

msc
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://www.mythtv.org/mailman/listinfo/mythtv-dev
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic