From 70575d34a7b50192b3cb94c384fa502e641e5607 Mon Sep 17 00:00:00 2001
From: Joel Brobecker <brobecker@gnat.com>
Date: Fri, 1 Jan 2010 06:06:49 +0000
Subject: [PATCH] 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.
---
 gdb/ChangeLog   | 7 +++++++
 gdb/ada-lex.l   | 7 +++++++
 gdb/ada-tasks.c | 1 +
 3 files changed, 15 insertions(+)

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));
 }
-- 
GitLab