aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2010-08-26 17:48:27 -0700
committerPatrick Walton <[email protected]>2010-08-26 17:48:52 -0700
commit07095a3ef9c3c975b6b43a34cb7326299545126f (patch)
treee73500ffe3f5d2122749147700e0a8fcc6a1f1aa /src/boot
parentMake vreg constrs per-quad, regfence on nontrivial constrs, back out workarou... (diff)
downloadrust-07095a3ef9c3c975b6b43a34cb7326299545126f.tar.xz
rust-07095a3ef9c3c975b6b43a34cb7326299545126f.zip
Encode tag names in the DWARF
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/me/dwarf.ml9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/boot/me/dwarf.ml b/src/boot/me/dwarf.ml
index 552b41e4..5137ae12 100644
--- a/src/boot/me/dwarf.ml
+++ b/src/boot/me/dwarf.ml
@@ -1362,7 +1362,8 @@ let (abbrev_variant_part:abbrev) =
let (abbrev_variant:abbrev) =
(DW_TAG_variant, DW_CHILDREN_yes,
[|
- (DW_AT_discr_value, DW_FORM_udata)
+ (DW_AT_discr_value, DW_FORM_udata);
+ (DW_AT_name, DW_FORM_string)
|])
;;
@@ -1971,14 +1972,14 @@ let dwarf_visitor
|]
in
- let emit_variant i (*name*)_ ttup =
+ let emit_variant i name ttup =
(* FIXME: Possibly use a DW_TAG_enumeration_type here? *)
- (* Tag-names aren't getting encoded; I'm not sure if that's a
- * problem. Might be. *)
emit_die (SEQ [|
uleb (get_abbrev_code abbrev_variant);
(* DW_AT_discr_value: DW_FORM_udata *)
uleb i;
+ (* DW_AT_name: DW_FORM_string *)
+ ZSTRING (Ast.sprintf_name () name)
|]);
ignore (tup ttup);
emit_null_die ();