diff options
author | Anders Carlsson <andersca@mac.com> | 2009-12-17 05:10:59 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-12-17 05:10:59 +0000 |
commit | 1fd734276dcd0d8bf75d3e7f2c902887690d77ac (patch) | |
tree | dd61764e20f1300d970832007c0017967b8cd7e9 /clang/lib/CodeGen/CGRTTI.cpp | |
parent | 1c00b6964fdbf11f8b5db6a9c4aa3fd18a1fb651 (diff) | |
download | bcm5719-llvm-1fd734276dcd0d8bf75d3e7f2c902887690d77ac.tar.gz bcm5719-llvm-1fd734276dcd0d8bf75d3e7f2c902887690d77ac.zip |
Simplify RTTIBuilder::finish.
llvm-svn: 91585
Diffstat (limited to 'clang/lib/CodeGen/CGRTTI.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGRTTI.cpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CGRTTI.cpp b/clang/lib/CodeGen/CGRTTI.cpp index d8c718c7c60..6471eaa824f 100644 --- a/clang/lib/CodeGen/CGRTTI.cpp +++ b/clang/lib/CodeGen/CGRTTI.cpp @@ -188,12 +188,12 @@ public: return true; } - llvm::Constant *finish(llvm::Constant *const *Values, unsigned NumValues, - llvm::GlobalVariable *GV, + llvm::Constant *finish(llvm::GlobalVariable *GV, llvm::StringRef Name, bool Hidden, llvm::GlobalVariable::LinkageTypes Linkage) { llvm::Constant *C = - llvm::ConstantStruct::get(VMContext, Values, NumValues, /*Packed=*/false); + llvm::ConstantStruct::get(VMContext, &Info[0], Info.size(), + /*Packed=*/false); llvm::GlobalVariable *OGV = GV; GV = new llvm::GlobalVariable(CGM.getModule(), C->getType(), true, Linkage, @@ -277,7 +277,7 @@ public: } } - return finish(&Info[0], Info.size(), GV, Name, Hidden, Linkage); + return finish(GV, Name, Hidden, Linkage); } /// - BuildFlags - Build a __flags value for __pbase_type_info. @@ -371,8 +371,7 @@ public: QualType(PtrMemTy->getClass(), 0))); // We always generate these as hidden, only the name isn't hidden. - return finish(&Info[0], Info.size(), GV, Name, /*Hidden=*/true, - GetLinkageFromExternFlag(Extern)); + return finish(GV, Name, /*Hidden=*/true, GetLinkageFromExternFlag(Extern)); } llvm::Constant *BuildSimpleType(QualType Ty, const char *vtbl) { @@ -388,13 +387,12 @@ public: bool Extern = DecideExtern(Ty); bool Hidden = DecideHidden(Ty); - llvm::Constant *Info[] = { - BuildVtableRef(vtbl), BuildName(Ty, Hidden, Extern) - }; + Info.push_back(BuildVtableRef(vtbl)); + Info.push_back(BuildName(Ty, Hidden, Extern)); // We always generate these as hidden, only the name isn't hidden. - return finish(&Info[0], llvm::array_lengthof(Info), GV, Name, - /*Hidden=*/true, GetLinkageFromExternFlag(Extern)); + return finish(GV, Name, /*Hidden=*/true, + GetLinkageFromExternFlag(Extern)); } /// BuildType - Builds the type info for the given type. |