On Mon, Nov 21, 2011 at 10:53:49PM +0100, Peter Kümmel wrote:
> On 21.11.2011 21:24, André Pönitz wrote:
> >
> >First guess: gcc sees 'virtual' on two member functions but no virtual
> >destructor, cannot prove that delete operates only on static type ==
> >
> 
> Yes, seems the warning is completely valid: GuiWorkArea::Private has a
> virtual table but no virtual destructor. It points to superfluous
> virtual functions which are wrong in GuiWorkArea::Private and only
> slow down the code.

We seem to have different opions on what constitutes a "valid" warning.

I am not a native English speaker, but in my limited understanding of
the language

  "GuiWorkArea.cpp:327:9: warning: deleting object of polymorphic class type
  ‘lyx::frontend::GuiWorkArea::Private’ which has non-virtual destructor might
  cause undefined behaviour "

and

  "GuiWorkArea.cpp:112:9: warning: declaring a virtual function in a
  class that is never subclassed might make generated code slower than
  needed when using bad code generators which are not able to substitute
  a direct base call after detecting the fact. As I am a good compiler
  and just detected the possibility to perform said optimization, I just
  applied it and did not even bother you with a warning.
  Now, please forget what you just saw."

are not equivalent.

Andre'

PS: Spoiler ahead.

The line numbers differ.

Reply via email to