*BSD News Article 31428


Return to BSD News archive

Newsgroups: comp.os.386bsd.apps
Path: sserve!newshost.anu.edu.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!gatech!newsxfer.itd.umich.edu!ncar!csn!boulder.parcplace.com!imp
From: imp@boulder.parcplace.com (Warner Losh)
Subject: Re: performance/size of InterViews
Message-ID: <CqzJw3.8vq@boulder.parcplace.com>
Sender: news@boulder.parcplace.com
Organization: ParcPlace Boulder
References: <G5EPBZ9@math.fu-berlin.de> <JKH.94Jun5213211@whisker.hubbard.ie>
Date: Mon, 6 Jun 1994 17:14:26 GMT
Lines: 36

In article <G5EPBZ9@math.fu-berlin.de> gusw@zedat.fu-berlin.de (Gunther Shadow) writes:
>   segmentation fault. The latter may happen due to a mess between
>   gcc-2.4.5 and gcc-2.5.8 compiled code. Unfortunately FreeBSD still has
>   2.4.5 as it's standard compiler, while 2.5.8 has improved C++
>   capabilities (which are actually bug fixes).

Well, I have a different perspective.  g++ 2.5.8 is the buggiest C++
compiler that I've ever tried to compile OI with.  It utterly fails in
dozens of small ways and is completely unusible from my point of view.
Many of the problems with g++ 2.5.8 have been fixed in the latest
snapshot that I've been given access to.  Many new bugs have appeared,
but such is the fate of a beta compiler tester (bugs have been filed
and I think there is only one outstanding).  The Linux folks will have
to wait until g++ 2.6.0 comes out before I'll even consider releasing
a new release of OI for them, while the FreeBSD folks will see the
product much sooner.

Note, that if you are trying to mix g++ 2.4.5 and g++ 2.5.8 code, then
you are begging from troubles.  I've been told the name mangling has
changed (but couldn't tell you how, since it doesn't seem to bite me).
The size of a member function pointer has also changed.  It used to be
4 bytes and now is 8 bytes.  Code that compiled w/o a complaint in
2.4.5 will cause the 2.5.8 compiler to go into a fatal bug check, or
refuse to compile (incorrectly, as the code is valid C++ according to
the ARM and latest WG paper on C++).

If I were recommending a C++ compiler, I'd say go with g++ 2.4.5 or
wait for g++ 2.6.x to come out.  I'd avoid 2.5.8 with the same
voracity that one would avoid telemarketers, lawyers and green card
posters.

Warner
-- 
Warner Losh		imp@boulder.parcplace.COM	ParcPlace Boulder
"... but I can't promote you to "Prima Donna" unless you demonstrate a few
 more serious personality disorders"