diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-29 16:18:13 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-29 16:18:13 +0000 |
commit | 15c37a32819eaa1b861b6112ced8f6ed2867117c (patch) | |
tree | 85944b247f1d765548f638901c454c7ec6c0c4e7 /gcc/ada/par-ch4.adb | |
parent | e4bc3fb7236e050e6e3dba70ded5d9cf8b89a5c2 (diff) | |
download | gcc-15c37a32819eaa1b861b6112ced8f6ed2867117c.tar.gz |
2005-03-29 Robert Dewar <dewar@adacore.com>
* par-ch4.adb (P_Name): When a bad attribute is returned, return error,
rather than proceed ahead using a junk attribute name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97179 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/par-ch4.adb')
-rw-r--r-- | gcc/ada/par-ch4.adb | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gcc/ada/par-ch4.adb b/gcc/ada/par-ch4.adb index 5826606352e..a013c23ae2a 100644 --- a/gcc/ada/par-ch4.adb +++ b/gcc/ada/par-ch4.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -402,8 +402,25 @@ package body Ch4 is if Apostrophe_Should_Be_Semicolon then Expr_Form := EF_Name; return Name_Node; + + -- Here for a bad attribute name + else Signal_Bad_Attribute; + Scan; -- past bad identifier + + if Token = Tok_Left_Paren then + Scan; -- past left paren + + loop + Discard_Junk_Node (P_Expression); + exit when not Comma_Present; + end loop; + + T_Right_Paren; + end if; + + return Error; end if; end if; |