X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fd-valprint.c;h=5f4df329de9351b72d91adcf82285585d9df2af4;hb=b08b78e7d4bb56f395d3212eed6184ede236c760;hp=755f180dc51f35c21095ae39a23baa6748e00781;hpb=bcd629a44fff61527430f353cf77e20fe3afc395;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/d-valprint.c b/gdb/d-valprint.c index 755f180dc5..5f4df329de 100644 --- a/gdb/d-valprint.c +++ b/gdb/d-valprint.c @@ -1,6 +1,6 @@ /* Support for printing D values for GDB, the GNU debugger. - Copyright (C) 2008-2014 Free Software Foundation, Inc. + Copyright (C) 2008-2015 Free Software Foundation, Inc. This file is part of GDB. @@ -38,8 +38,9 @@ dynamic_array_type (struct type *type, const gdb_byte *valaddr, && TYPE_CODE (TYPE_FIELD_TYPE (type, 0)) == TYPE_CODE_INT && strcmp (TYPE_FIELD_NAME (type, 0), "length") == 0 && strcmp (TYPE_FIELD_NAME (type, 1), "ptr") == 0 - && value_bits_valid (val, TARGET_CHAR_BIT * embedded_offset, - TARGET_CHAR_BIT * TYPE_LENGTH (type))) + && !value_bits_any_optimized_out (val, + TARGET_CHAR_BIT * embedded_offset, + TARGET_CHAR_BIT * TYPE_LENGTH (type))) { CORE_ADDR addr; struct type *elttype; @@ -79,7 +80,7 @@ d_val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset, { int ret; - CHECK_TYPEDEF (type); + type = check_typedef (type); switch (TYPE_CODE (type)) { case TYPE_CODE_STRUCT: