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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-10-13
     Ever confirmed|0                           |1

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
Whether or not this is diagnosed depends on the form of the IL and that in turn
depends on the target.  For example, when configured for aarch64-linux, GCC
doesn't issue any warnings for the test case in comment #0.  When configured
for x86_64 it issues the following barrage of warnings (for g1 only).

This is behind failures in the gcc.dg/Wstringop-overflow-47.c test reported
here: https://gcc.gnu.org/pipermail/gcc-patches/2020-October/556049.html

$ gcc -O2 -S pr97027.c
pr97027.c: In function ‘g1’:
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 1 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 2 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 3 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 4 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 5 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 6 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 7 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 8 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 9 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 10 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 11 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 12 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 13 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 14 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 15 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 16 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 17 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 18 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 19 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 20 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 21 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 22 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 23 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 24 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 25 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 26 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 27 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 28 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 29 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 30 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 31 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 32 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 33 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 34 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 35 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 36 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 37 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 38 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 39 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 40 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 41 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 42 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 43 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 44 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 45 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 46 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 47 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 48 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 49 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 50 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 51 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 52 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 53 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 54 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 55 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 56 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 57 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 58 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 59 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 60 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 61 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 62 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 63 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^
pr97027.c:36:12: warning: writing 1 byte into a region of size 0
[-Wstringop-overflow=]
   36 |   *(V64*)p = (V64){ i };   // storing 64 bytes at offset 1 into a
one-byte array
      |   ~~~~~~~~~^~~~~~~~~~~~
pr97027.c:33:8: note: at offset 64 to object ‘a’ with size 1 declared here
   33 |   char a[1];
      |        ^

Reply via email to