[llvm-bugs] [Bug 28216] New: [MS] Clang generates wrong mangled name for template argument PointerLikeTypeTraits in MachineModuleInfoImpls

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 20 11:47:34 PDT 2016


https://llvm.org/bugs/show_bug.cgi?id=28216

            Bug ID: 28216
           Summary: [MS] Clang generates wrong mangled name for template
                    argument PointerLikeTypeTraits in
                    MachineModuleInfoImpls
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: rnk at google.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

PointerLikeTypeTraits is interesting because some of the template
specializations use the 'class' tag and some use the 'struct' tag. IMO we
should standardize on one or the other as a matter of style, but clang should
still get the same mangling as MSVC regardless.

Clang's name for getSortedStubs:

protected: static class std::vector<struct std::pair<class llvm::MCSymbol *
__ptr64,class llvm::PointerIntPair<class llvm::MCSymbol * __ptr64,1,bool,struct
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64>,struct
llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,struct
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > > >,class
std::allocator<struct std::pair<class llvm::MCSymbol * __ptr64,class
llvm::PointerIntPair<class llvm::MCSymbol * __ptr64,1,bool,struct
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64>,struct
llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,struct
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > > > > > __cdecl
llvm::MachineModuleInfoImpl::getSortedStubs(class llvm::DenseMap<class
llvm::MCSymbol * __ptr64,class llvm::PointerIntPair<class llvm::MCSymbol *
__ptr64,1,bool,struct llvm::PointerLikeTypeTraits<class llvm::MCSymbol *
__ptr64>,struct llvm::PointerIntPairInfo<class llvm::MCSymbol *
__ptr64,1,struct llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> >
>,struct llvm::DenseMapInfo<class llvm::MCSymbol * __ptr64>,struct
llvm::detail::DenseMapPair<class llvm::MCSymbol * __ptr64,class
llvm::PointerIntPair<class llvm::MCSymbol * __ptr64,1,bool,struct
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64>,struct
llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,struct
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > > > > & __ptr64)

MSVC's name for getSortedStubs:

protected: static class std::vector<struct std::pair<class llvm::MCSymbol *
__ptr64,class llvm::PointerIntPair<class llvm::MCSymbol * __ptr64,1,bool,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64>,struct
llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > > >,class
std::allocator<struct std::pair<class llvm::MCSymbol * __ptr64,class
llvm::PointerIntPair<class llvm::MCSymbol * __ptr64,1,bool,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64>,struct
llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > > > > > __cdecl
llvm::MachineModuleInfoImpl::getSortedStubs(class llvm::DenseMap<class
llvm::MCSymbol * __ptr64,class llvm::PointerIntPair<class llvm::MCSymbol *
__ptr64,1,bool,class llvm::PointerLikeTypeTraits<class llvm::MCSymbol *
__ptr64>,struct llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > >,struct
llvm::DenseMapInfo<class llvm::MCSymbol * __ptr64>,struct
llvm::detail::DenseMapPair<class llvm::MCSymbol * __ptr64,class
llvm::PointerIntPair<class llvm::MCSymbol * __ptr64,1,bool,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64>,struct
llvm::PointerIntPairInfo<class llvm::MCSymbol * __ptr64,1,class
llvm::PointerLikeTypeTraits<class llvm::MCSymbol * __ptr64> > > > > & __ptr64)

Will try to upload reduced source.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160620/c384cc87/attachment.html>


More information about the llvm-bugs mailing list