From: Rafael Espindola Date: Fri, 11 Feb 2011 01:41:00 +0000 (+0000) Subject: Use raw_ostream instead of raw_svector_ostream. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0e376a0ca8372c9e809d08a9db2fae98394878b8;p=clang Use raw_ostream instead of raw_svector_ostream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125330 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/AST/Mangle.h b/include/clang/AST/Mangle.h index a35f1d04fb..747a0b121a 100644 --- a/include/clang/AST/Mangle.h +++ b/include/clang/AST/Mangle.h @@ -95,7 +95,7 @@ public: /// @{ virtual bool shouldMangleDeclName(const NamedDecl *D) = 0; - virtual void mangleName(const NamedDecl *D, llvm::raw_svector_ostream &)=0; + virtual void mangleName(const NamedDecl *D, llvm::raw_ostream &)=0; virtual void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk, llvm::SmallVectorImpl &) = 0; @@ -114,20 +114,20 @@ public: virtual void mangleCXXRTTI(QualType T, llvm::SmallVectorImpl &) = 0; virtual void mangleCXXRTTIName(QualType T, llvm::SmallVectorImpl &) = 0; virtual void mangleCXXCtor(const CXXConstructorDecl *D, CXXCtorType Type, - llvm::raw_svector_ostream &) = 0; + llvm::raw_ostream &) = 0; virtual void mangleCXXDtor(const CXXDestructorDecl *D, CXXDtorType Type, - llvm::raw_svector_ostream &) = 0; + llvm::raw_ostream &) = 0; void mangleGlobalBlock(const BlockDecl *BD, - llvm::raw_svector_ostream &Out); + llvm::raw_ostream &Out); void mangleCtorBlock(const CXXConstructorDecl *CD, CXXCtorType CT, - const BlockDecl *BD, llvm::raw_svector_ostream &Out); + const BlockDecl *BD, llvm::raw_ostream &Out); void mangleDtorBlock(const CXXDestructorDecl *CD, CXXDtorType DT, - const BlockDecl *BD, llvm::raw_svector_ostream &Out); + const BlockDecl *BD, llvm::raw_ostream &Out); void mangleBlock(const DeclContext *DC, const BlockDecl *BD, - llvm::raw_svector_ostream &Out); + llvm::raw_ostream &Out); // Do the right thing. - void mangleBlock(const BlockDecl *BD, llvm::raw_svector_ostream &Out); + void mangleBlock(const BlockDecl *BD, llvm::raw_ostream &Out); void mangleObjCMethodName(const ObjCMethodDecl *MD, llvm::SmallVectorImpl &); diff --git a/lib/AST/ItaniumMangle.cpp b/lib/AST/ItaniumMangle.cpp index 1a3bf659c3..6205988c91 100644 --- a/lib/AST/ItaniumMangle.cpp +++ b/lib/AST/ItaniumMangle.cpp @@ -91,7 +91,7 @@ public: /// @{ bool shouldMangleDeclName(const NamedDecl *D); - void mangleName(const NamedDecl *D, llvm::raw_svector_ostream &); + void mangleName(const NamedDecl *D, llvm::raw_ostream &); void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk, llvm::SmallVectorImpl &); @@ -110,9 +110,9 @@ public: void mangleCXXRTTI(QualType T, llvm::SmallVectorImpl &); void mangleCXXRTTIName(QualType T, llvm::SmallVectorImpl &); void mangleCXXCtor(const CXXConstructorDecl *D, CXXCtorType Type, - llvm::raw_svector_ostream &); + llvm::raw_ostream &); void mangleCXXDtor(const CXXDestructorDecl *D, CXXDtorType Type, - llvm::raw_svector_ostream &); + llvm::raw_ostream &); void mangleItaniumGuardVariable(const VarDecl *D, llvm::SmallVectorImpl &); @@ -136,7 +136,7 @@ public: /// CXXNameMangler - Manage the mangling of a single name. class CXXNameMangler { ItaniumMangleContext &Context; - llvm::raw_svector_ostream &Out; + llvm::raw_ostream &Out; const CXXMethodDecl *Structor; unsigned StructorType; @@ -149,13 +149,13 @@ class CXXNameMangler { ASTContext &getASTContext() const { return Context.getASTContext(); } public: - CXXNameMangler(ItaniumMangleContext &C, llvm::raw_svector_ostream &Out_) + CXXNameMangler(ItaniumMangleContext &C, llvm::raw_ostream &Out_) : Context(C), Out(Out_), Structor(0), StructorType(0), SeqID(0) { } - CXXNameMangler(ItaniumMangleContext &C, llvm::raw_svector_ostream &Out_, + CXXNameMangler(ItaniumMangleContext &C, llvm::raw_ostream &Out_, const CXXConstructorDecl *D, CXXCtorType Type) : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(Type), SeqID(0) { } - CXXNameMangler(ItaniumMangleContext &C, llvm::raw_svector_ostream &Out_, + CXXNameMangler(ItaniumMangleContext &C, llvm::raw_ostream &Out_, const CXXDestructorDecl *D, CXXDtorType Type) : Context(C), Out(Out_), Structor(getStructor(D)), StructorType(Type), SeqID(0) { } @@ -171,7 +171,7 @@ public: free(result); } #endif - llvm::raw_svector_ostream &getStream() { return Out; } + llvm::raw_ostream &getStream() { return Out; } void mangle(const NamedDecl *D, llvm::StringRef Prefix = "_Z"); void mangleCallOffset(int64_t NonVirtual, int64_t Virtual); @@ -2537,7 +2537,7 @@ void CXXNameMangler::addSubstitution(uintptr_t Ptr) { /// emit the identifier of the declaration (\c D->getIdentifier()) as its /// name. void ItaniumMangleContext::mangleName(const NamedDecl *D, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { assert((isa(D) || isa(D)) && "Invalid mangleName() call, argument is not a variable or function!"); assert(!isa(D) && !isa(D) && @@ -2553,14 +2553,14 @@ void ItaniumMangleContext::mangleName(const NamedDecl *D, void ItaniumMangleContext::mangleCXXCtor(const CXXConstructorDecl *D, CXXCtorType Type, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { CXXNameMangler Mangler(*this, Out, D, Type); Mangler.mangle(D); } void ItaniumMangleContext::mangleCXXDtor(const CXXDestructorDecl *D, CXXDtorType Type, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { CXXNameMangler Mangler(*this, Out, D, Type); Mangler.mangle(D); } diff --git a/lib/AST/Mangle.cpp b/lib/AST/Mangle.cpp index 51d4be340f..a84c2a6f6a 100644 --- a/lib/AST/Mangle.cpp +++ b/lib/AST/Mangle.cpp @@ -39,7 +39,7 @@ namespace { static void mangleFunctionBlock(MangleContext &Context, llvm::StringRef Outer, const BlockDecl *BD, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { Out << "__" << Outer << "_block_invoke_" << Context.getBlockId(BD, true); } @@ -55,13 +55,13 @@ static void checkMangleDC(const DeclContext *DC, const BlockDecl *BD) { } void MangleContext::mangleGlobalBlock(const BlockDecl *BD, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { Out << "__block_global_" << getBlockId(BD, false); } void MangleContext::mangleCtorBlock(const CXXConstructorDecl *CD, CXXCtorType CT, const BlockDecl *BD, - llvm::raw_svector_ostream &ResStream) { + llvm::raw_ostream &ResStream) { checkMangleDC(CD, BD); llvm::SmallString<64> Buffer; llvm::raw_svector_ostream Out(Buffer); @@ -72,7 +72,7 @@ void MangleContext::mangleCtorBlock(const CXXConstructorDecl *CD, void MangleContext::mangleDtorBlock(const CXXDestructorDecl *DD, CXXDtorType DT, const BlockDecl *BD, - llvm::raw_svector_ostream &ResStream) { + llvm::raw_ostream &ResStream) { checkMangleDC(DD, BD); llvm::SmallString<64> Buffer; llvm::raw_svector_ostream Out(Buffer); @@ -82,7 +82,7 @@ void MangleContext::mangleDtorBlock(const CXXDestructorDecl *DD, } void MangleContext::mangleBlock(const DeclContext *DC, const BlockDecl *BD, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { assert(!isa(DC) && !isa(DC)); checkMangleDC(DC, BD); @@ -124,7 +124,7 @@ void MangleContext::mangleObjCMethodName(const ObjCMethodDecl *MD, } void MangleContext::mangleBlock(const BlockDecl *BD, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { const DeclContext *DC = BD->getDeclContext(); while (isa(DC) || isa(DC)) DC = DC->getParent(); diff --git a/lib/AST/MicrosoftMangle.cpp b/lib/AST/MicrosoftMangle.cpp index a2300eef23..7f477e5a2f 100644 --- a/lib/AST/MicrosoftMangle.cpp +++ b/lib/AST/MicrosoftMangle.cpp @@ -29,12 +29,12 @@ namespace { /// Microsoft Visual C++ ABI. class MicrosoftCXXNameMangler { MangleContext &Context; - llvm::raw_svector_ostream &Out; + llvm::raw_ostream &Out; ASTContext &getASTContext() const { return Context.getASTContext(); } public: - MicrosoftCXXNameMangler(MangleContext &C, llvm::raw_svector_ostream &Out_) + MicrosoftCXXNameMangler(MangleContext &C, llvm::raw_ostream &Out_) : Context(C), Out(Out_) { } void mangle(const NamedDecl *D, llvm::StringRef Prefix = "?"); @@ -80,7 +80,7 @@ public: MicrosoftMangleContext(ASTContext &Context, Diagnostic &Diags) : MangleContext(Context, Diags) { } virtual bool shouldMangleDeclName(const NamedDecl *D); - virtual void mangleName(const NamedDecl *D, llvm::raw_svector_ostream &Out); + virtual void mangleName(const NamedDecl *D, llvm::raw_ostream &Out); virtual void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk, llvm::SmallVectorImpl &); @@ -97,9 +97,9 @@ public: virtual void mangleCXXRTTI(QualType T, llvm::SmallVectorImpl &); virtual void mangleCXXRTTIName(QualType T, llvm::SmallVectorImpl &); virtual void mangleCXXCtor(const CXXConstructorDecl *D, CXXCtorType Type, - llvm::raw_svector_ostream &); + llvm::raw_ostream &); virtual void mangleCXXDtor(const CXXDestructorDecl *D, CXXDtorType Type, - llvm::raw_svector_ostream &); + llvm::raw_ostream &); virtual void mangleReferenceTemporary(const clang::VarDecl *, llvm::SmallVectorImpl &); }; @@ -1122,7 +1122,7 @@ void MicrosoftCXXNameMangler::mangleType(const DecltypeType *T) { } void MicrosoftMangleContext::mangleName(const NamedDecl *D, - llvm::raw_svector_ostream &Out) { + llvm::raw_ostream &Out) { assert((isa(D) || isa(D)) && "Invalid mangleName() call, argument is not a variable or function!"); assert(!isa(D) && !isa(D) && @@ -1170,12 +1170,12 @@ void MicrosoftMangleContext::mangleCXXRTTIName(QualType T, } void MicrosoftMangleContext::mangleCXXCtor(const CXXConstructorDecl *D, CXXCtorType Type, - llvm::raw_svector_ostream &) { + llvm::raw_ostream &) { assert(false && "Can't yet mangle constructors!"); } void MicrosoftMangleContext::mangleCXXDtor(const CXXDestructorDecl *D, CXXDtorType Type, - llvm::raw_svector_ostream &) { + llvm::raw_ostream &) { assert(false && "Can't yet mangle destructors!"); } void MicrosoftMangleContext::mangleReferenceTemporary(const clang::VarDecl *,