1# This test code is part of GDB, the GNU debugger. 2 3# Copyright 2010-2019 Free Software Foundation, Inc. 4# 5# This program is free software; you can redistribute it and/or modify 6# it under the terms of the GNU General Public License as published by 7# the Free Software Foundation; either version 3 of the License, or 8# (at your option) any later version. 9# 10# This program is distributed in the hope that it will be useful, 11# but WITHOUT ANY WARRANTY; without even the implied warranty of 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13# GNU General Public License for more details. 14# 15# You should have received a copy of the GNU General Public License 16# along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18# Auxiliary function to set the language to fortran. 19# The result is 1 (true) for success, 0 (false) for failure. 20 21proc set_lang_fortran {} { 22 if [gdb_test_no_output "set language fortran"] { 23 return 0 24 } 25 if [gdb_test "show language" ".* source language is \"fortran\"." \ 26 "set language to \"fortran\""] { 27 return 0 28 } 29 return 1 30} 31 32proc fortran_int4 {} { 33 if {[test_compiler_info {gcc-4-[012]-*}]} { 34 return "int4" 35 } elseif {[test_compiler_info {gcc-*}]} { 36 return "integer\\(kind=4\\)" 37 } elseif {[test_compiler_info {icc-*}]} { 38 return "INTEGER\\(4\\)" 39 } else { 40 return "unknown" 41 } 42} 43 44proc fortran_real4 {} { 45 if {[test_compiler_info {gcc-4-[012]-*}]} { 46 return "real4" 47 } elseif {[test_compiler_info {gcc-*}]} { 48 return "real\\(kind=4\\)" 49 } elseif {[test_compiler_info {icc-*}]} { 50 return "REAL\\(4\\)" 51 } else { 52 return "unknown" 53 } 54} 55 56proc fortran_real8 {} { 57 if {[test_compiler_info {gcc-4-[012]-*}]} { 58 return "real8" 59 } elseif {[test_compiler_info {gcc-*}]} { 60 return "real\\(kind=8\\)" 61 } elseif {[test_compiler_info {icc-*}]} { 62 return "REAL\\(8\\)" 63 } else { 64 return "unknown" 65 } 66} 67 68proc fortran_complex4 {} { 69 if {[test_compiler_info {gcc-4-[012]-*}]} { 70 return "complex4" 71 } elseif {[test_compiler_info {gcc-*}]} { 72 return "complex\\(kind=4\\)" 73 } elseif {[test_compiler_info {icc-*}]} { 74 return "COMPLEX\\(4\\)" 75 } else { 76 return "unknown" 77 } 78} 79 80proc fortran_logical4 {} { 81 if {[test_compiler_info {gcc-4-[012]-*}]} { 82 return "logical4" 83 } elseif {[test_compiler_info {gcc-*}]} { 84 return "logical\\(kind=4\\)" 85 } elseif {[test_compiler_info {icc-*}]} { 86 return "LOGICAL\\(4\\)" 87 } else { 88 return "unknown" 89 } 90} 91