Mercurial > projects > ldc
changeset 718:72ee105be27b
Make sure debug info has correct file name and path.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Wed, 22 Oct 2008 20:00:57 +0200 |
parents | a26b0c5d5942 |
children | 7261ff0f95ff |
files | gen/todebug.cpp |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/todebug.cpp Wed Oct 22 17:06:17 2008 +0200 +++ b/gen/todebug.cpp Wed Oct 22 20:00:57 2008 +0200 @@ -135,10 +135,13 @@ vals[1] = DBG_CAST(getDwarfAnchor(DW_TAG_compile_unit)); vals[2] = DtoConstUint(DW_LANG_C);// _D)); // doesn't seem to work - vals[3] = DtoConstStringPtr(m->srcfile->name->toChars(), "llvm.metadata"); + vals[3] = DtoConstStringPtr(FileName::name(m->srcfile->name->toChars()), "llvm.metadata"); std::string srcpath(FileName::path(m->srcfile->name->toChars())); - if (srcpath.empty()) - srcpath = llvm::sys::Path::GetCurrentDirectory().toString(); + if (!FileName::absolute(srcpath.c_str())) { + llvm::sys::Path tmp = llvm::sys::Path::GetCurrentDirectory(); + tmp.appendComponent(srcpath); + srcpath = tmp.toString(); + } vals[4] = DtoConstStringPtr(srcpath.c_str(), "llvm.metadata"); vals[5] = DtoConstStringPtr("LDC (http://www.dsource.org/projects/ldc)", "llvm.metadata");