> Test cases are required for this sort of thing. Also, you're not > checking whether it has the __ptr64 attribute before performing the > mangle, are you sure that's what you want? Is there a __ptr32 mangle > we should be emitting if the pointer width is 32?
Idk, I just compared mangled names from VC and Clang. Compile x86 code: $ bin\cl.exe /nologo /c ms-ptr64.cpp&& strings -n 6 ms-ptr64.obj | grep VS mangle-ms-ptr64.cpp ??0?$VS@$$$V@@QAE@XZ ??0?$VS@H@@QAE@H@Z ??0?$VS@HN@@QAE@HN@Z Compile x64 code: $ bin\amd64\cl.exe /nologo /c ms-ptr64.cpp&& strings -n 6 ms-ptr64.obj | grep VS mangle-ms-ptr64.cpp ??0?$VS@$$$V@@QEAA@XZ ??0?$VS@H@@QEAA@H@Z ??0?$VS@HN@@QEAA@HN@Z Undecorate x86 signature: $ undname.exe ??0?$VS@H@@QAE@H@Z Undecoration of :- "??0?$VS@H@@QAE@H@Z" is :- "public: __thiscall VS<int>::VS<int>(int)" Undecorate x64 signature: $ undname.exe ??0?$VS@H@@QEAA@H@Z Undecoration of :- "??0?$VS@H@@QEAA@H@Z" is :- "public: __cdecl VS<int>::VS<int>(int) __ptr64" Intel C++ with /Qms does same (QAE on ia32 and QEAA on intel64). Clang was produced just "QAA" (__cdecl) on x64. http://llvm-reviews.chandlerc.com/D101 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
