diff options
Diffstat (limited to 'tools/llvm2cpp/CppWriter.cpp')
-rw-r--r-- | tools/llvm2cpp/CppWriter.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/llvm2cpp/CppWriter.cpp b/tools/llvm2cpp/CppWriter.cpp index 54a28e9f83..0f28e30e16 100644 --- a/tools/llvm2cpp/CppWriter.cpp +++ b/tools/llvm2cpp/CppWriter.cpp @@ -1120,6 +1120,13 @@ CppWriter::printTypeDefInternal(const Type* Ty) { assert(!"Invalid TypeID"); } + // If the type had a name, make sure we recreate it. + const std::string* progTypeName = + findTypeName(TheModule->getSymbolTable(),Ty); + if (progTypeName) + Out << "mod->addTypeName(\"" << *progTypeName << "\", " + << typeName << ");\n"; + // Pop us off the type stack TypeStack.pop_back(); @@ -1989,6 +1996,7 @@ void WriteModuleToCppFile(Module* mod, std::ostream& o) { SlotMachine SlotTable(mod); CppWriter W(o, SlotTable, mod); W.write(mod); + o << "return mod;\n"; o << "}\n"; } |