From: Bernhard Heckel Date: Wed, 25 May 2016 06:47:18 +0000 (+0200) Subject: Fortran, testsuite: Add testcases for nested structures. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86d8a84882643db4d8c28cea8e4a358465cb11f5;p=binutils-gdb.git Fortran, testsuite: Add testcases for nested structures. As as result of printing only the outer elements of nested structures, some testcases have to be added to check for corner cases with VLA's. 2016-05-25 Bernhard Heckel gdb/testsuite/Changelog: * gdb.fortran/vla-type.exp: Access elements in nested structs. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index c8f6cebadd2..463f7231699 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-05-25 Bernhard Heckel + + * gdb.fortran/vla-type.exp: Access elements in nested structs. + 2016-05-25 Bernhard Heckel * gdb.fortran/type.f90: Add nested structures. diff --git a/gdb/testsuite/gdb.fortran/vla-type.exp b/gdb/testsuite/gdb.fortran/vla-type.exp index e1a5db1f0d0..6c547e2dec0 100755 --- a/gdb/testsuite/gdb.fortran/vla-type.exp +++ b/gdb/testsuite/gdb.fortran/vla-type.exp @@ -101,6 +101,10 @@ gdb_test "ptype fivev" \ [multi_line "type = Type five" \ "\\s+Type one :: tone" \ "End Type five" ] +gdb_test "ptype fivev%tone" \ + [multi_line "type = Type one" \ + " $int :: ivla\\(10,10,10\\)" \ + "End Type one" ] # Check array of types containing a VLA gdb_breakpoint [gdb_get_line_number "fivearr-filled"] @@ -114,10 +118,18 @@ gdb_test "ptype fivearr(1)" \ [multi_line "type = Type five" \ "\\s+Type one :: tone" \ "End Type five" ] +gdb_test "ptype fivearr(1)%tone" \ + [multi_line "type = Type one" \ + " $int :: ivla\\(2,4,6\\)" \ + "End Type one" ] gdb_test "ptype fivearr(2)" \ [multi_line "type = Type five" \ "\\s+Type one :: tone" \ "End Type five" ] +gdb_test "ptype fivearr(2)%tone" \ + [multi_line "type = Type one" \ + " $int :: ivla\\(12,14,16\\)" \ + "End Type one" ] # Check allocation status of dynamic array and it's dynamic members gdb_test "ptype fivedynarr" "type = " @@ -126,6 +138,11 @@ gdb_test "ptype fivedynarr(2)" \ [multi_line "type = Type five" \ "\\s+Type one :: tone" \ "End Type five" ] +gdb_test "ptype fivedynarr(2)%tone" \ + [multi_line "type = Type one" \ + " $int :: ivla\\(\\)" \ + "End Type one" ] \ + "ptype fivedynarr(2)%tone, not allocated" # Check dynamic array of types containing a VLA gdb_breakpoint [gdb_get_line_number "fivedynarr-filled"] @@ -139,7 +156,15 @@ gdb_test "ptype fivedynarr(1)" \ [multi_line "type = Type five" \ "\\s+Type one :: tone" \ "End Type five" ] +gdb_test "ptype fivedynarr(1)%tone" \ + [multi_line "type = Type one" \ + " $int :: ivla\\(2,4,6\\)" \ + "End Type one" ] gdb_test "ptype fivedynarr(2)" \ [multi_line "type = Type five" \ "\\s+Type one :: tone" \ "End Type five" ] +gdb_test "ptype fivedynarr(2)%tone" \ + [multi_line "type = Type one" \ + " $int :: ivla\\(12,14,16\\)" \ + "End Type one" ]