# Copyright (C) 2021-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 tests for fortran # namelist. require allow_fortran_tests standard_testfile .f90 load_lib "fortran.exp" if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90}]} { return -1 } if {![fortran_runto_main]} { return } # Depending on the compiler being used, the type names can be printed # differently. set int [fortran_int4] gdb_breakpoint [gdb_get_line_number "Display namelist"] gdb_continue_to_breakpoint "Display namelist" # DW_TAG_namelist is supported starting gcc 4.9. set supported [expr \ [test_compiler_info {gfortran-*} f90] \ && [gcc_major_version {gfortran-*} f90] >= 4.9] if { $supported } { gdb_test "ptype nml" \ "type = Type nml\r\n *$int :: a\r\n *$int :: b\r\n *End Type nml" gdb_test "print nml" \ "\\$\[0-9\]+ = \\( a = 10, b = 20 \\)" } else { gdb_test "ptype nml" \ "No symbol \"nml\" in current context\\." gdb_test "print nml" \ "No symbol \"nml\" in current context\\." }