| # Copyright 2007-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/>. |
| |
| standard_testfile .f90 |
| load_lib fortran.exp |
| |
| if {[skip_fortran_tests]} { return -1 } |
| |
| if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug f90 quiet}]} { |
| return -1 |
| } |
| |
| if ![fortran_runto_main] then { |
| perror "Couldn't run to main" |
| continue |
| } |
| |
| # Depending on the compiler being used, the type names can be printed differently. |
| set complex4 [fortran_complex4] |
| set complex8 [fortran_complex8] |
| set complex16 [fortran_complex16] |
| |
| gdb_breakpoint [gdb_get_line_number "stop"] |
| gdb_continue_to_breakpoint "continue" |
| |
| gdb_test "print c" " = \\(1000,-50\\)" |
| gdb_test "print c4" " = \\(1000,-50\\)" |
| gdb_test "print c8" " = \\(321,-22\\)" |
| gdb_test "print dc" " = \\(321,-22\\)" |
| |
| gdb_test "print c16" " = \\(-874,19\\)" |
| |
| gdb_test "whatis c" "type = $complex4" |
| gdb_test "print \$_creal (c)" " = 1000" |
| with_test_prefix "c" { |
| gdb_test "whatis \$" " = real" |
| } |
| |
| gdb_test "whatis c4" "type = $complex4" |
| gdb_test "print \$_creal (c4)" " = 1000" |
| with_test_prefix "c4" { |
| gdb_test "whatis \$" " = real" |
| } |
| gdb_test "whatis c8" "type = $complex8" |
| gdb_test "print \$_creal (c8)" " = 321" |
| with_test_prefix "c8" { |
| gdb_test "whatis \$" " = real\\*8" |
| } |
| gdb_test "whatis dc" "type = $complex8" |
| gdb_test "print \$_creal (dc)" " = 321" |
| with_test_prefix "dc" { |
| gdb_test "whatis \$" " = real\\*8" |
| } |
| |
| gdb_test "whatis c16" "type = $complex16" |
| gdb_test "print \$_creal (c16)" " = -874" |
| with_test_prefix "c16" { |
| gdb_test "whatis \$" " = real\\*16" |
| } |
| |