* gdb.base/ptype.c (highest): New struct type.

(the_highest): New variable of that type.
        (main): Add dummy assignment to a field of variable the_highest.
        * gdb.base/ptype.exp: Test type printing of our new variable.
This commit is contained in:
Joel Brobecker 2007-12-22 05:28:19 +00:00
parent cf88803ada
commit 919809b973
3 changed files with 35 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2007-12-22 Joel Brobecker <brobecker@adacore.com>
* gdb.base/ptype.c (highest): New struct type.
(the_highest): New variable of that type.
(main): Add dummy assignment to a field of variable the_highest.
* gdb.base/ptype.exp: Test type printing of our new variable.
2007-12-19 Pierre Muller <muller@ics-u-strasbg.fr>
* (gdb.base/watch_thread_num.exp): Add breakpoint at thread_function

View File

@ -198,6 +198,16 @@ struct outer_struct {
long outer_long;
} nested_su;
struct highest
{
int a;
struct
{
int b;
struct { int c; } anonymous_level_2;
} anonymous_level_1;
} the_highest;
/**** Enumerations *******/
enum
@ -352,6 +362,8 @@ int main ()
nested_su.outer_int = 0;
v_t_struct_p = 0;
the_highest.a = 0;
v_boolean = FALSE;
v_boolean2 = my_false;
return 0;

View File

@ -532,6 +532,22 @@ gdb_test "ptype nested_su.inner_struct_instance.inner_int" "type = int.*" "ptype
gdb_test "ptype nested_su.inner_union_instance" "type = union ${outer}inner_union \{.*\[\r\n\] int inner_union_int;.*\[\r\n\] (long|long int|int) inner_union_long;.*\[\r\n\]\}.*" "ptype nested union"
# Print the type description of variable the_highest, and verify that
# the type description for the fields whose type is anonymous are
# correctly printed (at nesting level 1 and 2).
gdb_test "ptype the_highest" \
"type = struct highest \{.*\[\r\n\] *int a;.*\[\r\n\] *struct \{.*\[\r\n\] *int b;.*\[\r\n\] *struct \{\.\.\.\} anonymous_level_2;.*\[\r\n\] *\} anonymous_level_1;.*\[\r\n\]}.*" \
"ptype the_highest"
# Print the type descrption for one of the fields of variable the_highest.
# The purpose is to verify that the type of a field that was printed above
# as "struct {...}" is now printed in a more descriptive way (because the
# nesting level is now one level less).
gdb_test "ptype the_highest.anonymous_level_1" \
"type = struct \{.*\[\r\n\] *int b;.*\[\r\n\] *struct \{.*\[\r\n\] *int c;.*\[\r\n\] *\} anonymous_level_2;.*\[\r\n\]}.*" \
"ptype the_highest"
get_debug_format