]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.fortran/block-data.exp
Update copyright year range in header of all files managed by GDB
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.fortran / block-data.exp
1 # Copyright 2016-2024 Free Software Foundation, Inc.
2 #
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program. If not, see <http://www.gnu.org/licenses/>.
15
16 # Test anonymous block-data statements.
17
18 # A name for BLOCK DATA in Fortran is optional. BLOCK DATA is used
19 # for one-time initialization of non-pointer variables in named common
20 # blocks. GDB used to crash with 'Intel ifort'-generated code, which
21 # outputs nameless DW_TAG_module, unlike with gfortran which just
22 # doesn't emit DW_TAG_module in this case.
23
24 require allow_fortran_tests
25
26 standard_testfile .f
27 load_lib "fortran.exp"
28
29 if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug f90}]} {
30 return -1
31 }
32
33 if {![fortran_runto_main]} {
34 return -1
35 }
36
37 with_test_prefix "default values" {
38 gdb_test "print doub1" "= 1\.11\\d+"
39 gdb_test "print doub2" "= 2\.22\\d+"
40 gdb_test "print char1" "= 'abcdef'"
41 gdb_test "print char2" "= 'ghijkl'"
42 }
43
44 gdb_breakpoint [gdb_get_line_number "! BP_BEFORE_SUB"]
45 gdb_continue_to_breakpoint "! BP_BEFORE_SUB" ".*! BP_BEFORE_SUB.*"
46
47 with_test_prefix "before sub" {
48 gdb_test "print doub1" "= 11\.11\\d+"
49 gdb_test "print doub2" "= 22\.22\\d+"
50 gdb_test "print char1" "= 'ABCDEF'"
51 gdb_test "print char2" "= 'GHIJKL'"
52 }
53
54 gdb_breakpoint [gdb_get_line_number "! BP_SUB"]
55 gdb_continue_to_breakpoint "! BP_SUB" ".*! BP_SUB.*"
56
57 with_test_prefix "in sub" {
58 gdb_test "print doub1" "= 11\.11\\d+"
59 gdb_test "print doub2" "= 22\.22\\d+"
60 gdb_test "print char1" "= 'ABCDEF'"
61 gdb_test "print char2" "= 'GHIJKL'"
62 }