blob: a8e2c46dcf1aa081232dab8eda7a0d45c91a7dc4 [file] [log] [blame]
# 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 <http://www.gnu.org/licenses/>.
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"