| # Copyright 2019-2021 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/>. |
| |
| # This file tests 'info types' for some Fortran types. |
| |
| load_lib "fortran.exp" |
| load_lib "sym-info-cmds.exp" |
| |
| if { [skip_fortran_tests] } { continue } |
| |
| standard_testfile info-types.f90 info-types-2.f90 |
| |
| if { [prepare_for_testing "failed to prepare" $testfile \ |
| [list $srcfile2 $srcfile] {debug f90}] } { |
| return -1 |
| } |
| |
| if { ![fortran_runto_main] } { |
| perror "Could not run to main." |
| continue |
| } |
| |
| set integer4 [fortran_int4] |
| set integer8 [fortran_int8] |
| set logical4 [fortran_logical4] |
| set character1 [fortran_character1] |
| set real4 [fortran_real4] |
| |
| GDBInfoSymbols::run_command "info types" |
| GDBInfoSymbols::check_header "All defined types:" |
| |
| GDBInfoSymbols::check_entry "${srcfile}" "" "${character1}" |
| GDBInfoSymbols::check_entry "${srcfile}" "" "${integer4}" |
| GDBInfoSymbols::check_entry "${srcfile}" "" "${logical4}" |
| GDBInfoSymbols::check_entry "${srcfile}" "$decimal" "Type m1t1;" |
| GDBInfoSymbols::check_entry "${srcfile}" "" "${real4}" |
| GDBInfoSymbols::check_entry "${srcfile}" "37" "Type s1;" |
| |
| return 0 |
| |
| gdb_test "info types" \ |
| [multi_line \ |
| "All defined types:" \ |
| "" \ |
| "File .*:" \ |
| "\[\t \]+${character1}" \ |
| "\[\t \]+${integer4}" \ |
| "(\[\t \]+${integer8}" \ |
| ")?\[\t \]+${logical4}" \ |
| "(35:\[\t \]+Type __vtype_mod1_M1t1;" \ |
| ")?$decimal:\[\t \]+Type m1t1;" \ |
| "\[\t \]+${real4}" \ |
| "37:\[\t \]+Type s1;(" \ |
| ".*)?"] |