Adjust handling of Ada DIEs after dwarf2_physname patch.
* dwarf2read.c (dwarf2_compute_name): Add handling of Ada DIEs.
This commit is contained in:
parent
9982501a0d
commit
af6b7be16a
2 changed files with 23 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2010-03-09 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
|
Adjust handling of Ada DIEs after dwarf2_physname patch.
|
||||||
|
* dwarf2read.c (dwarf2_compute_name): Add handling of Ada DIEs.
|
||||||
|
|
||||||
2010-03-09 Christopher Faylor <me+cygwin@cgf.cx>
|
2010-03-09 Christopher Faylor <me+cygwin@cgf.cx>
|
||||||
Pierre Muller <muller@ics.u-strasbg.fr>
|
Pierre Muller <muller@ics.u-strasbg.fr>
|
||||||
|
|
||||||
|
@ -127,8 +132,8 @@
|
||||||
|
|
||||||
* python/python-internal.h: Include symtab.h.
|
* python/python-internal.h: Include symtab.h.
|
||||||
|
|
||||||
2010-03-09 Joel Brobecker <brobecker@adacore.com>
|
2010-03-09 Joel Brobecker <brobecker@adacore.com>
|
||||||
Pierre Muller <muller@ics.u-strasbg.fr>
|
Pierre Muller <muller@ics.u-strasbg.fr>
|
||||||
|
|
||||||
* p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
|
* p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
|
||||||
* p-valprint.c (pascal_val_print): Remove undeed block and fix
|
* p-valprint.c (pascal_val_print): Remove undeed block and fix
|
||||||
|
|
|
@ -3324,6 +3324,9 @@ die_needs_namespace (struct die_info *die, struct dwarf2_cu *cu)
|
||||||
compute the physname for the object, which include a method's
|
compute the physname for the object, which include a method's
|
||||||
formal parameters (C++/Java) and return type (Java).
|
formal parameters (C++/Java) and return type (Java).
|
||||||
|
|
||||||
|
For Ada, return the DIE's linkage name rather than the fully qualified
|
||||||
|
name. PHYSNAME is ignored..
|
||||||
|
|
||||||
The result is allocated on the objfile_obstack and canonicalized. */
|
The result is allocated on the objfile_obstack and canonicalized. */
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
|
@ -3396,6 +3399,19 @@ dwarf2_compute_name (char *name, struct die_info *die, struct dwarf2_cu *cu,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (cu->language == language_ada)
|
||||||
|
{
|
||||||
|
/* For Ada unit, we prefer the linkage name over the name, as
|
||||||
|
the former contains the exported name, which the user expects
|
||||||
|
to be able to reference. Ideally, we want the user to be able
|
||||||
|
to reference this entity using either natural or linkage name,
|
||||||
|
but we haven't started looking at this enhancement yet. */
|
||||||
|
struct attribute *attr;
|
||||||
|
|
||||||
|
attr = dwarf2_attr (die, DW_AT_MIPS_linkage_name, cu);
|
||||||
|
if (attr && DW_STRING (attr))
|
||||||
|
name = DW_STRING (attr);
|
||||||
|
}
|
||||||
|
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue