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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |56456

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
With -Warray-bounds GCC issues:

t.c:7:3: warning: ‘__builtin_memcpy’ offset [4, 7] is out of the bounds [0, 4]
of object ‘s’ with type ‘struct S’ [-Warray-bounds]
    7 |   __builtin_strcpy (s.ax, "123");
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t.c:3:17: note: ‘s’ declared here
    3 | extern struct S s /* = { 5, { 1, 2, 3, 4, 5 } } */;
      |                 ^

The -Warray-bounds warning was in turn introduced in r255755 (in GCC 8.0):

r255755 | msebor | 2017-12-16 18:58:34 -0500 (Sat, 16 Dec 2017) | 81 lines

PR tree-optimization/78918 - missing -Wrestrict on memcpy copying over self

gcc/c-family/ChangeLog:

        PR tree-optimization/78918
        * c-common.c (check_function_restrict): Avoid checking built-ins.
        * c.opt (-Wrestrict): Include in -Wall.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56456
[Bug 56456] [meta-bug] bogus/missing -Warray-bounds

Reply via email to