Home | History | Annotate | Line # | Download | only in lib
fortran.exp revision 1.1.1.5
      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 
     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