Mercurial > projects > ldc
comparison gen/statements.cpp @ 687:0a682c7805d2
Emit region.end debug calls before a throw.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 12 Oct 2008 15:30:58 +0200 |
parents | b411c41a9716 |
children | 43165a082535 |
comparison
equal
deleted
inserted
replaced
686:363bb6c0cc80 | 687:0a682c7805d2 |
---|---|
639 if (global.params.symdebug) | 639 if (global.params.symdebug) |
640 DtoDwarfStopPoint(loc.linnum); | 640 DtoDwarfStopPoint(loc.linnum); |
641 | 641 |
642 assert(exp); | 642 assert(exp); |
643 DValue* e = exp->toElem(p); | 643 DValue* e = exp->toElem(p); |
644 | |
645 if (global.params.symdebug) DtoDwarfFuncEnd(gIR->func()->decl); | |
646 | |
644 llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_throw_exception"); | 647 llvm::Function* fn = LLVM_D_GetRuntimeFunction(gIR->module, "_d_throw_exception"); |
645 //Logger::cout() << "calling: " << *fn << '\n'; | 648 //Logger::cout() << "calling: " << *fn << '\n'; |
646 LLValue* arg = DtoBitCast(e->getRVal(), fn->getFunctionType()->getParamType(0)); | 649 LLValue* arg = DtoBitCast(e->getRVal(), fn->getFunctionType()->getParamType(0)); |
647 //Logger::cout() << "arg: " << *arg << '\n'; | 650 //Logger::cout() << "arg: " << *arg << '\n'; |
648 gIR->CreateCallOrInvoke(fn, arg); | 651 gIR->CreateCallOrInvoke(fn, arg); |