diff options
| author | Patrick Walton <[email protected]> | 2010-08-26 17:48:27 -0700 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2010-08-26 17:48:52 -0700 |
| commit | 07095a3ef9c3c975b6b43a34cb7326299545126f (patch) | |
| tree | e73500ffe3f5d2122749147700e0a8fcc6a1f1aa | |
| parent | Make vreg constrs per-quad, regfence on nontrivial constrs, back out workarou... (diff) | |
| download | rust-07095a3ef9c3c975b6b43a34cb7326299545126f.tar.xz rust-07095a3ef9c3c975b6b43a34cb7326299545126f.zip | |
Encode tag names in the DWARF
| -rw-r--r-- | src/boot/me/dwarf.ml | 9 |
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 (); |