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: unassignedclangb...@nondot.org
          Reporter: r...@google.com
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to