Mercurial > projects > ldc
diff gen/toobj.cpp @ 1364:46f6365a50d7
Added IrTypeFunction and IrTypeDelegate and eliminated IrDType. This means the Type::ir field can be removed. It's the final part needed for the move to a slightly more sane type system. Now the whole thing just needs to be cleaned up :P
Added -v-cg switch, which right now just prints "codegen: module.name (module/name.d)" to stdout, this can really help figuring out where, in some complex build command, things go wrong.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 18:19:52 +0200 |
parents | 681dd955c53b |
children | d430a41fbb45 |
line wrap: on
line diff
--- a/gen/toobj.cpp Sat May 16 14:22:23 2009 +0200 +++ b/gen/toobj.cpp Sat May 16 18:19:52 2009 +0200 @@ -54,6 +54,7 @@ #include "ir/irvar.h" #include "ir/irmodule.h" +#include "ir/irtype.h" ////////////////////////////////////////////////////////////////////////////////////////// @@ -80,7 +81,8 @@ Logger::println("Generating module: %s\n", (md ? md->toChars() : toChars())); LOG_SCOPE; - //printf("codegen: %s\n", srcfile->toChars()); + if (global.params.verbose_cg) + printf("codegen: %s (%s)\n", toPrettyChars(), srcfile->toChars()); assert(!global.errors); @@ -609,9 +611,9 @@ } // moduleinfo llvm struct type - const llvm::StructType* moduleinfoTy = isaStruct(moduleinfo->type->ir.type->get()); + const llvm::StructType* moduleinfoTy = isaStruct(moduleinfo->type->irtype->getPA()); // classinfo llvm struct type - const llvm::StructType* classinfoTy = isaStruct(ClassDeclaration::classinfo->type->ir.type->get()); + const llvm::StructType* classinfoTy = isaStruct(ClassDeclaration::classinfo->type->irtype->getPA()); // initializer vector std::vector<LLConstant*> initVec;