That's another ancient issue with -gnatwu, but the fix is again trivial.
gcc/ada/
PR ada/105212
* exp_aggr.adb (Build_Array_Aggr_Code): If the aggregate comes from
source, call Set_Referenced_Modified on the target.
gcc/testsuite/
* gnat.dg/warn36.adb: New test.
end;
end if;
+ -- Set Referenced_As_LHS if appropriate. We are neither interested
+ -- in compiler-generated aggregates, nor in references outside the
+ -- extended main source unit.
+
+ if Comes_From_Source (N)
+ and then In_Extended_Main_Source_Unit (Into)
+ then
+ Set_Referenced_Modified (Into, Out_Param => False);
+ end if;
+
-- First before we start, a special case. If we have a bit packed
-- array represented as a modular type, then clear the value to
-- zero first, to ensure that unused bits are properly cleared.
--- /dev/null
+-- { dg-do compile }
+-- { dg-options "-gnatwu" }
+
+procedure Warn36 is
+
+ type Arr is array (1 .. 65) of Integer;
+
+ A : Arr;
+
+begin
+ A := (others => 1);
+end;