This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/gdb ChangeLog ada-lang.c ada-lang.h ada-ty ...


CVSROOT:	/cvs/src
Module name:	src
Changes by:	brobecke@sourceware.org	2010-12-29 08:01:32

Modified files:
	gdb            : ChangeLog ada-lang.c ada-lang.h ada-typeprint.c 
	                 ada-valprint.c 
	gdb/doc        : ChangeLog gdb.texinfo 
	gdb/testsuite  : ChangeLog 
	gdb/testsuite/gdb.ada: lang_switch.exp 

Log message:
	[Ada] do not print arrays as array pointers
	
	This patch enhances the debugger to distinguish between fat pointers
	that represent either: array types, or array access types.  In the latter
	case, the object/type is encoded as a typedef type pointing to the fat
	pointer.
	
	The first part of the change is to adjust ada_check_typedef to avoid
	stripping the typedef layer when it points to a fat pointer.  The rest
	of the patch is adjustments required in various places to deal with
	the fact that the type is uses might now be a typedef.
	
	gdb/ChangeLog:
	
	* ada-lang.h (ada_coerce_to_simple_array): Add declaration.
	* ada-lang.c (ada_typedef_target_type): New function.
	(desc_base_type): Add handling of fat pointer typedefs.
	(ada_coerce_to_simple_array): Make non-static.
	(decode_packed_array_bitsize): Add handling of fat pointer typedefs.
	Add assertion.
	(ada_template_to_fixed_record_type_1, ada_to_fixed_type)
	(ada_check_typedef): Add handling of fat pointer typedefs.
	(ada_evaluate_subexp) [OP_FUNCALL]: Likewise.
	* ada-typeprint.c (ada_print_type): Add handling of fat pointer
	typedefs.
	* ada-valprint.c (ada_val_print_1): Convert fat pointers that are not
	array accesses to simple arrays rather than simple array pointers.
	(ada_value_print): In the case of array descriptors, do not print
	the value type description unless it is an array access.
	
	gdb/testsuite/ChangeLog:
	
	* gdb.ada/lang_switch.exp: Correct expected parameter value.
	
	gdb/doc/ChangeLog:
	
	* gdb.texinfo (Ada Glitches): Remove paragraph describing the
	occasional case where the debugger prints an array address
	instead of the array itself.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.12412&r2=1.12413
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ada-lang.c.diff?cvsroot=src&r1=1.279&r2=1.280
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ada-lang.h.diff?cvsroot=src&r1=1.60&r2=1.61
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ada-typeprint.c.diff?cvsroot=src&r1=1.38&r2=1.39
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ada-valprint.c.diff?cvsroot=src&r1=1.67&r2=1.68
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/doc/ChangeLog.diff?cvsroot=src&r1=1.1130&r2=1.1131
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/doc/gdb.texinfo.diff?cvsroot=src&r1=1.781&r2=1.782
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.2533&r2=1.2534
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.ada/lang_switch.exp.diff?cvsroot=src&r1=1.5&r2=1.6


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]