Updated mangling specs

mendell at ca.ibm.com mendell at ca.ibm.com
Fri Jan 28 20:08:04 UTC 2000



More questions:

This was one of the questions I wanted to ask Daveed.

The other one (maybe it's two) is:

Does this rule only distinguish between instantiation that would be
ambiguous if both template definition were visible at the instantiation
point?  If so, do you know why the committee made this decision?

translation unit 1
void f(char);
void g() { f(1); }

translation unit 2
void f(int);
void h() { f(1); }

This is legal code, but I think is fairly obvious a blemish on the
language.  External functions are usually declared in header files, so in
general the programmer isn't going to know which f is being called and the
inclusion of another header is going to change the behaviour of the
program.  Paragraph 5 of 14.5.5.1 seems to me to be there solely to make
this situation worse.  What am I missing?







More information about the cxx-abi-dev mailing list