summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2010-01-01 06:06:49 +0000
committerJoel Brobecker <brobecker@gnat.com>2010-01-01 06:06:49 +0000
commit70575d34a7b50192b3cb94c384fa502e641e5607 (patch)
tree525b9459c60fe403cde9325846c339e1b2f608d5 /gdb
parent594ffe977d13dcff7b624263897cf10a7894dae0 (diff)
downloadbinutils-gdb-70575d34a7b50192b3cb94c384fa502e641e5607.tar.gz
Fix break *FUN'address task NUM.
* ada-lex.l (task): New rule. * ada-lang.c (valid_task_id): Make sure the Ada task list has been built before using it.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/ada-lex.l7
-rw-r--r--gdb/ada-tasks.c1
3 files changed, 15 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 753fbb0cc0a..f9163588284 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2010-01-01 Joel Brobecker <brobecker@adacore.com>
+
+ Fix break *FUN'address task NUM.
+ * ada-lex.l (task): New rule.
+ * ada-lang.c (valid_task_id): Make sure the Ada task list has
+ been built before using it.
+
2009-12-31 Stan Shebs <stan@codesourcery.com>
Add new tracepoint action teval.
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l
index 9886553e4b5..e16acb5f6e2 100644
--- a/gdb/ada-lex.l
+++ b/gdb/ada-lex.l
@@ -160,6 +160,13 @@ if {
return 0;
}
+task {
+ while (*lexptr != 't' && *lexptr != 'T')
+ lexptr--;
+ yyrestart(NULL);
+ return 0;
+ }
+
/* ADA KEYWORDS */
abs { return ABS; }
diff --git a/gdb/ada-tasks.c b/gdb/ada-tasks.c
index 68cc696d56e..62f44322708 100644
--- a/gdb/ada-tasks.c
+++ b/gdb/ada-tasks.c
@@ -198,6 +198,7 @@ get_task_number_from_id (CORE_ADDR task_id)
int
valid_task_id (int task_num)
{
+ ada_build_task_list (0);
return (task_num > 0
&& task_num <= VEC_length (ada_task_info_s, task_list));
}