Fix two bugs in the CppWriter.cpp:
authorReid Spencer <rspencer@reidspencer.com>
Mon, 29 May 2006 02:58:15 +0000 (02:58 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Mon, 29 May 2006 02:58:15 +0000 (02:58 +0000)
1. Return the module from the MakeModule function so it can be verified.
2. Make sure types get generated with their names

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28536 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvm2cpp/CppWriter.cpp
tools/llvm2cpp/Makefile

index 54a28e9f83314614f4e7d333959ca8e034d738da..0f28e30e16a1118e0f39ba49962544b199a1978c 100644 (file)
@@ -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";
 }
 
index 44a5b6fc41744c82727cafc859311fc4e17a4402..e1511db8bd7365f1fcdd24d3653ed40c7a5cf2cf 100644 (file)
@@ -13,11 +13,16 @@ USEDLIBS = LLVMAsmParser LLVMBCWriter LLVMCore \
 
 include $(LEVEL)/Makefile.common
 
-tryit: all-local recurty.cpp globalvars.cpp
+CPPFILESTOTRY = recurty.cpp globalvars.cpp
+tryit: all-local $(CPPFILESTOTRY)
 
-%.cpp : %.ll
+%.cpp : %.ll $(ToolDir)/llvm2cpp
        llvm2cpp $*.ll -f -o $*.cpp
-       gcc -I$(LLVM_SRC_ROOT)/include -I$(LLVM_OBJ_ROOT)/include -g \
+
+% : %.cpp Makefile
+       gcc -Wall -I$(LLVM_SRC_ROOT)/include -I$(LLVM_OBJ_ROOT)/include -g \
        -D__STDC_LIMIT_MACROS -L$(LibDir) $(LibDir)/LLVMCore.o -lLLVMSupport \
-       $(LibDir)/LLVMbzip2.o -lLLVMSystem -lstdc++ \
+       $(LibDir)/LLVMbzip2.o -lLLVMSystem -lstdc++ -Wno-unused \
        $*.cpp -o $*
+
+#$(CPPFILESTOTRY): $(ToolDir)/llvm2cpp