On Mon, Nov 21, 2005 at 11:53:45AM -0500, Brian Barrett wrote:
> On Nov 21, 2005, at 11:29 AM, Geoffrey Irving wrote:
>
> > Compiling a program using the LAM C++ wrapper classes with gcc
> > 4.0.1 -Wall
> > produces a ton of warnings like this:
> >
> > /solver/adm/lam/include/mpi2cxx/pcomm.h:53: warning: âclass
> > PMPI::Commâ has virtual functions but non-virtual destructor
> > /solver/adm/lam/include/mpi2cxx/ptopology.h:64: warning: âclass
> > PMPI::Graphcommâ has virtual functions but non-virtual destructor
> > /solver/adm/lam/include/mpi2cxx/intercomm.h:20: warning: âclass
> > MPI::Intercommâ has virtual functions but non-virtual destructor
> > ...
> >
> > The MPI-2 standard appears to specify that destructors should be
> > virtual:
> >
> > 10.1.4: Except where indicated, all non-static member functions
> > (except
> > for constructors and the assignment operator) of MPI member
> > classes are virtual functions.
> >
> > The C++ wrapper classes all have commented out virtual
> > destructors. Is
> > there a particular reason these were all commented out?
> >
> > I'll go ahead and remove these warnings and any other ones I come
> > across,
> > and would be happy to submit a patch if you'd like.
>
> This is one (of many) things we've already fixed for the 7.1.2
> release. You might want to try the 7.1.2 beta tarballs -- they are
> currently waiting on a fix for IMPI (Interoperable MPI) startup to be
> "golden", but should be very stable. You can download the latest
> beta from:
>
> http://www.lam-mpi.org/beta/
Actually, only some of the warnings are fixed in 7.1.2. The definition
of Comm_Null in pcomm.h still has a commented out virtual destructor,
and comm.h would if LAM_WANT_PROFILE was defined.
Geoffrey
|