summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-12-13 23:47:29 +0000
committerAnders Carlsson <andersca@mac.com>2009-12-13 23:47:29 +0000
commitc67974ccb1e6988d6c59084fe1c8974f536c4904 (patch)
tree0419ad3875d2cc978ffd85c4acb700d4193144d0 /clang
parent1aa450a07872ef9fdf45f21d181db421677613b2 (diff)
downloadbcm5719-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.cpp17
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.
OpenPOWER on IntegriCloud