Fixed file name in imported mixins containing assertions.

This commit is contained in:
Tomas Lindquist Olsen 2009-04-29 18:39:59 +02:00
parent b6a6391116
commit 617861ead4
5 changed files with 15 additions and 8 deletions

View file

@ -128,9 +128,16 @@ void DtoAssert(Module* M, Loc loc, DValue* msg)
// file param
// we might be generating for an imported template function
IrModule* irmod = getIrModule(M);
args.push_back(DtoLoad(irmod->fileName));
const char* cur_file = M->srcfile->name->toChars();
if (loc.filename && strcmp(loc.filename, cur_file) != 0)
{
args.push_back(DtoConstString(loc.filename));
}
else
{
IrModule* irmod = getIrModule(M);
args.push_back(DtoLoad(irmod->fileName));
}
// line param
LLConstant* c = DtoConstUint(loc.linnum);
@ -794,7 +801,7 @@ void DtoConstInitGlobal(VarDeclaration* vd)
if (vd->ir.initialized) return;
vd->ir.initialized = gIR->dmodule;
Logger::println("DtoConstInitGlobal(%s) @ %s", vd->toChars(), vd->locToChars());
Logger::println("DtoConstInitGlobal(%s) @ %s", vd->toChars(), vd->loc.toChars());
LOG_SCOPE;
Dsymbol* par = vd->toParent();