gautron@litp.ibp.fr (Philippe GAUTRON) (08/16/90)
Subject: botched example
--text follows this line--
Pitfall or botched example, I dislike the following example, but I'm sure
that, one day or another, someone will try it (if not already done!)
Hayssam Saleh wrote it.
class X {};
class Y {};
class U {};
class UiN214cT11f {};
void f (X,X,X,X,X,X,X,X,X,X, Y, X, UiN214cT11f) {}
void f (X,X,X,X,X,X,X,X,X,X, Y, Y, U, int,int,int,char,Y,float){}
The two f will be encoded with a same name:
char f__F1XN911YT111UiN214cT11f
char f__F1XN911YT111UiN214cT11f
-----------------------
Philippe GAUTRON UUCP: gautron@rxf.ibp.fr
Rank Xerox France - LITP
Universite Paris 6
4 place Jussieu
75252 PARIS CEDEX 05
Franceschwartz@groucho.cs.psu.edu (Scott Schwartz) (08/31/90)
In article <3328@litp.ibp.fr> gautron@litp.ibp.fr (Philippe GAUTRON) writes: | class X {}; | class Y {}; | class U {}; | class UiN214cT11f {}; | void f (X,X,X,X,X,X,X,X,X,X, Y, X, UiN214cT11f) {} | void f (X,X,X,X,X,X,X,X,X,X, Y, Y, U, int,int,int,char,Y,float){} | | char f__F1XN911YT111UiN214cT11f | char f__F1XN911YT111UiN214cT11f Even easier (g++ 1.37.1): int foo(int i) {} int foo__Fi; will clash.
hayssam@litp.ibp.fr (Saleh HAYSSAM) (09/03/90)
Just take a look at the paragraph "keywords" of the ARM C++ page 7 :
"... identifiers containig a double underscore (__) are reserved for use
--------
by C++ implementations and standard librairies and should be avoided by users."
Hayssam Saleh
hayssam@litp.ibp.fr