Date: Sun, 16 Mar 1997 17:06:17 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: imp@village.org (Warner Losh) Cc: terry@lambert.org, hackers@FreeBSD.org Subject: Re: Barb problem, FOUND Message-ID: <199703170006.RAA06832@phaeton.artisoft.com> In-Reply-To: <199703170008.RAA03992@rover.village.org> from "Warner Losh" at Mar 16, 97 05:08:58 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> : OK, then I don't know why it's bitching. It's perfectly valid to have > : a virtual destructor inline: the STL library book does it, so it's an > : OK thing to do. > > It is a valid C++ construct, but it is not always handled well by C++ > compilers. That's why it is bitching. Generally, virtual inlines are > a bad idea for the reasons that I've already gone into. Those reasons are only valid for bad compiler/object-format/linker combinations. Too bad FreeBSD has one of these. 8-|. The "correct" FreeBSD "workaround" (as long as we are stuck at a.out) is to duplicate the code statically, per module using the virtual base class. > : Personally, I think it's a compiler bug. > > It is. Quanitifying it is the hard part. The compiler should "do the right thing". The "right thing" in the FreeBSD case is "emit the code and don't bitch about it being a potentially duplicated code block because of the scoping forced on it by FreeBSD's use of the antiquated a.out object format". Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703170006.RAA06832>