mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Fix two bugs in the CppWriter.cpp:
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
This commit is contained in:
parent
d9169d3cbe
commit
74e032a4d4
@ -1120,6 +1120,13 @@ CppWriter::printTypeDefInternal(const Type* Ty) {
|
|||||||
assert(!"Invalid TypeID");
|
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
|
// Pop us off the type stack
|
||||||
TypeStack.pop_back();
|
TypeStack.pop_back();
|
||||||
|
|
||||||
@ -1989,6 +1996,7 @@ void WriteModuleToCppFile(Module* mod, std::ostream& o) {
|
|||||||
SlotMachine SlotTable(mod);
|
SlotMachine SlotTable(mod);
|
||||||
CppWriter W(o, SlotTable, mod);
|
CppWriter W(o, SlotTable, mod);
|
||||||
W.write(mod);
|
W.write(mod);
|
||||||
|
o << "return mod;\n";
|
||||||
o << "}\n";
|
o << "}\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,11 +13,16 @@ USEDLIBS = LLVMAsmParser LLVMBCWriter LLVMCore \
|
|||||||
|
|
||||||
include $(LEVEL)/Makefile.common
|
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
|
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 \
|
-D__STDC_LIMIT_MACROS -L$(LibDir) $(LibDir)/LLVMCore.o -lLLVMSupport \
|
||||||
$(LibDir)/LLVMbzip2.o -lLLVMSystem -lstdc++ \
|
$(LibDir)/LLVMbzip2.o -lLLVMSystem -lstdc++ -Wno-unused \
|
||||||
$*.cpp -o $*
|
$*.cpp -o $*
|
||||||
|
|
||||||
|
#$(CPPFILESTOTRY): $(ToolDir)/llvm2cpp
|
||||||
|
Loading…
Reference in New Issue
Block a user