aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2007-08-14 10:40:34 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-08-14 10:40:34 +0200
commit852ab9d007807547a8a4ae456095e975dfe7a5c6 (patch)
tree5b4e2f8e89d8f87dc8d6c60e0e8f3f625b11d751 /gcc
parent7dc5f546f00b73ed1400033e3d17416373f668da (diff)
downloadgcc-852ab9d007807547a8a4ae456095e975dfe7a5c6.zip
gcc-852ab9d007807547a8a4ae456095e975dfe7a5c6.tar.gz
gcc-852ab9d007807547a8a4ae456095e975dfe7a5c6.tar.bz2
par-tchk.adb (TF_Semicolon): Improve error recovery
2007-08-14 Robert Dewar <dewar@adacore.com> * par-tchk.adb (TF_Semicolon): Improve error recovery From-SVN: r127424
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/par-tchk.adb4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/ada/par-tchk.adb b/gcc/ada/par-tchk.adb
index a87d6a0..b7cf4c4 100644
--- a/gcc/ada/par-tchk.adb
+++ b/gcc/ada/par-tchk.adb
@@ -696,13 +696,15 @@ package body Tchk is
T_Semicolon;
- -- Scan out junk on rest of line
+ -- Scan out junk on rest of line. Scan stops on END keyword, since
+ -- that seems to help avoid cascaded errors.
Save_Scan_State (Scan_State); -- at start of junk tokens
loop
if Prev_Token_Ptr < Current_Line_Start
or else Token = Tok_EOF
+ or else Token = Tok_End
then
Restore_Scan_State (Scan_State); -- to where we were
return;