# Copyright 2008-2022 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . load_lib "ada.exp" if { [skip_ada_tests] } { return -1 } standard_ada_testfile foo if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnat05 ]] != "" } { return -1 } clean_restart ${testfile} set bp_location [gdb_get_line_number "STOP" ${testdir}/foo.adb] runto "foo.adb:$bp_location" gdb_test "ptype circle" \ [multi_line "type = record" \ " pos: pck\\.position;" \ " radius: integer;" \ "end record" ] gdb_test "ptype circle.pos" \ [multi_line "type = record" \ " x: integer;" \ " y: integer;" \ "end record" ] gdb_test "ptype circle.pos.x" \ "type = <\[0-9\]+-byte integer>" gdb_test "complete print my_circ" "print my_circle" gdb_test "complete print my_circle.r" "print my_circle\\.radius" gdb_test "complete print my_circle.po" "print my_circle\\.pos" gdb_test "complete print my_circle . po" "print my_circle \\. pos" \ "complete with spaces" gdb_test "complete print my_circle." \ [multi_line \ "print my_circle\\.pos" \ "print my_circle\\.radius"] gdb_test "complete print (my_circle).r" "print \\(my_circle\\)\\.radius" gdb_test "complete print (my_circle).po" "print \\(my_circle\\)\\.pos" gdb_test "complete print (my_circle)." \ [multi_line \ "print \\(my_circle\\)\\.pos" \ "print \\(my_circle\\)\\.radius"] gdb_test "complete ptype pck.pos" "ptype pck\\.position" gdb_test "complete ptype pck.c" "ptype pck\\.circle" # We can't query the members of a package yet, and this yields a bit # too much output, so comment out for now instead of kfailing. # gdb_test "complete ptype pck." \ # [multi_line \ # "ptype pck\\.circle" \ # "ptype pck\\.position"] gdb_test "complete ptype circle.pos." \ [multi_line \ "ptype circle\\.pos\\.x" \ "ptype circle\\.pos\\.y"]