From: Piotr Trojanek Date: Wed, 29 Apr 2020 09:30:46 +0000 (+0200) Subject: [Ada] Reject junk expressions in attribute Update X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4b58985f6cc427a53fd72b3eabb2e9c252c2dc58;p=gcc.git [Ada] Reject junk expressions in attribute Update 2020-06-19 Piotr Trojanek gcc/ada/ * sem_attr.adb (Analyze_Attribute): Reject illegal positional component associations; fix syntax in comment about named component associations. --- diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 3bd87fdf3db..5041a122414 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -6836,7 +6836,7 @@ package body Sem_Attr is -- Verify the consistency of types when the current component is -- part of a miltiple component update. - -- Comp_1, ..., Comp_N => + -- Comp_1 | ... | Comp_N => if Present (Etype (Comp)) then Base_Typ := Base_Type (Etype (Comp)); @@ -6877,6 +6877,11 @@ package body Sem_Attr is elsif Nkind (E1) /= N_Aggregate then Error_Attr ("attribute % requires component association list", N); + + elsif Present (Expressions (E1)) then + Error_Attr ("attribute % requires named component associations", + First (Expressions (E1))); + end if; -- Inspect the update aggregate, looking at all the associations and