When using g++, one can get label conflicts in assembler code by using
specific names for globals that match up against functions. e.g.:

void a () {}
int _Z1av;

since the 'a' function is mapped to the label "_Z1av". (compile with
-S and look at the .s file.) This occurs even when the global variable
isn't declared within an extern "C" {} block. Should non-'extern "C"
{}' global variable names also be decorated?

Reply via email to