Mercurial > projects > ldc
comparison gen/toobj.c @ 10:c0f2c47e5034 trunk
[svn r14] Forgot something stupid...y
author | lindquist |
---|---|
date | Mon, 01 Oct 2007 23:32:29 +0200 |
parents | dafae18f9c08 |
children | d3ee9efe20e2 |
comparison
equal
deleted
inserted
replaced
9:dafae18f9c08 | 10:c0f2c47e5034 |
---|---|
617 | 617 |
618 if (!gIR->queueClassMethods.empty() && gIR->queueClassMethods.back()) { | 618 if (!gIR->queueClassMethods.empty() && gIR->queueClassMethods.back()) { |
619 Logger::println("queueing %s", toChars()); | 619 Logger::println("queueing %s", toChars()); |
620 assert(!gIR->classmethods.empty()); | 620 assert(!gIR->classmethods.empty()); |
621 gIR->classmethods.back().push_back(this); | 621 gIR->classmethods.back().push_back(this); |
622 return; // will be generated later when the this parameter has a type | 622 return; // we wait with the definition as they might invoke a virtual method and the vtable is not yet complete |
623 } | 623 } |
624 | |
625 if (llvmNeedsDefinition) | |
626 { | |
627 | 624 |
628 TypeFunction* f = (TypeFunction*)type; | 625 TypeFunction* f = (TypeFunction*)type; |
629 llvm::FunctionType* functype = llvm::cast<llvm::FunctionType>(f->llvmType); | 626 llvm::FunctionType* functype = llvm::cast<llvm::FunctionType>(f->llvmType); |
630 | 627 |
631 // only members of the current module maybe be defined | 628 // only members of the current module maybe be defined |
712 new llvm::UnreachableInst(lastbb); | 709 new llvm::UnreachableInst(lastbb); |
713 } | 710 } |
714 } | 711 } |
715 } | 712 } |
716 | 713 |
717 } | |
718 | |
719 llvmDModule = gIR->dmodule; | 714 llvmDModule = gIR->dmodule; |
720 | 715 |
721 Logger::println("FuncDeclaration done\n"); | 716 Logger::println("FuncDeclaration done\n"); |
722 } | 717 } |