🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

inline friends misbehave in 2.3.3

#1330
From: Tom Vijlbrief
Date: Tue, 05 Jan 1993 16:27
65 lines
2599 bytes
Inline friends cause multiple defineds in g++2.3.3

2.2.2 worked ok......

Note:

ld: /usr/tmp/cca007182.o: _showit__Fv: multiply defined

in the following script



Script started on Tue Jan  5 17:24:32 1993
bash$ cat bug.cc

#include <stdio.h>

class demo {
public:
   friend void showit() { fprintf(stderr, "show it\n"); }
};

main()
{
  demo *d= new demo();

  showit();
}

bash$ cat bug2.cc

#include <stdio.h>

class demo {
public:
   friend void showit() { fprintf(stderr, "show it\n"); }
};

main2()
{
  demo *d= new demo();

  showit();
}
bash$ g++ bug.cc bug2.cc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3/specs
gcc version 2.3.3
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3/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 bug.cc /usr/tmp/cca00718.i
GNU CPP version 2.3.3 (sparc)
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3/cc1plus /usr/tmp/cca00718.i -quiet -dumpbase bug.cc -version -o /usr/tmp/cca00718.s
GNU C++ version 2.3.3 (sparc) compiled by GNU C version 2.3.3.
 as -o /usr/tmp/cca007181.o /usr/tmp/cca00718.s
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3/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 bug2.cc /usr/tmp/cca00718.i
GNU CPP version 2.3.3 (sparc)
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3/cc1plus /usr/tmp/cca00718.i -quiet -dumpbase bug2.cc -version -o /usr/tmp/cca00718.s
GNU C++ version 2.3.3 (sparc) compiled by GNU C version 2.3.3.
bug2.cc: In function `int  main2 ()':
bug2.cc:13: warning: control reaches end of non-void function
 as -o /usr/tmp/cca007182.o /usr/tmp/cca00718.s
 /usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3/ld -e start -dc -dp /lib/crt0.o -L/usr/local/lib/gcc-lib/sparc-sun-sunos4.1/2.3.3 -L/usr/local/lib /usr/tmp/cca007181.o /usr/tmp/cca007182.o -lg++ -lgcc -lc -lgcc
ld: /usr/tmp/cca007182.o: _showit__Fv: multiply defined
collect: /usr/bin/ld returned 2 exit status
bash$ exit

script done on Tue Jan  5 17:25:16 1993
Technical Details
Message-ID: <C0E32o.LK@izf.tno.nl>
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!izfcs.izf.tno.nl!tom

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!izfcs.izf.tno.nl!tom
From: tom@izfcs.izf.tno.nl (Tom Vijlbrief)
Subject: inline friends misbehave in 2.3.3
Message-ID: <C0E32o.LK@izf.tno.nl>
Sender: gnulists@ai.mit.edu
Organization: TNO Institute for Perception
Distribution: gnu
Date: Tue, 5 Jan 1993 16:27:59 GMT
Approved: bug-g++@prep.ai.mit.edu
Lines: 66