summaryrefslogtreecommitdiff
path: root/gcc/ada/par-ch9.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/par-ch9.adb')
-rw-r--r--gcc/ada/par-ch9.adb11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/par-ch9.adb b/gcc/ada/par-ch9.adb
index 7e4a9ee4e39..da7d76d573a 100644
--- a/gcc/ada/par-ch9.adb
+++ b/gcc/ada/par-ch9.adb
@@ -144,6 +144,17 @@ package body Ch9 is
end if;
Parse_Decls_Begin_End (Task_Node);
+
+ -- The statement list of a task body needs to include at least a
+ -- null statement, so if a parsing error produces an empty list,
+ -- patch it now.
+
+ if
+ No (First (Statements (Handled_Statement_Sequence (Task_Node))))
+ then
+ Set_Statements (Handled_Statement_Sequence (Task_Node),
+ New_List (Make_Null_Statement (Token_Ptr)));
+ end if;
end if;
return Task_Node;