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
|
@ -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>
|
||||
Pierre Muller <muller@ics.u-strasbg.fr>
|
||||
|
||||
|
@ -127,8 +132,8 @@
|
|||
|
||||
* python/python-internal.h: Include symtab.h.
|
||||
|
||||
2010-03-09 Joel Brobecker <brobecker@adacore.com>
|
||||
Pierre Muller <muller@ics.u-strasbg.fr>
|
||||
2010-03-09 Joel Brobecker <brobecker@adacore.com>
|
||||
Pierre Muller <muller@ics.u-strasbg.fr>
|
||||
|
||||
* p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
|
||||
* 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
|
||||
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. */
|
||||
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue