xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/lib/fortran.exp (revision dd3ee07da436799d8de85f3055253118b76bf345)
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