diff options
Diffstat (limited to 'clang/lib/AST/MicrosoftMangle.cpp')
-rw-r--r-- | clang/lib/AST/MicrosoftMangle.cpp | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp index 068254abd19..785ee3a26e3 100644 --- a/clang/lib/AST/MicrosoftMangle.cpp +++ b/clang/lib/AST/MicrosoftMangle.cpp @@ -290,7 +290,7 @@ public: raw_ostream &getStream() const { return Out; } - void mangle(const NamedDecl *D, StringRef Prefix = "\01?"); + void mangle(const NamedDecl *D, StringRef Prefix = "?"); void mangleName(const NamedDecl *ND); void mangleFunctionEncoding(const FunctionDecl *FD, bool ShouldMangle); void mangleVariableEncoding(const VarDecl *VD); @@ -2785,7 +2785,7 @@ MicrosoftMangleContextImpl::mangleVirtualMemPtrThunk(const CXXMethodDecl *MD, msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01?"; + Mangler.getStream() << '?'; Mangler.mangleVirtualMemPtrThunk(MD, ML); } @@ -2794,7 +2794,7 @@ void MicrosoftMangleContextImpl::mangleThunk(const CXXMethodDecl *MD, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01?"; + Mangler.getStream() << '?'; Mangler.mangleName(MD); mangleThunkThisAdjustment(MD, Thunk.This, Mangler, MHO); if (!Thunk.Return.isEmpty()) @@ -2815,7 +2815,7 @@ void MicrosoftMangleContextImpl::mangleCXXDtorThunk( assert(Type == Dtor_Deleting); msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO, DD, Type); - Mangler.getStream() << "\01??_E"; + Mangler.getStream() << "??_E"; Mangler.mangleName(DD->getParent()); mangleThunkThisAdjustment(DD, Adjustment, Mangler, MHO); Mangler.mangleFunctionType(DD->getType()->castAs<FunctionProtoType>(), DD); @@ -2831,9 +2831,9 @@ void MicrosoftMangleContextImpl::mangleCXXVFTable( msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); if (Derived->hasAttr<DLLImportAttr>()) - Mangler.getStream() << "\01??_S"; + Mangler.getStream() << "??_S"; else - Mangler.getStream() << "\01??_7"; + Mangler.getStream() << "??_7"; Mangler.mangleName(Derived); Mangler.getStream() << "6B"; // '6' for vftable, 'B' for const. for (const CXXRecordDecl *RD : BasePath) @@ -2850,7 +2850,7 @@ void MicrosoftMangleContextImpl::mangleCXXVBTable( // is always '7' for vbtables. msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??_8"; + Mangler.getStream() << "??_8"; Mangler.mangleName(Derived); Mangler.getStream() << "7B"; // '7' for vbtable, 'B' for const. for (const CXXRecordDecl *RD : BasePath) @@ -2861,7 +2861,7 @@ void MicrosoftMangleContextImpl::mangleCXXVBTable( void MicrosoftMangleContextImpl::mangleCXXRTTI(QualType T, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??_R0"; + Mangler.getStream() << "??_R0"; Mangler.mangleType(T, SourceRange(), MicrosoftCXXNameMangler::QMM_Result); Mangler.getStream() << "@8"; } @@ -2877,7 +2877,7 @@ void MicrosoftMangleContextImpl::mangleCXXVirtualDisplacementMap( const CXXRecordDecl *SrcRD, const CXXRecordDecl *DstRD, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??_K"; + Mangler.getStream() << "??_K"; Mangler.mangleName(SrcRD); Mangler.getStream() << "$C"; Mangler.mangleName(DstRD); @@ -2923,7 +2923,7 @@ void MicrosoftMangleContextImpl::mangleCXXCatchableType( msvc_hashing_ostream MHO(Stream); mangleCXXRTTI(T, MHO); } - Mangler.getStream() << RTTIMangling.substr(1); + Mangler.getStream() << RTTIMangling; // VS2015 CTP6 omits the copy-constructor in the mangled name. This name is, // in fact, superfluous but I'm not sure the change was made consciously. @@ -2935,7 +2935,7 @@ void MicrosoftMangleContextImpl::mangleCXXCatchableType( msvc_hashing_ostream MHO(Stream); mangleCXXCtor(CD, CT, MHO); } - Mangler.getStream() << CopyCtorMangling.substr(1); + Mangler.getStream() << CopyCtorMangling; Mangler.getStream() << Size; if (VBPtrOffset == -1) { @@ -2954,7 +2954,7 @@ void MicrosoftMangleContextImpl::mangleCXXRTTIBaseClassDescriptor( uint32_t VBTableOffset, uint32_t Flags, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??_R1"; + Mangler.getStream() << "??_R1"; Mangler.mangleNumber(NVOffset); Mangler.mangleNumber(VBPtrOffset); Mangler.mangleNumber(VBTableOffset); @@ -2967,7 +2967,7 @@ void MicrosoftMangleContextImpl::mangleCXXRTTIBaseClassArray( const CXXRecordDecl *Derived, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??_R2"; + Mangler.getStream() << "??_R2"; Mangler.mangleName(Derived); Mangler.getStream() << "8"; } @@ -2976,7 +2976,7 @@ void MicrosoftMangleContextImpl::mangleCXXRTTIClassHierarchyDescriptor( const CXXRecordDecl *Derived, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??_R3"; + Mangler.getStream() << "??_R3"; Mangler.mangleName(Derived); Mangler.getStream() << "8"; } @@ -2992,16 +2992,16 @@ void MicrosoftMangleContextImpl::mangleCXXRTTICompleteObjectLocator( llvm::raw_svector_ostream Stream(VFTableMangling); mangleCXXVFTable(Derived, BasePath, Stream); - if (VFTableMangling.startswith("\01??@")) { + if (VFTableMangling.startswith("??@")) { assert(VFTableMangling.endswith("@")); Out << VFTableMangling << "??_R4@"; return; } - assert(VFTableMangling.startswith("\01??_7") || - VFTableMangling.startswith("\01??_S")); + assert(VFTableMangling.startswith("??_7") || + VFTableMangling.startswith("??_S")); - Out << "\01??_R4" << StringRef(VFTableMangling).drop_front(5); + Out << "??_R4" << StringRef(VFTableMangling).drop_front(4); } void MicrosoftMangleContextImpl::mangleSEHFilterExpression( @@ -3012,7 +3012,7 @@ void MicrosoftMangleContextImpl::mangleSEHFilterExpression( // so the numbering here doesn't have to be the same across TUs. // // <mangled-name> ::= ?filt$ <filter-number> @0 - Mangler.getStream() << "\01?filt$" << SEHFilterIds[EnclosingDecl]++ << "@0@"; + Mangler.getStream() << "?filt$" << SEHFilterIds[EnclosingDecl]++ << "@0@"; Mangler.mangleName(EnclosingDecl); } @@ -3024,7 +3024,7 @@ void MicrosoftMangleContextImpl::mangleSEHFinallyBlock( // so the numbering here doesn't have to be the same across TUs. // // <mangled-name> ::= ?fin$ <filter-number> @0 - Mangler.getStream() << "\01?fin$" << SEHFinallyIds[EnclosingDecl]++ << "@0@"; + Mangler.getStream() << "?fin$" << SEHFinallyIds[EnclosingDecl]++ << "@0@"; Mangler.mangleName(EnclosingDecl); } @@ -3057,7 +3057,7 @@ void MicrosoftMangleContextImpl::mangleReferenceTemporary( msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01?$RT" << ManglingNumber << '@'; + Mangler.getStream() << "?$RT" << ManglingNumber << '@'; Mangler.mangle(VD, ""); } @@ -3066,7 +3066,7 @@ void MicrosoftMangleContextImpl::mangleThreadSafeStaticGuardVariable( msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01?$TSS" << GuardNum << '@'; + Mangler.getStream() << "?$TSS" << GuardNum << '@'; Mangler.mangleNestedName(VD); Mangler.getStream() << "@4HA"; } @@ -3088,9 +3088,9 @@ void MicrosoftMangleContextImpl::mangleStaticGuardVariable(const VarDecl *VD, bool Visible = VD->isExternallyVisible(); if (Visible) { - Mangler.getStream() << (VD->getTLSKind() ? "\01??__J" : "\01??_B"); + Mangler.getStream() << (VD->getTLSKind() ? "??__J" : "??_B"); } else { - Mangler.getStream() << "\01?$S1@"; + Mangler.getStream() << "?$S1@"; } unsigned ScopeDepth = 0; if (Visible && !getNextDiscriminator(VD, ScopeDepth)) @@ -3110,7 +3110,7 @@ void MicrosoftMangleContextImpl::mangleInitFiniStub(const VarDecl *D, raw_ostream &Out) { msvc_hashing_ostream MHO(Out); MicrosoftCXXNameMangler Mangler(*this, MHO); - Mangler.getStream() << "\01??__" << CharCode; + Mangler.getStream() << "??__" << CharCode; Mangler.mangleName(D); if (D->isStaticDataMember()) { Mangler.mangleVariableEncoding(D); @@ -3156,7 +3156,7 @@ void MicrosoftMangleContextImpl::mangleStringLiteral(const StringLiteral *SL, // <literal> ::= '??_C@_' <char-type> <literal-length> <encoded-crc> // <encoded-string> '@' MicrosoftCXXNameMangler Mangler(*this, Out); - Mangler.getStream() << "\01??_C@_"; + Mangler.getStream() << "??_C@_"; // <char-type>: The "kind" of string literal is encoded into the mangled name. if (SL->isWide()) |