* while generating data code, cases of "collect p1->p2->data" where not covered if p2 is a 'typedefed' type. this simple fix should forward the type pointer to the real type. Index: ax-gdb.c =================================================================== RCS file: /emc/ucode/cvsroot_0/sgdb6/gdb/ax-gdb.c,v retrieving revision 1.2 diff -c -5 -p -r1.2 ax-gdb.c *** ax-gdb.c 2000/10/19 13:33:24 1.2 --- ax-gdb.c 2000/10/19 13:42:56 *************** gen_struct_ref (ax, value, field, operat *** 1428,1437 **** --- 1428,1442 ---- gen_usual_unary (ax, value); gen_deref (ax, value); } type = value->type; + /* if this is a typedef we are more interested at the target */ + while (TYPE_CODE (type) == TYPE_CODE_TYPEDEF + && TYPE_TARGET_TYPE (type) != NULL) + type = TYPE_TARGET_TYPE (type) ; + /* This must yield a structure or a union. */ if (TYPE_CODE (type) != TYPE_CODE_STRUCT && TYPE_CODE (type) != TYPE_CODE_UNION) error ("The left operand of `%s' is not a %s.", operator_name, operand_name);