# Copyright 2013-2020 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 . if { [skip_fortran_tests] } { continue } standard_testfile type.f90 load_lib "fortran.exp" if { [prepare_for_testing "failed to prepare" ${testfile} \ ${srcfile} {debug f90}] } { return -1 } if ![fortran_runto_main] { fail "run to main" return } # Depending on the compiler being used, the type names can be printed differently. set int [fortran_int4] set real [fortran_real4] gdb_breakpoint [gdb_get_line_number "bp1"] gdb_continue_to_breakpoint "bp1" set t1_i "$int :: t1_i" set t1_r "$real :: t1_r" gdb_test "whatis t1" "type = Type t1" gdb_test "whatis t1v" "type = Type t1" gdb_test "whatis t2" "type = Type t2" gdb_test "whatis t2v" "type = Type t2" gdb_test "whatis t3" "type = Type t3" gdb_test "whatis t3v" "type = Type t3" gdb_test "whatis t3p" "type = PTR TO -> \\( Type t3 \\)" gdb_test "ptype t1" \ [multi_line "type = Type t1" \ " $t1_i" \ " $t1_r" \ "End Type t1"] gdb_test "ptype t1v" \ [multi_line "type = Type t1" \ " $t1_i" \ " $t1_r" \ "End Type t1"] gdb_test "ptype t2v" \ [multi_line "type = Type t2" \ " $int :: t2_i" \ " Type t1 :: t1_n" \ "End Type t2"] gdb_test "ptype t3v" \ [multi_line "type = Type t3" \ " $int :: t3_i" \ " Type t2 :: t2_n" \ "End Type t3"] gdb_test "ptype t3p" \ [multi_line "type = PTR TO -> \\( Type t3" \ " $int :: t3_i" \ " Type t2 :: t2_n" \ "End Type t3 \\)"]