[RFC] Stabs parsing regression from GDB 6.6 to GDB 6.6.90

Pedro Alves pedro_alves@portugalmail.pt
Tue Sep 25 23:58:00 GMT 2007


Hi,

Here is a new slightly updated patch, and a companion test case
patch, to add long long tests to whatis.exp.  I didn't add the
same tests to ptype.exp, as it has a comment about basic types tests
going into whatis.exp.

This is what one gets before the patch on native cygwin:

FAIL: gdb.base/whatis.exp: whatis using typedef type name

                 === gdb Summary ===

# of expected passes            73
# of unexpected failures        1

----

With the whatis.exp patch installed, one gets:

FAIL: gdb.base/whatis.exp: whatis unsigned long long
FAIL: gdb.base/whatis.exp: whatis unsigned long array
FAIL: gdb.base/whatis.exp: whatis unsigned long long pointer
FAIL: gdb.base/whatis.exp: whatis unsigned long long function
FAIL: gdb.base/whatis.exp: whatis using typedef type name

                 === gdb Summary ===

# of expected passes            77
# of unexpected failures        5

----

The read_huge_number fix then brings the failures back down:

FAIL: gdb.base/whatis.exp: whatis using typedef type name

                 === gdb Summary ===

# of expected passes            81
# of unexpected failures        1

----

Is this enough for now?
Are the patches OK for head/branch?

gdb/
2007-09-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* stabsread.c (read_huge_number): Fix handling of octal
	representation when the bit width is known.
	(read_range_type): Record unsigned integral types with their size,
	when the type size is known.

testsuite/
2007-09-26  Pedro Alves  <pedro_alves@portugalmail.pt>

	* gdb.base/whatis.c (v_long_long, v_signed_long_long)
	(v_unsigned_long_long, v_long_long_array)
	(v_signed_long_long_array, v_unsigned_long_long_array)
	(slong_long_addr, a_sslong_long_addr, v_long_long_pointer)
	(v_signed_long_long_pointer, v_unsigned_long_long_pointer): New.
	(t_struct, v_struct2, t_union, v_union2) [!NO_LONG_LONG]: Add
	v_long_long_member.

	(v_long_long_func, v_signed_long_long_func)
	(v_unsigned_long_long_func) [!NO_LONG_LONG]: New.
	(main) [!NO_LONG_LONG]: Initialize long long variants.

	* gdb.base/whatis.exp: If board file requests no_long_long, build
	test with NO_LONG_LONG defined.  Test long long, signed long long,
	and unsigned long long variants but only if board file doesn't
	disable it.



Cheers,
Pedro Alves
-------------- next part --------------
A non-text attachment was scrubbed...
Name: read_huge_number2.diff
Type: text/x-diff
Size: 5161 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20070925/85305d09/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: whatis_long_long.diff
Type: text/x-diff
Size: 8164 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20070925/85305d09/attachment-0001.bin>


More information about the Gdb-patches mailing list