# Copyright 2019-2024 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" load_lib gdb-python.exp require allow_ada_tests allow_python_tests standard_ada_testfile main if {[gdb_compile_ada "${srcfile}" "${binfile}" executable debug] != ""} { return -1 } clean_restart ${testfile} set bp_location [gdb_get_line_number "STOP" ${testdir}/main.adb] runto "main.adb:$bp_location" gdb_test_no_output "python v = gdb.parse_and_eval('v')" gdb_test "python print(v.dereference().type.code is gdb.TYPE_CODE_VOID)" \ "False" gdb_test "python print(v.type.strip_typedefs().target().code is gdb.TYPE_CODE_VOID)" \ "False" # This was a convenient spot to put a regression test. GNAT will # create a DW_TAG_unspecified_type in the main.adb CU, and if gdb # isn't careful, this will result in this 'whatis' yielding 'void'. gdb_test "whatis pkg.value_record" "type = pkg.value_record"