https://gcc.gnu.org/g:3408792e6016a53cbc10653948e07132d0f13361

commit r15-5153-g3408792e6016a53cbc10653948e07132d0f13361
Author: Eric Botcazou <[email protected]>
Date:   Mon Oct 28 11:28:53 2024 +0100

    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.

Diff:
---
 gcc/ada/scans.ads | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/scans.ads b/gcc/ada/scans.ads
index 44c20fcf3d26..c445635262a4 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

Reply via email to