X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fhp-symtab-read.c;h=9898cfce7b6598eaa29dd8cade7eeddc296192ba;hb=ad53e288d3fccbd419d5ba1979f2e5075f414462;hp=397ea5cb09f2523a2d0094df0fe73eea1386c4be;hpb=b6ba6518e9254bc25f88088228e93ac966ebccd1;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/hp-symtab-read.c b/gdb/hp-symtab-read.c index 397ea5cb09..9898cfce7b 100644 --- a/gdb/hp-symtab-read.c +++ b/gdb/hp-symtab-read.c @@ -530,7 +530,7 @@ hpread_type_translate (dnttpointer typep) if (!typep.dntti.immediate) { error ("error in hpread_type_translate\n."); - return; + return FT_VOID; } switch (typep.dntti.type) @@ -1780,7 +1780,7 @@ hpread_read_struct_type (dnttpointer hp_type, union dnttentry *dn_bufp, /* Enums -- will be handled by other code that takes care of DNTT_TYPE_ENUM; here we see only DNTT_TYPE_MEMENUM so it's not clear we could have handled them here at all. */ - /* FUNC_TEMPLATE: is handled by other code (??). */ + /* FUNC_TEMPLATE: is handled by other code (?). */ /* MEMACCESS: modified access for inherited member. Not sure what to do with this, ignoriing it at present. */ @@ -1863,7 +1863,8 @@ hpread_read_struct_type (dnttpointer hp_type, union dnttentry *dn_bufp, { /* neither field nor genfield ?? is this possible?? */ /* pai:: FIXME walk to the next -- how? */ - warning ("Internal error: unexpected DNTT kind %d encountered as field of struct"); + warning ("Internal error: unexpected DNTT kind %d encountered as field of struct", + fieldp->dblock.kind); warning ("Skipping remaining fields of struct"); break; /* get out of loop of fields */ } @@ -2199,7 +2200,7 @@ hpread_read_array_type (dnttpointer hp_type, union dnttentry *dn_bufp, (!dn_bufp->darray.arrayisbytes && !dn_bufp->darray.elemisbytes))) { warning ("error in hpread_array_type.\n"); - return; + return NULL; } else if (dn_bufp->darray.arraylength == 0x7fffffff) { @@ -2302,14 +2303,17 @@ hpread_type_lookup (dnttpointer hp_type, struct objfile *objfile) /* First see if it's a simple builtin type. */ if (hp_type.dntti.immediate) - /* If this is a template argument, the argument number is - * encoded in the bitlength. All other cases, just return - * GDB's representation of this fundamental type. - */ - if (hp_type.dntti.type == HP_TYPE_TEMPLATE_ARG) - return hpread_get_nth_template_arg (objfile, hp_type.dntti.bitlength); - else - return lookup_fundamental_type (objfile, hpread_type_translate (hp_type)); + { + /* If this is a template argument, the argument number is + * encoded in the bitlength. All other cases, just return + * GDB's representation of this fundamental type. + */ + if (hp_type.dntti.type == HP_TYPE_TEMPLATE_ARG) + return hpread_get_nth_template_arg (objfile, hp_type.dntti.bitlength); + else + return lookup_fundamental_type (objfile, + hpread_type_translate (hp_type)); + } /* Not a builtin type. We'll have to read it in. */ if (hp_type.dnttp.index < LNTT_SYMCOUNT (objfile)) @@ -2425,7 +2429,7 @@ hpread_type_lookup (dnttpointer hp_type, struct objfile *objfile) else { complain (&hpread_type_lookup_complaint); - return; + return NULL; } if (dn_bufp->dblock.kind == DNTT_TYPE_STRUCT)