🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Problem with function matching rules

#1369
From: Michael Schwartz
Date: Fri, 08 Jan 1993 16:49
31 lines
1529 bytes
There appears to be a bug in function matching rules using conversion
operators to convert class types to built-in types.

The following example fails:

class A
{
  public:
    operator const char * (void) { return "Hello"; }
    A() {}
    ~A() {}
};

main()
{
  A a;
  const char *cp = 1 + a;
  const char *cp2 = a + 1;
}

Output of compile:

Reading specs from /usr/local/lib/gcc-lib/m68k-sun-sunos4.1/2.3.3/specs
gcc version 2.3.3
 /usr/local/lib/gcc-lib/m68k-sun-sunos4.1/2.3.3/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dmc68000 -Dsun -Dunix -D__mc68000__ -D__sun__ -D__unix__ -D__mc68000 -D__sun -D__unix -D__HAVE_68881__ -D__mc68020__ -Dmc68020 bad_match.cc /usr/tmp/cca02076.i
GNU CPP version 2.3.3 (68k, MIT syntax)
 /usr/local/lib/gcc-lib/m68k-sun-sunos4.1/2.3.3/cc1plus /usr/tmp/cca02076.i -quiet -dumpbase bad_match.cc -version -o /usr/tmp/cca02076.s
GNU C++ version 2.3.3 (68k, MIT syntax) compiled by GNU C version 2.3.3.
bad_match.cc: In function `int  main ()':
bad_match.cc:14: undefined A operator + ()
bad_match.cc:15: undefined A operator + ()
Technical Details
Message-ID: <9301081749.AA02136@loki.den.mmc.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!loki-gw.den.mmc.com!schwartz

Show Full Headers
Complete Article Headers
Newsgroups: gnu.g++.bug
Path: arc1-ca.pugleaf.net!sparky!uunet!cis.ohio-state.edu!loki-gw.den.mmc.com!schwartz
From: schwartz@loki-gw.den.mmc.com (  Michael Schwartz)
Subject: Problem with function matching rules
Message-ID: <9301081749.AA02136@loki.den.mmc.com>
Sender: gnulists@ai.mit.edu
Organization: GNUs Not Usenet
Distribution: gnu
Date: Fri, 8 Jan 1993 16:49:48 GMT
Approved: bug-g++@prep.ai.mit.edu
Lines: 32