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

Reply via email to