diff options
author | Anders Carlsson <andersca@mac.com> | 2009-12-13 23:47:29 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-12-13 23:47:29 +0000 |
commit | c67974ccb1e6988d6c59084fe1c8974f536c4904 (patch) | |
tree | 0419ad3875d2cc978ffd85c4acb700d4193144d0 /clang | |
parent | 1aa450a07872ef9fdf45f21d181db421677613b2 (diff) | |
download | bcm5719-llvm-c67974ccb1e6988d6c59084fe1c8974f536c4904.tar.gz bcm5719-llvm-c67974ccb1e6988d6c59084fe1c8974f536c4904.zip |
Simplify BuildSimpleType in the RTTBuilder to avoid using an std::vector.
llvm-svn: 91255
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/CodeGen/CGRTTI.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/clang/lib/CodeGen/CGRTTI.cpp b/clang/lib/CodeGen/CGRTTI.cpp index 728d247f6b0..02de00e3d7d 100644 --- a/clang/lib/CodeGen/CGRTTI.cpp +++ b/clang/lib/CodeGen/CGRTTI.cpp @@ -375,11 +375,6 @@ public: } llvm::Constant *BuildSimpleType(QualType Ty, const char *vtbl) { - std::vector<llvm::Constant *> info; - assert(info.empty() && "Info vector must be empty!"); - - llvm::Constant *C; - llvm::SmallString<256> OutName; CGM.getMangleContext().mangleCXXRTTI(Ty, OutName); llvm::StringRef Name = OutName.str(); @@ -392,13 +387,13 @@ public: bool Extern = DecideExtern(Ty); bool Hidden = DecideHidden(Ty); - C = BuildVtableRef(vtbl); - info.push_back(C); - info.push_back(BuildName(Ty, Hidden, Extern)); - + llvm::Constant *Info[] = { + BuildVtableRef(vtbl), BuildName(Ty, Hidden, Extern) + }; + // 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(&Info[0], llvm::array_lengthof(Info), GV, Name, + /*Hidden=*/true, GetLinkageFromExternFlag(Extern)); } /// BuildType - Builds the type info for the given type. |