root%glycine@HARVARD.HARVARD.EDU (01/05/90)
While compiling libg++ 1.36.1 on a Sun 4/110 (running Sun OS 4.0.1) I
encountered what I think might be a g++ bug. I apologize in advance
for not understanding the origin of this bug.
The error occurred while trying to link tPlex, one of the test
programs included with the libg++ distribution:
g++ tPlex.o -o tPlex -L. -ltest -L../src -lg++ -lm
iMPlex.o: Undefined symbol "LBE242" referenced
Sure enough, when iMPlex.cc is compiled with the -g flag the very
first symbol that appears is LBE242:
g++ -I../g++-include -g -O -fstrength-reduce -felide-constructors \
-fschedule-insns -fdelayed-branch -fsave-memoized -pipe -c iMPlex.cc
nm iMPlex.o
U LBE242
00003210 T _OK__8intMPlex
U _OK__9intIChunk
...
However, compiling that module without the -g flag causes the LBE242
symbol not to be listed as undefined:
g++ -I../g++-include -O -fstrength-reduce -felide-constructors
-fschedule-insns -fdelayed-branch -fsave-memoized -pipe -c iMPlex.cc
!nm
00003210 T _OK__8intMPlex
U _OK__9intIChunk
...
And tPlex compiles fine using that module.
This was the only error of its type in the entire distribution.
Is this a bug, or am I just not understanding things?
--Tom Ngo
ngo@harvard.harvard.edu