From: Steve Baird Date: Tue, 29 Nov 2022 22:32:07 +0000 (-0800) Subject: ada: Enforce Aggregate aspect legality rule X-Git-Tag: basepoints/gcc-14~2763 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=82cf82c4610dbf2a1021841fea3700a477246b79;p=thirdparty%2Fgcc.git ada: Enforce Aggregate aspect legality rule 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. --- diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index a4782747aff4..71eabb4f627d 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -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;