diff options
Diffstat (limited to 'gcc/ada/par-ch9.adb')
-rw-r--r-- | gcc/ada/par-ch9.adb | 11 |
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; |