1 # This test code is part of GDB, the GNU debugger. 2 3 # Copyright 2010-2017 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 21 proc 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 32 proc 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 44 proc 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 56 proc 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 68 proc 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 80 proc 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