projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use gdb::function_view in addrmap_foreach
[deliverable/binutils-gdb.git]
/
gdb
/
d-valprint.c
diff --git
a/gdb/d-valprint.c
b/gdb/d-valprint.c
index 6d58ecaa6222b3f5dd5fe8265e423c3218cfe331..9bd976c9998f6a1ec6c6b3bc968f38a63806f14b 100644
(file)
--- a/
gdb/d-valprint.c
+++ b/
gdb/d-valprint.c
@@
-1,6
+1,6
@@
/* Support for printing D values for GDB, the GNU debugger.
/* Support for printing D values for GDB, the GNU debugger.
- Copyright (C) 2008-20
19
Free Software Foundation, Inc.
+ Copyright (C) 2008-20
21
Free Software Foundation, Inc.
This file is part of GDB.
This file is part of GDB.
@@
-18,12
+18,10
@@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
-
-/* Local non-gdb includes. */
-#include "c-lang.h"
-#include "d-lang.h"
-#include "gdbcore.h"
#include "gdbtypes.h"
#include "gdbtypes.h"
+#include "gdbcore.h"
+#include "d-lang.h"
+#include "c-lang.h"
/* Assuming that TYPE is a TYPE_CODE_STRUCT, verify that TYPE is a
dynamic array, and then print its value to STREAM. Return zero if
/* Assuming that TYPE is a TYPE_CODE_STRUCT, verify that TYPE is a
dynamic array, and then print its value to STREAM. Return zero if
@@
-36,8
+34,8
@@
dynamic_array_type (struct type *type,
struct value *val,
const struct value_print_options *options)
{
struct value *val,
const struct value_print_options *options)
{
- if (
TYPE_NFIELDS (type
) == 2
- &&
TYPE_CODE (TYPE_FIELD_TYPE (type, 0)
) == TYPE_CODE_INT
+ if (
type->num_fields (
) == 2
+ &&
type->field (0).type ()->code (
) == TYPE_CODE_INT
&& strcmp (TYPE_FIELD_NAME (type, 0), "length") == 0
&& strcmp (TYPE_FIELD_NAME (type, 1), "ptr") == 0
&& !value_bits_any_optimized_out (val,
&& strcmp (TYPE_FIELD_NAME (type, 0), "length") == 0
&& strcmp (TYPE_FIELD_NAME (type, 1), "ptr") == 0
&& !value_bits_any_optimized_out (val,
@@
-54,7
+52,7
@@
dynamic_array_type (struct type *type,
length = unpack_field_as_long (type, valaddr + embedded_offset, 0);
length = unpack_field_as_long (type, valaddr + embedded_offset, 0);
- ptr_type =
TYPE_FIELD_TYPE (type, 1
);
+ ptr_type =
type->field (1).type (
);
elttype = check_typedef (TYPE_TARGET_TYPE (ptr_type));
addr = unpack_pointer (ptr_type,
valaddr + TYPE_FIELD_BITPOS (type, 1) / 8
elttype = check_typedef (TYPE_TARGET_TYPE (ptr_type));
addr = unpack_pointer (ptr_type,
valaddr + TYPE_FIELD_BITPOS (type, 1) / 8
@@
-65,34
+63,32
@@
dynamic_array_type (struct type *type,
ival = value_at (true_type, addr);
true_type = value_type (ival);
ival = value_at (true_type, addr);
true_type = value_type (ival);
- d_val_print (true_type,
- value_embedded_offset (ival), addr,
- stream, recurse + 1, ival, options);
+ d_value_print_inner (ival, stream, recurse + 1, options);
return 0;
}
return 1;
}
return 0;
}
return 1;
}
-/* Implements the la_val_print routine for language D. */
+/* See d-lang.h. */
+
void
void
-d_val_print (struct type *type, int embedded_offset,
- CORE_ADDR address, struct ui_file *stream, int recurse,
- struct value *val,
- const struct value_print_options *options)
+d_value_print_inner (struct value *val, struct ui_file *stream, int recurse,
+ const struct value_print_options *options)
{
int ret;
{
int ret;
-
type = check_typedef (type
);
- switch (
TYPE_CODE (type
))
+
struct type *type = check_typedef (value_type (val)
);
+ switch (
type->code (
))
{
case TYPE_CODE_STRUCT:
{
case TYPE_CODE_STRUCT:
- ret = dynamic_array_type (type, embedded_offset, address,
+ ret = dynamic_array_type (type, value_embedded_offset (val),
+ value_address (val),
stream, recurse, val, options);
if (ret == 0)
break;
/* Fall through. */
default:
stream, recurse, val, options);
if (ret == 0)
break;
/* Fall through. */
default:
- c_val
_print (type, embedded_offset, address, stream,
-
recurse, val, options)
;
+ c_val
ue_print_inner (val, stream, recurse, options);
+
break
;
}
}
}
}
This page took
0.028488 seconds
and
4
git commands to generate.