https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106037

simon at pushface dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |simon at pushface dot org

--- Comment #4 from simon at pushface dot org ---
This is illegal code: 'aspect "Aggregate" can only be applied to non-array
type'.

See https://groups.google.com/g/comp.lang.ada/c/FHWcqk1SWRM/m/sYTWUHQxAgAJ,
and the (slightly unemphatically worded) ARM 4.3.5(2), "For a type other
than an array type, the following type-related operational aspect may be
specified"

GNAT 14.0.1 20240223 (experimental)
Copyright 1992-2024, Free Software Foundation, Inc.


Compiling: container_aggregates.adb
Source file time stamp: 2024-03-13 15:04:00
Compiled at: 2024-03-13 15:04:53

     1. procedure Container_Aggregates is
     2.
     3.    type Array_Type is
     4.      array (1 .. 10) of Integer
     5.    with Aggregate => (Empty => Empty_Array);
                1            2         3
        >>> error: aspect "Aggregate" can only be applied to non-array type
        >>> error: incomplete specification for aggregate
        >>> error: object "Empty_Array" cannot be used before end of its
declaration
        >>> error: improper aggregate operation for "Array_Type"

     6.
     7.    Empty_Array : constant Array_Type := [1..10 => 123];
     8.
     9. begin
    10.    null;
    11. end Container_Aggregates;
    12.

 12 lines: 4 errors

Reply via email to