http://llvm.org/bugs/show_bug.cgi?id=14006
Bug #: 14006
Summary: [microsoft] In the MS abi, integer template parameters
> 255 aren't mangled correctly
Product: clang
Version: unspecified
Platform: PC
OS/Version: Windows NT
Status: NEW
Severity: enhancement
Priority: P
Component: LLVM Codegen
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Classification: Unclassified
C:\src\chrome\src>type test-expr.cc
namespace NOM {
struct MyStruct {};
template <int a> class MyClass {
public:
void my_function();
};
MyStruct mystruct;
void f() {
MyClass<256> myclass;
myclass.my_function();
}
}
int main() {}
C:\src\chrome\src>..\..\llvm-ninja\bin\clang.exe test-expr.cc -Xclang -cxx-abi
-Xclang microsoft
test-expr-168206.o : error LNK2019: unresolved external symbol "public: void
__thiscall NOM::MyClass<0>::my_function(void)"
(?my_function@?$MyClass@$0AA@@NOM@@QAEXXZ) referenced in function "void __cdecl
NOM::f(void)" (?f@NOM@@YAXXZ)
a.out : fatal error LNK1120: 1 unresolved externals
(Note how link.exe complains about MyClass<0> instead of MyClass<256>. Works
fine in clang for smaller numbers; works fine in cl.)
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs