[gnu.g++.bug] ALERT: don't make 1.36.1 with SOS defined

rfg@ICS.UCI.EDU (12/08/89)

Based on past experience, I had been in the habit of always making g++
with both ESKIT and SOS defined (in the Makefile).

I have just learned that having SOS defined can be disasterous.  If you
have it defined, you will *not* be able to successfully compile libg++.

The problem becomes apparent immediately when you are compiling AllocQueue.cc
from libg++ (the first file in src/).

The problem comes from the initializer for the member "nodes" on line 28
of AllocQueue.cc.  This initializer includes a "new" expression.

Apparently, if SOS was defined whne you compiled cplus-init.c, then the
routine called build_new() in cplus-init.c returns a bogus value on or
about line 2521 in cplus-init.c.

All hell breaks loose after that.

// rfg

Raeburn@ATHENA.MIT.EDU (Ken Raeburn) (12/08/89)

>Based on past experience, I had been in the habit of always making g++
>with both ESKIT and SOS defined (in the Makefile).

Maybe I've just missed something in the documentation -- several times
-- but what do these options do, and is it generally advisable to use
them (this specific case of 1.36.1 and SOS aside)?

-- Ken