🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.g++.bug
Article #21

Bug in GCC 2.3.1

#21
From: Martin Junius
Date: Mon, 02 Nov 1992 15:13
44 lines
1858 bytes
In GCC 2.3.1 defining a friend operator in the class declaration 
no longer works, the linker reports an unresolved external. This 
doesn't happen with GCC 2.2.2.

Example program:

class X
{
public:
friend X &operator + (X &a, X &b)
{
    X *p = new X;
    return *p;
}
};


main()
{
    X a, b, c;
    
    c = a + b;
}

Compile run:

Reading specs from /usr/global/lib/gcc-lib/sparc/2.3.1/specs
gcc version 2.3.1
 /usr/global/lib/gcc-lib/sparc/2.3.1/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix xx.cc /usr/tmp/cca26199.i
GNU CPP version 2.3.1 (sparc)
 /usr/global/lib/gcc-lib/sparc/2.3.1/cc1plus /usr/tmp/cca26199.i -quiet -dumpbase xx.cc -version -o /usr/tmp/cca26199.s
GNU C++ version 2.3.1 (sparc) compiled by GNU C version 2.3.1.
 as -o /usr/tmp/cca261991.o /usr/tmp/cca26199.s
 /usr/global/lib/gcc-lib/sparc/2.3.1/ld -e start -dc -dp /lib/crt0.o -L/usr/global/lib/gcc-lib/sparc/2.3.1 -L/usr/global/lib /usr/tmp/cca261991.o -lg++ -lgcc -lc -lgcc
ld: Undefined symbol 
   ___pl__FR1XT0 
collect: /usr/bin/ld returned 2 exit status

Martin
-- 
 _____ _____
|     |___  |   Martin Junius           FIDO:      2:242/6.1
| | | |   | |   Communication Networks  Internet:  mj@dfv.rwth-aachen.de
|_|_|_|@work|   Aachen U of Technology  Phone:     ++49-241-8790220 (voice)
Technical Details
Message-ID: <1992Nov2.151319.26943@dfv.rwth-aachen.de>
Path: arc1-ca.pugleaf.net!sparky!uunet!noc.near.net!hri.com!spool.mu.edu!caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!dfv.rwth-aachen.DE!mj

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!noc.near.net!hri.com!spool.mu.edu!caen!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!dfv.rwth-aachen.DE!mj
From: mj@dfv.rwth-aachen.DE (Martin Junius)
Newsgroups: gnu.g++.bug
Subject: Bug in GCC 2.3.1
Message-ID: <1992Nov2.151319.26943@dfv.rwth-aachen.de>
Date: 2 Nov 92 15:13:19 GMT
Sender: gnulists@ai.mit.edu
Distribution: gnu
Organization: Communication Networks
Lines: 44
Approved: bug-g++@prep.ai.mit.edu