From 3408792e6016a53cbc10653948e07132d0f13361 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 28 Oct 2024 11:28:53 +0100 Subject: 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. --- gcc/ada/scans.ads | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gcc') 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 -- cgit v1.1