From 1ef9941daf82126a8437a95c3adf0743424d176c Mon Sep 17 00:00:00 2001 From: Frits van Bommel Date: Wed, 15 Apr 2009 21:37:01 +0200 Subject: [PATCH] Name some types. --- gen/nested.cpp | 2 +- gen/tollvm.cpp | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gen/nested.cpp b/gen/nested.cpp index 61c6710f42..810d86526b 100644 --- a/gen/nested.cpp +++ b/gen/nested.cpp @@ -431,8 +431,8 @@ void DtoCreateNestedContext(FuncDeclaration* fd) { } } - // Append current frame type to frame type list const LLStructType* frameType = LLStructType::get(types); + gIR->module->addTypeName(std::string("nest.") + fd->toChars(), frameType); Logger::cout() << "frameType = " << *frameType << '\n'; diff --git a/gen/tollvm.cpp b/gen/tollvm.cpp index 80f64b742b..fd9dd5f9b4 100644 --- a/gen/tollvm.cpp +++ b/gen/tollvm.cpp @@ -100,13 +100,17 @@ const LLType* DtoType(Type* t) case Tarray: { t->irtype = new IrTypeArray(t); - return t->irtype->get(); + const LLType* arrty = t->irtype->get(); + gIR->module->addTypeName(t->toChars(), arrty); + return arrty; } case Tsarray: { t->irtype = new IrTypeSArray(t); - return t->irtype->get(); + const LLType* arrty = t->irtype->get(); + gIR->module->addTypeName(t->toChars(), arrty); + return arrty; } // aggregates @@ -232,7 +236,9 @@ const LLStructType* DtoDelegateType(Type* t) const LLType* i8ptr = getVoidPtrType(); const LLType* func = DtoFunctionType(t->nextOf(), NULL, Type::tvoid->pointerTo()); const LLType* funcptr = getPtrToType(func); - return LLStructType::get(i8ptr, funcptr, NULL); + const LLStructType* dgtype = LLStructType::get(i8ptr, funcptr, NULL); + gIR->module->addTypeName(t->toChars(), dgtype); + return dgtype; } //////////////////////////////////////////////////////////////////////////////////////////