4 ms·
How bad are the rules for MSVC compared to the Itanium ones and would you consider adding support for it too? Not that I have a use case in mind or anything, j
by problems 10y ago
How bad are the rules for MSVC compared to the Itanium ones and would you consider adding support for it too?
Not that I have a use case in mind or anything, just curious.
- kryptiskt 10y agoThe Microsoft name mangling scheme is explained in Agner Fog's PDF on calling conventions: http://www.agner.org/optimize/calling_conventions.pdf http://www.agner.org/optimize/calling_conventions.pdf
- cokernel_hacker 10y agoThat's really only a fraction of it. The only definitive documentation that I know of is clang's implementation of its mangling scheme: https://github.com/llvm-mirror/clang/blob/master/lib/AST/MicrosoftMangle.cpp https://github.com/llvm-mirror/clang/blob/master/lib/AST/Mic...
- jcranmer 10y agoPretty bad, actually. There is no official documentation of the name mangling, so everything that is known is reverse engineered. In particular, there are outright bugs in the name mangling scheme, and one of the rules appears to rely on hashing the function body to produce a result. I'd give you examples, but, I don't have any of them on hand (I'm mostly relying on recollection from conversations with David Majnemer).
- twoodfin 10y agoone of the rules appears to rely on hashing the function body to produce a result Gross! I wonder what that's for. Somebody's hack to allow same-name/same-interface header inline functions to coexist?