[Ada] Accept square brackets for expression functions
authorEtienne Servais <servais@adacore.com>
Mon, 3 Jan 2022 13:41:58 +0000 (14:41 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 11 Jan 2022 13:24:49 +0000 (13:24 +0000)
gcc/ada/

* par-ch6.adb (Scan_Body_Or_Expression_Function): Accept left
bracket as token to open an expression function.

gcc/ada/par-ch6.adb

index 1b3cf94..d972ead 100644 (file)
@@ -841,7 +841,14 @@ package body Ch6 is
             begin
                --  Expression_Function case
 
-               if Token = Tok_Left_Paren
+               --  If likely an aggregate, check we are in Ada 2022 mode
+
+               if Token = Tok_Left_Bracket then
+                  Error_Msg_Ada_2022_Feature
+                    ("!aggregates as expression function", Token_Ptr);
+               end if;
+
+               if Token in Tok_Left_Paren | Tok_Left_Bracket
                  or else Likely_Expression_Function
                then
                   --  Check expression function allowed here