# Copyright 2012-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 . # This file is part of the gdb testsuite. It contains test to ensure that # array bounds accept LONGEST. require allow_fortran_tests set testfile "array-bounds" standard_testfile .f90 load_lib fortran.exp if {[prepare_for_testing $testfile.exp $testfile $srcfile {f90 debug}]} { return -1 } if {![fortran_runto_main]} { perror "Could not run to main." return } # GCC outputs incorrect range debug info for -m32, gcc PR debug/54934. set expect_xfail \ [expr \ [test_compiler_info {gfortran-*} f90] \ && [is_ilp32_target]] set re_ok [string_to_regexp (4294967296:4294967297)] set re_xfail [string_to_regexp (0:1)] gdb_test_multiple "print &foo" "" { -re -wrap $re_ok.* { pass $gdb_test_name } -re -wrap $re_xfail.* { if { $expect_xfail } { xfail $gdb_test_name } else { fail $gdb_test_name } } } set re_ok [string_to_regexp (-4294967297:-4294967296)] set re_xfail [string_to_regexp (-1:0)] gdb_test_multiple "print &bar" "" { -re -wrap $re_ok.* { pass $gdb_test_name } -re -wrap $re_xfail.* { if { $expect_xfail } { xfail $gdb_test_name } else { fail $gdb_test_name } } }