summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-21 09:06:22 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-21 09:06:22 +0000
commite128dd18ab472003fd9df2966de7b168892f91a8 (patch)
treeaff1a763afc6db2c01a69f8a6878e33041bb4cac /clang/lib/CodeGen/Mangle.h
parentef5d75afebbe3d45908e7bc8954dee6d8027fa0f (diff)
downloadbcm5719-llvm-e128dd18ab472003fd9df2966de7b168892f91a8.tar.gz
bcm5719-llvm-e128dd18ab472003fd9df2966de7b168892f91a8.zip
IRgen: Switch the C++ mangler interfaces to take the SmallVector to write into,
instead of requiring clients to make a raw_svector_ostream, which is just an implementation detail. llvm-svn: 89548
Diffstat (limited to 'clang/lib/CodeGen/Mangle.h')
-rw-r--r--clang/lib/CodeGen/Mangle.h27
1 files changed, 15 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/Mangle.h b/clang/lib/CodeGen/Mangle.h
index 8268aa2869d..0c237f810a4 100644
--- a/clang/lib/CodeGen/Mangle.h
+++ b/clang/lib/CodeGen/Mangle.h
@@ -23,7 +23,8 @@
#include "llvm/ADT/DenseMap.h"
namespace llvm {
-class raw_ostream;
+template<typename T>
+class SmallVectorImpl;
}
namespace clang {
@@ -57,22 +58,24 @@ public:
/// @name Mangler Entry Points
/// @{
- bool mangleName(const NamedDecl *D, llvm::raw_ostream &os);
+ bool mangleName(const NamedDecl *D, llvm::SmallVectorImpl<char> &);
void mangleThunk(const FunctionDecl *FD, int64_t n, int64_t vn,
- llvm::raw_ostream &os);
+ llvm::SmallVectorImpl<char> &);
void mangleCovariantThunk(const FunctionDecl *FD, int64_t nv_t, int64_t v_t,
- int64_t nv_r, int64_t v_r, llvm::raw_ostream &os);
- void mangleGuardVariable(const VarDecl *D, llvm::raw_ostream &os);
- void mangleCXXVtable(const CXXRecordDecl *RD, llvm::raw_ostream &os);
- void mangleCXXVTT(const CXXRecordDecl *RD, llvm::raw_ostream &os);
+ int64_t nv_r, int64_t v_r,
+ llvm::SmallVectorImpl<char> &);
+ void mangleGuardVariable(const VarDecl *D, llvm::SmallVectorImpl<char> &);
+ void mangleCXXVtable(const CXXRecordDecl *RD, llvm::SmallVectorImpl<char> &);
+ void mangleCXXVTT(const CXXRecordDecl *RD, llvm::SmallVectorImpl<char> &);
void mangleCXXCtorVtable(const CXXRecordDecl *RD, int64_t Offset,
- const CXXRecordDecl *Type, llvm::raw_ostream &os);
- void mangleCXXRtti(QualType T, llvm::raw_ostream &os);
- void mangleCXXRttiName(QualType T, llvm::raw_ostream &os);
+ const CXXRecordDecl *Type,
+ llvm::SmallVectorImpl<char> &);
+ void mangleCXXRtti(QualType T, llvm::SmallVectorImpl<char> &);
+ void mangleCXXRttiName(QualType T, llvm::SmallVectorImpl<char> &);
void mangleCXXCtor(const CXXConstructorDecl *D, CXXCtorType Type,
- llvm::raw_ostream &os);
+ llvm::SmallVectorImpl<char> &);
void mangleCXXDtor(const CXXDestructorDecl *D, CXXDtorType Type,
- llvm::raw_ostream &os);
+ llvm::SmallVectorImpl<char> &);
/// @}
};
OpenPOWER on IntegriCloud