OLD | NEW |
1 # Copyright 2010-2012 Free Software Foundation, Inc. | 1 # Copyright 2010-2012 Free Software Foundation, Inc. |
2 | 2 |
3 # This program is free software; you can redistribute it and/or modify | 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 | 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 | 5 # the Free Software Foundation; either version 3 of the License, or |
6 # (at your option) any later version. | 6 # (at your option) any later version. |
7 # | 7 # |
8 # This program is distributed in the hope that it will be useful, | 8 # This program is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
12 # | 12 # |
13 # You should have received a copy of the GNU General Public License | 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/>. | 14 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
15 load_lib dwarf.exp | 15 load_lib dwarf.exp |
16 | 16 |
17 # This test can only be run on targets which support DWARF-2 and use gas. | 17 # This test can only be run on targets which support DWARF-2 and use gas. |
18 if {![dwarf2_support]} { | 18 if {![dwarf2_support]} { |
19 return 0 | 19 return 0 |
20 } | 20 } |
21 | 21 |
22 set testfile "dw2-modula2-self-type" | 22 standard_testfile .S |
23 set srcfile ${testfile}.S | |
24 set executable ${testfile}.x | |
25 set binfile ${objdir}/${subdir}/${executable} | |
26 | 23 |
27 # First try referencing DW_AT_frame_base which is not defined. | 24 # First try referencing DW_AT_frame_base which is not defined. |
28 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "
" } { | 25 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {}] != "
" } { |
29 return -1 | 26 return -1 |
30 } | 27 } |
31 | 28 |
32 clean_restart $executable | 29 clean_restart $testfile |
33 | 30 |
34 # C language would just naively print: | 31 # C language would just naively print: |
35 # type = void (*)(void (*)(void (*)(void (*)(void (*)(... | 32 # type = void (*)(void (*)(void (*)(void (*)(void (*)(... |
36 # While modula-2 prints: | 33 # While modula-2 prints: |
37 # type = POINTER TO PROCEDURE | 34 # type = POINTER TO PROCEDURE |
38 gdb_test "set language modula-2" | 35 gdb_test "set language modula-2" |
39 | 36 |
40 # The first access (as we do not use -readnow) crashes GDB. | 37 # The first access (as we do not use -readnow) crashes GDB. |
41 gdb_test "ptype v" | 38 gdb_test "ptype v" |
42 | 39 |
43 gdb_test "p 1" " = 1" "alive" | 40 gdb_test "p 1" " = 1" "alive" |
OLD | NEW |