<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi Robert,</p>
    <p>That is surprising and unfortunate -- in this instance VC++ is
      actually correct. If you know which compilers gave contradictory
      warnings I might be able to see if that has now been corrected. In
      any event, it seems better to have correct code give erroneous
      warnings than incorrect code that gives correct warnings.</p>
    <p>I think there 2+ classes which aren't properly initializing the
      virtual bases, at least on compilers that handle virtual bases
      correctly. So there may be actual bugs, not just warnings. I am
      willing to pursue this if you would like me to.<br>
    </p>
    Stuart<br>
    <div class="moz-signature"><font size="1">--</font><br>
      <font size="1">
        Stuart G Mentzer<br>
        Objexx Engineering<br>
        <em>Office</em>  1.781.455.1150 x11<br>
        <em>Mobile</em> 1.781.708.3872<br>
        <br>
      </font></div>
    <div class="moz-cite-prefix">On 6/30/2016 4:29 AM, Robert Osfield
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAFN7Y+UP5g8QWTyYHFsUVz2pE7jByYsyokDtbJu-H4aktozcDA@mail.gmail.com"
      type="cite">
      <pre wrap="">Hi Stuart,

This warning is a bit of pain.  Fix this warning and you generate a
warning with other compilers depending upon which compiler and warning
options enabled.  We had a discussion and attempted to fix some of
these warnings in the last dev release cycle.

Robert.

On 30 June 2016 at 06:08, Stuart Mentzer <a class="moz-txt-link-rfc2396E" href="mailto:Stuart_Mentzer@objexx.com"><Stuart_Mentzer@objexx.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">Hello,

Visual C++ 2015 finds a problem (in current master) with the initialization
of virtual base classes in the constructors of the hierarchies including
Object, Callback, NodeCallback, GUIEventHandler, EventHandler,
CameraManipulator, StandardManipulator, and AnimationManagerBase.
Constructors are attempting to initialize virtual bases Object and Callback
from classes that are not the most-derived, concrete class so those
initializations are being ignored. It doesn't help (or look right) that
multiple levels in the hierarchy attempt (and fail) to initialize these
virtual bases.

An example of the reported warnings is:
C:\Projects\OSG\OpenSceneGraph\src\osgGA\CameraManipulator.cpp(24): warning
C4589: Constructor of abstract class 'osgGA::CameraManipulator' ignores
initializer for virtual base class 'osg::Object'
C:\Projects\OSG\OpenSceneGraph\src\osgGA\CameraManipulator.cpp(24): note:
virtual base classes are only initialized by the most-derived type
C:\Projects\OSG\OpenSceneGraph\src\osgGA\CameraManipulator.cpp(25): warning
C4589: Constructor of abstract class 'osgGA::CameraManipulator' ignores
initializer for virtual base class 'osg::Callback'
C:\Projects\OSG\OpenSceneGraph\src\osgGA\CameraManipulator.cpp(25): note:
virtual base classes are only initialized by the most-derived type

In some cases I see the most-derived classes also do the (correct) virtual
base initialization but it looks like at least these 2 are missing it:
BasicAnimationManager::BasicAnimationManager(const AnimationManagerBase& b,
const osg::CopyOp& copyop)
TimelineAnimationManager::TimelineAnimationManager(const
TimelineAnimationManager& nc,const osg::CopyOp& co)

I don't know enough of the internals to say if this could be causing
problems in practice but it would be good to fix this usage. I'm willing to
take a shot at it if that would be helpful.

Stuart


_______________________________________________
osg-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a>

</pre>
      </blockquote>
      <pre wrap="">_______________________________________________
osg-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>