
Switch the license of all .f and .f90 files to GPLv3. Switch the license of all .s and .S files to GPLv3.
86 lines
2.4 KiB
Text
86 lines
2.4 KiB
Text
# Copyright 2003, 2007 Free Software Foundation, Inc.
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# This file tests decoding of Objective-C symbols
|
|
|
|
# This file was written by Adam Fedor (fedor@gnu.org)
|
|
|
|
if $tracelevel then {
|
|
strace $tracelevel
|
|
}
|
|
|
|
set testfile "objcdecode"
|
|
set srcfile ${testfile}.m
|
|
set binfile ${objdir}/${subdir}/${testfile}
|
|
|
|
#
|
|
# Objective-C program compilation isn't standard. We need to figure out
|
|
# which libraries to link in. Most of the time it uses pthread
|
|
#
|
|
if {[gdb_compile_objc "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug ]] != "" } {
|
|
return -1
|
|
}
|
|
|
|
proc do_objc_tests {} {
|
|
global prms_id
|
|
global bug_id
|
|
global subdir
|
|
global objdir
|
|
global srcdir
|
|
global binfile
|
|
global gdb_prompt
|
|
|
|
set prms_id 0
|
|
set bug_id 0
|
|
|
|
# Start with a fresh gdb.
|
|
|
|
gdb_exit
|
|
gdb_start
|
|
gdb_reinitialize_dir $srcdir/$subdir
|
|
gdb_load $binfile
|
|
|
|
}
|
|
|
|
do_objc_tests
|
|
|
|
#
|
|
# Break on multiply defined method (PR objc/1236)
|
|
#
|
|
set name "break on multiply defined method"
|
|
gdb_test_multiple "break multipleDef" $name \
|
|
{
|
|
-re "\\\[0\\\] cancel\r\n\\\[1\\\] all\r\n\\\[2\\\] -.Decode multipleDef. at .*\r\n\\\[3\\\] multipleDef at .*\r\n> $" {
|
|
send_gdb "3\n"
|
|
exp_continue
|
|
}
|
|
-re "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*\r\n$gdb_prompt $" { pass $name }
|
|
-re ".*$gdb_prompt $" { kfail "gdb/1236" $name }
|
|
}
|
|
|
|
set name "continue after break on multiply defined symbol"
|
|
gdb_run_cmd
|
|
gdb_test_multiple "" $name \
|
|
{
|
|
-re "Breakpoint \[0-9\]+, multipleDef \\\(\\\) at .*\r\n$gdb_prompt $" {
|
|
pass $name
|
|
}
|
|
-re "\\\[0\\\] cancel\r\n\\\[1\\\] all\r\n\\\[2\\\] -.Decode multipleDef. at .*\r\n\\\[3\\\] multipleDef at .*\r\n> $" {
|
|
send_gdb "0\n"
|
|
kfail "gdb/1238" $name
|
|
# gdb is in a bad state here.
|
|
# It would be difficult to do any more tests after this.
|
|
}
|
|
}
|