🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

2.3.2: friend decl of new confuses constructor

#1295
From: Nathan Myers
Date: Fri, 18 Dec 1992 00:33
31 lines
1626 bytes
Friend declarations of global operators new and delete confuse
the constructor and destructor:

$ cat bug.cc
#include <stddef.h>
struct Foo {
  friend void* operator new(size_t);
  friend void operator delete(void*);
  Foo();
  ~Foo();
};
Foo::Foo() { }
Foo::~Foo() { }

$ gcc -v -c bug.cc
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2/2.3.2/specs
gcc version 2.3.2
 /usr/local/lib/gcc-lib/sparc-sun-solaris2/2.3.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsun -Dsparc -Dunix -D__svr4__ -D__sun__ -D__sparc__ -D__unix__ -D__svr4__ -D__sun -D__sparc -D__unix -D__svr4__ -Asystem(unix) -Acpu(sparc) -Amachine(sparc) bug.cc /tmp/cca000j..i
GNU CPP version 2.3.2 (sparc)
 /usr/local/lib/gcc-lib/sparc-sun-solaris2/2.3.2/cc1plus /tmp/cca000j..i -quiet -dumpbase bug.cc -version -o /tmp/cca000j..s
GNU C++ version 2.3.2 (sparc) compiled by GNU C version 2.3.2.

bug.cc: In method `Foo::Foo ()':
bug.cc:8: no member function `Foo::operator new'
bug.cc: In method `Foo::~Foo ()':
bug.cc:9: no member function `Foo::operator delete'

---------------------
Nathan Myers
Rogue Wave Software
myersn@roguewave.com (or try myersn@ece.orst.edu)
Technical Details
Message-ID: <m0n2Vec-0000GrC@rwave.roguewave.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!rwave.UUCP!myersn%rwave.roguewave

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!rwave.UUCP!myersn%rwave.roguewave
From: myersn%rwave.roguewave@rwave.UUCP (Nathan Myers)
Subject: 2.3.2: friend decl of new confuses constructor
Message-ID: <m0n2Vec-0000GrC@rwave.roguewave.com>
Sender: gnulists@ai.mit.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Fri, 18 Dec 1992 00:33:00 GMT
Approved: bug-g++@prep.ai.mit.edu
Lines: 33