This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[rfc][14/37] Eliminate builtin_type_ macros: Implicit dereferencing of references
- From: uweigand at de dot ibm dot com
- To: gdb-patches at sourceware dot org
- Date: Sun, 31 Aug 2008 19:50:59 +0200
- Subject: [rfc][14/37] Eliminate builtin_type_ macros: Implicit dereferencing of references
- References: <20080831175045.128504000@de.ibm.com>
Hello,
when implicitly dereferencing a reference, the valprint routines
manually construct a pointer type. This is superfluous, as the
unpack_pointer routine already handles references fine.
Bye,
Ulrich
ChangeLog:
* ada-valprint.c (ada_val_print_1): When implicitly dereferencing
a reference type, pass the reference type directly to unpack_pointer.
* c-valprint.c (c_val_print): Likewise.
* f-valprint.c (f_val_print): Likewise.
* m2-valprint.c (print_variable_at_address, m2_val_print): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
Index: gdb-head/gdb/ada-valprint.c
===================================================================
--- gdb-head.orig/gdb/ada-valprint.c
+++ gdb-head/gdb/ada-valprint.c
@@ -891,9 +891,7 @@ ada_val_print_1 (struct type *type, cons
if (TYPE_CODE (elttype) != TYPE_CODE_UNDEF)
{
- LONGEST deref_val_int = (LONGEST)
- unpack_pointer (lookup_pointer_type (builtin_type_void),
- valaddr);
+ LONGEST deref_val_int = (LONGEST) unpack_pointer (type, valaddr);
if (deref_val_int != 0)
{
struct value *deref_val =
Index: gdb-head/gdb/c-valprint.c
===================================================================
--- gdb-head.orig/gdb/c-valprint.c
+++ gdb-head/gdb/c-valprint.c
@@ -310,8 +310,7 @@ c_val_print (struct type *type, const gd
struct value *deref_val =
value_at
(TYPE_TARGET_TYPE (type),
- unpack_pointer (lookup_pointer_type (builtin_type_void),
- valaddr + embedded_offset));
+ unpack_pointer (type, valaddr + embedded_offset));
common_val_print (deref_val, stream, format, deref_ref,
recurse, pretty, current_language);
}
Index: gdb-head/gdb/f-valprint.c
===================================================================
--- gdb-head.orig/gdb/f-valprint.c
+++ gdb-head/gdb/f-valprint.c
@@ -444,8 +444,7 @@ f_val_print (struct type *type, const gd
struct value *deref_val =
value_at
(TYPE_TARGET_TYPE (type),
- unpack_pointer (lookup_pointer_type (builtin_type_void),
- valaddr + embedded_offset));
+ unpack_pointer (type, valaddr + embedded_offset));
common_val_print (deref_val, stream, format, deref_ref, recurse,
pretty, current_language);
}
Index: gdb-head/gdb/m2-valprint.c
===================================================================
--- gdb-head.orig/gdb/m2-valprint.c
+++ gdb-head/gdb/m2-valprint.c
@@ -258,10 +258,7 @@ print_variable_at_address (struct type *
if (TYPE_CODE (elttype) != TYPE_CODE_UNDEF)
{
struct value *deref_val =
- value_at
- (TYPE_TARGET_TYPE (type),
- unpack_pointer (lookup_pointer_type (builtin_type_void),
- valaddr));
+ value_at (TYPE_TARGET_TYPE (type), unpack_pointer (type, valaddr));
common_val_print (deref_val, stream, format, deref_ref,
recurse, pretty, current_language);
}
@@ -420,8 +417,7 @@ m2_val_print (struct type *type, const g
struct value *deref_val =
value_at
(TYPE_TARGET_TYPE (type),
- unpack_pointer (lookup_pointer_type (builtin_type_void),
- valaddr + embedded_offset));
+ unpack_pointer (type, valaddr + embedded_offset));
common_val_print (deref_val, stream, format, deref_ref,
recurse, pretty, current_language);
}
Index: gdb-head/gdb/p-valprint.c
===================================================================
--- gdb-head.orig/gdb/p-valprint.c
+++ gdb-head/gdb/p-valprint.c
@@ -267,8 +267,7 @@ pascal_val_print (struct type *type, con
struct value *deref_val =
value_at
(TYPE_TARGET_TYPE (type),
- unpack_pointer (lookup_pointer_type (builtin_type_void),
- valaddr + embedded_offset));
+ unpack_pointer (type, valaddr + embedded_offset));
common_val_print (deref_val, stream, format, deref_ref,
recurse + 1, pretty, current_language);
}
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com