aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/CloneModule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Transforms/Utils/CloneModule.cpp')
-rw-r--r--lib/Transforms/Utils/CloneModule.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/Transforms/Utils/CloneModule.cpp b/lib/Transforms/Utils/CloneModule.cpp
index f8ee99b306..d98848aa7c 100644
--- a/lib/Transforms/Utils/CloneModule.cpp
+++ b/lib/Transforms/Utils/CloneModule.cpp
@@ -33,11 +33,11 @@ Module *llvm::CloneModule(const Module *M) {
// Copy all of the type symbol table entries over...
const SymbolTable &SymTab = M->getSymbolTable();
- SymbolTable::const_iterator TypeI = SymTab.find(Type::TypeTy);
- if (TypeI != SymTab.end())
- for (SymbolTable::VarMap::const_iterator I = TypeI->second.begin(),
- E = TypeI->second.end(); I != E; ++I)
- New->addTypeName(I->first, cast<Type>(I->second));
+ SymbolTable::type_const_iterator TypeI = SymTab.type_begin();
+ SymbolTable::type_const_iterator TypeE = SymTab.type_end();
+ for ( ; TypeI != TypeE; ++TypeI ) {
+ New->addTypeName(TypeI->first, TypeI->second);
+ }
// Create the value map that maps things from the old module over to the new
// module.
@@ -89,3 +89,5 @@ Module *llvm::CloneModule(const Module *M) {
return New;
}
+
+// vim: sw=2