Hi, the following bogus warning: In function 'lto26', inlined from 'main' at /home/eric/gnat/bugs/V721-018/b~lto26.adb:237:7: lto26.adb:11:13: warning: writing 1 byte into a region of size 0 [-Wstringop- overflow=] 11 | Set (R, (7, 0, 84, Stream_Element (I), 0, 0, 0), 1); | ^ lto26.adb: In function 'main': lto26.adb:11:50: note: at offset -9223372036854775808 into destination object 'A.0' of size 7 11 | Set (R, (7, 0, 84, Stream_Element (I), 0, 0, 0), 1); | ^ comes from a discrepancy between get_offset_range, which uses a signed type, and handle_array_ref, which uses an unsigned one, to do offset computations. Tested on x86-64/Linux, OK for the mainline? 2022-08-16 Eric Botcazou * pointer-query.cc (handle_array_ref): Fix handling of low bound. 2022-08-16 Eric Botcazou * gnat.dg/lto26.adb: New test. * gnat.dg/lto26_pkg1.ads, gnat.dg/lto26_pkg1.adb: New helper. * gnat.dg/lto26_pkg2.ads, gnat.dg/lto26_pkg2.adb: Likewise. -- Eric Botcazou