[svn r276] Fixed debug info for 'this' arg seemed to be broken.

This commit is contained in:
Tomas Lindquist Olsen
2008-06-12 19:59:19 +02:00
parent b1e2b66695
commit 9a28d083f8
4 changed files with 50 additions and 1260 deletions

View File

@@ -588,7 +588,7 @@ void DtoDefineFunc(FuncDeclaration* fd)
}
// give 'this' argument debug info (and storage)
if (f->llvmUsesThis && global.params.symdebug)
if (fd->needThis() && global.params.symdebug)
{
LLValue** thisvar = &fd->ir.irFunc->thisVar;
assert(*thisvar);
@@ -608,7 +608,7 @@ void DtoDefineFunc(FuncDeclaration* fd)
VarDeclaration* vd = argsym->isVarDeclaration();
assert(vd);
// FIXME: llvm seems to want an alloca for debug info
// FIXME: llvm seems to want an alloca/byval for debug info
if (!vd->needsStorage || vd->nestedref || vd->isRef() || vd->isOut())
continue;
// debug info for normal aggr params seem to work fine

View File

@@ -2196,8 +2196,12 @@ DValue* HaltExp::toElem(IRState* p)
Logger::print("HaltExp::toElem: %s | %s\n", toChars(), type->toChars());
LOG_SCOPE;
#if 0
DtoAssert(&loc, NULL);
#else
// call the new (?) trap intrinsic
p->ir->CreateCall(GET_INTRINSIC_DECL(trap),"");
#endif
new llvm::UnreachableInst(p->scopebb());
return 0;