summaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorEd Schonberg <schonberg@adacore.com>2005-07-04 15:28:50 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2005-07-04 15:28:50 +0200
commitc6bbcfff037aaa575fc55de8963d60b5dd124bda (patch)
tree34519bd156c36555119e260c7cc18ed15232c60a /gcc/ada
parentdf9567735369e6366063808644f318c2ff79665a (diff)
downloadgcc-c6bbcfff037aaa575fc55de8963d60b5dd124bda.tar.gz
par-ch9.adb (P_Task, [...]): Indicate that single task and single protected declarations can have an...
2005-07-04 Ed Schonberg <schonberg@adacore.com> * par-ch9.adb (P_Task, P_Protected): Indicate that single task and single protected declarations can have an interface list. (P_Entry_Declaration): Add handler for Error_Resync, which can be raised with seriously malformed entry declarations, and lead to compilation abandoned messages. From-SVN: r101583
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/par-ch9.adb11
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ada/par-ch9.adb b/gcc/ada/par-ch9.adb
index 75c536834d5..57ba12402ba 100644
--- a/gcc/ada/par-ch9.adb
+++ b/gcc/ada/par-ch9.adb
@@ -56,7 +56,8 @@ package body Ch9 is
-- [is [new INTERFACE_LIST with] TASK_DEFINITION];
-- SINGLE_TASK_DECLARATION ::=
- -- task DEFINING_IDENTIFIER [is TASK_DEFINITION];
+ -- task DEFINING_IDENTIFIER
+ -- [is [new INTERFACE_LIST with] TASK_DEFINITION];
-- TASK_BODY ::=
-- task body DEFINING_IDENTIFIER is
@@ -348,7 +349,8 @@ package body Ch9 is
-- is [new INTERFACE_LIST with] PROTECTED_DEFINITION;
-- SINGLE_PROTECTED_DECLARATION ::=
- -- protected DEFINING_IDENTIFIER is PROTECTED_DEFINITION;
+ -- protected DEFINING_IDENTIFIER
+ -- is [new INTERFACE_LIST with] PROTECTED_DEFINITION;
-- PROTECTED_BODY ::=
-- protected body DEFINING_IDENTIFIER is
@@ -860,6 +862,11 @@ package body Ch9 is
TF_Semicolon;
return Decl_Node;
+
+ exception
+ when Error_Resync =>
+ Resync_Past_Semicolon;
+ return Error;
end P_Entry_Declaration;
-----------------------------