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/
Brian
--
Brian Barrett
LAM/MPI developer and all around nice guy
Have a LAM/MPI day: http://www.lam-mpi.org/
|