2004-01-28 David Carlton <carlton@kealia.com>
* dwarf2read.c (add_partial_structure): Use demangled name if namespace equals "".
This commit is contained in:
parent
586196d51c
commit
5d51ca5457
2 changed files with 23 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-01-28 David Carlton <carlton@kealia.com>
|
||||
|
||||
* dwarf2read.c (add_partial_structure): Use demangled name if
|
||||
namespace equals "".
|
||||
|
||||
2004-01-27 Jim Blandy <jimb@redhat.com>
|
||||
|
||||
Clean up misapplied patch:
|
||||
|
|
|
@ -1661,12 +1661,12 @@ add_partial_structure (struct partial_die_info *struct_pdi, char *info_ptr,
|
|||
char *actual_class_name = NULL;
|
||||
|
||||
if (cu->language == language_cplus
|
||||
&& namespace == NULL
|
||||
&& (namespace == NULL || namespace[0] == '\0')
|
||||
&& struct_pdi->name != NULL
|
||||
&& struct_pdi->has_children)
|
||||
{
|
||||
/* We don't have namespace debugging information, so see if we
|
||||
can figure out if this structure lives in a namespace. Look
|
||||
/* See if we can figure out if the class lives in a namespace
|
||||
(or is nested within another class.) We do this by looking
|
||||
for a member function; its demangled name will contain
|
||||
namespace info, if there is any. */
|
||||
|
||||
|
@ -1676,6 +1676,21 @@ add_partial_structure (struct partial_die_info *struct_pdi, char *info_ptr,
|
|||
could fix this by only using the demangled name to get the
|
||||
prefix (but see comment in read_structure_scope). */
|
||||
|
||||
/* FIXME: carlton/2004-01-23: If NAMESPACE equals "", we have
|
||||
the appropriate debug information, so it would be nice to be
|
||||
able to avoid this hack. But NAMESPACE may not be the
|
||||
namespace where this class was defined: NAMESPACE reflects
|
||||
where STRUCT_PDI occurs in the tree of dies, but because of
|
||||
DW_AT_specification, that may not actually tell us where the
|
||||
class is defined. (See the comment in read_func_scope for an
|
||||
example of how this could occur.)
|
||||
|
||||
Unfortunately, our current partial symtab data structures are
|
||||
completely unable to deal with DW_AT_specification. So, for
|
||||
now, the best thing to do is to get nesting information from
|
||||
places other than the tree structure of dies if there's any
|
||||
chance that a DW_AT_specification is involved. :-( */
|
||||
|
||||
char *next_child = info_ptr;
|
||||
|
||||
while (1)
|
||||
|
|
Loading…
Reference in a new issue