[Ada] Fix detection of array aggregates with single others associations

Message ID 20211109094542.GA829999@adacore.com
State Committed
Commit 51ad879c72e77f8a4021256c4aaf5567c6f587cf
Headers
Series [Ada] Fix detection of array aggregates with single others associations |

Commit Message

Pierre-Marie de Rodat Nov. 9, 2021, 9:45 a.m. UTC
  Detection of array aggregates of the form "(others => ...)" needs to be
adapted to iterated_component_association, which was added by Ada 2022.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

	* checks.adb (Apply_Constraint_Check): Guard against calling
	Choices when the first association in an array aggregate is a
	N_Iterated_Component_Association node.
  

Patch

diff --git a/gcc/ada/checks.adb b/gcc/ada/checks.adb
--- a/gcc/ada/checks.adb
+++ b/gcc/ada/checks.adb
@@ -1388,6 +1388,8 @@  package body Checks is
 
          if Nkind (N) = N_Aggregate
            and then No (Expressions (N))
+           and then Nkind (First (Component_Associations (N))) =
+             N_Component_Association
            and then Nkind
             (First (Choices (First (Component_Associations (N)))))
               = N_Others_Choice