Index: gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp |
diff --git a/gdb/testsuite/gdb.ada/atomic_enum.exp b/gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp |
similarity index 53% |
copy from gdb/testsuite/gdb.ada/atomic_enum.exp |
copy to gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp |
index 2acbfca1151051113c82b5ce49b2255196e1251c..2d2c891dc1e02a741288a0baa80995e9dc477b92 100644 |
--- a/gdb/testsuite/gdb.ada/atomic_enum.exp |
+++ b/gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp |
@@ -1,4 +1,4 @@ |
-# Copyright 2008-2012 Free Software Foundation, Inc. |
+# Copyright 2012 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 |
@@ -13,32 +13,40 @@ |
# You should have received a copy of the GNU General Public License |
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
-if $tracelevel then { |
- strace $tracelevel |
-} |
- |
load_lib "ada.exp" |
-set testdir "atomic_enum" |
+set testdir "bad-task-bp-keyword" |
set testfile "${testdir}/foo" |
set srcfile ${srcdir}/${subdir}/${testfile}.adb |
set binfile ${objdir}/${subdir}/${testfile} |
file mkdir ${objdir}/${subdir}/${testdir} |
-if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug additional_flags=-gnat05 ]] != "" } { |
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable [list debug ]] != "" } { |
return -1 |
} |
clean_restart ${testfile} |
-set test "ptype pck.data_flag" |
+# Star the program in order to have some tasks running... |
+set bp_location [gdb_get_line_number "STOP_HERE" ${testdir}/foo.adb] |
+runto "foo.adb:$bp_location" |
+ |
+# Try inserting a breakpoint on task 2, but using the wrong capitalization |
+# on the 'task' keyword ("TASK" instead of "task"). The debugger should |
+# report an error. Try various weird combinations too. |
+ |
+gdb_test "break *break_me'address TASK 2" \ |
+ "Garbage 'TASK 2' at end of command" |
+ |
+set test "break *break_me'address TASK Task TaSK 2" |
gdb_test_multiple "$test" $test { |
- -re "type = \\(one, two, three\\).*$gdb_prompt $" { |
+ -re "Garbage 'TASK Task TaSK 2' at end of command\[\r\n\]+$gdb_prompt $" { |
pass $test |
} |
- -re "type = \\(\\).*$gdb_prompt $" { |
- # This is a known compiler problem with Stabs. |
- xfail $test |
+ -re "Garbage 'TaSK 2' at end of command\[\r\n\]+$gdb_prompt $" { |
+ kfail gdb/14111 "$test" |
} |
} |
+gdb_test "break *break_me'address TASK if" \ |
+ "Garbage 'TASK if' at end of command" |