Hi, The langref says the following. I am not sure I understand it completely. - What "Special characters" mean? Does it mean ASCII code less than 32? - For ASCII code >=32, can the \xx form still be used? - So " should be represented by \x22, but not \"? What about the slash \ character? - Is the prefix \01 consider part of the identifier or not? """ Identifiers that require other characters in their names can be surrounded with quotes. Special characters may be escaped using "\xx" where xx is the ASCII code for the character in hexadecimal. The "\01" prefix can be used on global values to suppress mangling. """ In a .ll file generated from .bc (which is extracted from an executable that was compiled using the configure/make toolchain with gllvm), I see things like the following. define i32 @"\01_putenv"(i8*) #0 !dbg !145238 { define i32 @"\01_setenv"(i8*, i8*, i32) #0 !dbg !145299 { define i32 @"\01_unsetenv"(i8*) #0 !dbg !145357 { But I don't find _putenv, _setenv and _unsetenv anywhere else in the .ll file. Can I be sure that these functions are not called? (I am not sure if the call to these functions would refer to these identifiers literally or not.) Thanks. -- Regards, Peng