https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105212
Bug ID: 105212 Summary: -gnatwu gives false error message for certain arrays. Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: service at totalplanlos dot de Target Milestone: --- If you use the "-gnatwu" (unused entities) warning, index values of an array are explicitly set (with "=>") and the total number of elements of the array exceeds 64, then a false warning occurs. It is not important whether the explicit specification is made with "others => 1" or with "1 => 1, 2 => 1, .. , 65 => 1". Without an explicit definition like "1, 1, .. , 1" this wrong message does not appear. Also applies to arrays with multiple dimensions. First Example: procedure Test is type OneArray is array (1 .. 65) of Integer; -- (1 .. 64) gives no wrong error message. One : OneArray; begin One := (others => 10); end Test; Second Example: with AnotherFile; procedure Main is begin AnotherFile.Two := (others => 10); end Main; package AnotherFile is type TwoArray is array (1 .. 65) of Integer; Two : TwoArray; end AnotherFile; Tested with Debian Gnat 12-20220319-1, Debian Gnat 11.2.0-19 and Alire Gnat 11.2, occurs every time.