diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-10-28 11:28:53 +0100 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-11-12 14:05:44 +0100 |
commit | 3408792e6016a53cbc10653948e07132d0f13361 (patch) | |
tree | f89491cfdd82c1a9bbeb5cf8964ab465a5c4b262 | |
parent | 524590a3606d773a7827ed469d80f5c8701e5dd8 (diff) | |
download | gcc-3408792e6016a53cbc10653948e07132d0f13361.zip gcc-3408792e6016a53cbc10653948e07132d0f13361.tar.gz gcc-3408792e6016a53cbc10653948e07132d0f13361.tar.bz2 |
ada: Fix unexpected Program_Error raised in the parser on mismatched []
This happens for example with:
A : constant array (Natural range <>) of String := [ "xor" [;
The problem is that the left bracket token is incorrectly classified as
a name extension, but there is no handler in the Scan_Name_Extension_OK
part of P_Name in Par.Ch4.
gcc/ada/ChangeLog:
PR ada/112821
* scans.ads (Token_Type): Remove Tok_Left_Bracket from Namext.
-rw-r--r-- | gcc/ada/scans.ads | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/ada/scans.ads b/gcc/ada/scans.ads index 44c20fc..c445635 100644 --- a/gcc/ada/scans.ads +++ b/gcc/ada/scans.ads @@ -93,10 +93,11 @@ package Scans is Tok_Raise, -- RAISE Tok_Right_Curly_Bracket, -- } + Tok_Left_Bracket, -- [ + Tok_Dot, -- . Namext Tok_Apostrophe, -- ' Namext - Tok_Left_Bracket, -- [ Namext Tok_Left_Paren, -- ( Namext, Consk Tok_Delta, -- DELTA Atkwd, Sterm, Consk |