diff gen/todebug.cpp @ 811:8e6135be6999

Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding. Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions. Added getNullValue helper method.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Mon, 01 Dec 2008 02:10:16 +0100
parents 340acf1535d0
children 01d9ece9982a
line wrap: on
line diff
--- a/gen/todebug.cpp	Sun Nov 30 20:41:17 2008 +0100
+++ b/gen/todebug.cpp	Mon Dec 01 02:10:16 2008 +0100
@@ -134,7 +134,10 @@
     vals[0] = DBG_TAG(DW_TAG_compile_unit);
     vals[1] = DBG_CAST(getDwarfAnchor(DW_TAG_compile_unit));
 
-    vals[2] = DtoConstUint(DW_LANG_C);// _D)); // doesn't seem to work
+    if (global.params.symdebug == 2)
+        vals[2] = DtoConstUint(DW_LANG_C);
+    else
+        vals[2] = DtoConstUint(DW_LANG_D);
     vals[3] = DtoConstStringPtr(FileName::name(m->srcfile->name->toChars()), "llvm.metadata");
     std::string srcpath(FileName::path(m->srcfile->name->toChars()));
     if (!FileName::absolute(srcpath.c_str())) {