diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-19 10:25:53 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-02-19 10:25:53 +0000 |
commit | 389062c95789bc6f7cec1b5d92b7bd233377003d (patch) | |
tree | 81beccc9022d393327bfc13b482c3b472b676ace /gcc/ada/par-ch9.adb | |
parent | 4563499dfd676ff1ff23a4184253ae2bc8ea5399 (diff) | |
download | gcc-389062c95789bc6f7cec1b5d92b7bd233377003d.tar.gz |
2014-02-19 Robert Dewar <dewar@adacore.com>
* exp_attr.adb (Expand_Min_Max_Attribute): New procedure
(Expand_N_Attribute_Reference): Use this procedure for Min and Max.
* exp_ch4.adb (Expand_N_Expression_With_Actions): Remove object
declarations from list of actions.
* output.ads, output.adb (Delete_Last_Char): New procedure.
* sinfo.ads: Document handling of Mod and expression with actions
in Modify_Tree_For_C mode.
2014-02-19 Ed Schonberg <schonberg@adacore.com>
* par-ch9.adb (P_Task): Add a null statement to produce a
well-formed task body when due to a previous syntax error the
statement list is empty.
2014-02-19 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Dependency_Clause): Account
for the case where a state with a non-null refinement matches a
null output list. Comment reformatting.
(Inputs_Match): Copy a solitary input to avoid an assertion failure
when trying to match the same input in multiple clauses.
2014-02-19 Gary Dismukes <dismukes@adacore.com>
* sem_attr.adb: Minor typo fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207880 138bc75d-0d04-0410-961f-82ee72b054a4
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; |