# HG changeset patch # User Christian Kamm # Date 1224698457 -7200 # Node ID 72ee105be27b814488a3fb4e3777294691a315b9 # Parent a26b0c5d59426be88cef927a817d579e53b8bb04 Make sure debug info has correct file name and path. diff -r a26b0c5d5942 -r 72ee105be27b gen/todebug.cpp --- 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");