[llvm-dev] about in function name (original) (raw)
Peng Yu via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 28 09:21:37 PST 2019
- Previous message: [llvm-dev] [compiler-rt] Windows report output options
- Next message: [llvm-dev] LLVM Weekly - #265, January 28th 2019
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message: [llvm-dev] [compiler-rt] Windows report output options
- Next message: [llvm-dev] LLVM Weekly - #265, January 28th 2019
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]