]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
ada: Enforce Aggregate aspect legality rule
authorSteve Baird <baird@adacore.com>
Tue, 29 Nov 2022 22:32:07 +0000 (14:32 -0800)
committerMarc Poulhiès <poulhies@adacore.com>
Thu, 1 Dec 2022 13:53:54 +0000 (14:53 +0100)
Ada 2022 requires that an Aggregate aspect specification shall specify a
a name for at least one of Add_Named, Add_Unnamed, or Assign_Indexed.
Enforce this rule.

gcc/ada/

* sem_ch13.adb
(Validate_Aspect_Aggregate): Reject illegal case where none of
Add_Named, Add_Unnamed, and Assign_Indexed are specified.

gcc/ada/sem_ch13.adb

index a4782747aff4cc030eed0c7a82bc8d85d4585fa8..71eabb4f627dd32d4706d902f8923db7b778a3e3 100644 (file)
@@ -15729,6 +15729,12 @@ package body Sem_Ch13 is
             return;
          end if;
 
+      elsif No (Add_Named_Subp)
+        and then No (Add_Unnamed_Subp)
+        and then No (Assign_Indexed_Subp)
+      then
+         Error_Msg_N ("incomplete specification for aggregate", N);
+
       elsif Present (New_Indexed_Subp) /= Present (Assign_Indexed_Subp) then
          Error_Msg_N ("incomplete specification for indexed aggregate", N);
       end if;