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

qinzhao at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenther at suse dot de

--- Comment #8 from qinzhao at gcc dot gnu.org ---
for the reduced testing case, with my work-in-progress 3rd version of the patch
+ -fdiagnostics-explain-harder:
t.c:15:15: warning: array subscript [0, 2] is outside array bounds of ‘const
char *[2]’ [-Warray-bounds=]
   15 |   if (commands[comind] == "b" &&
      |       ~~~~~~~~^~~~~~~~
  ‘setval_internal_tilde’: events 1-2
    4 |         if (comind > sizeof(commands)/sizeof(commands[0])) {
      |            ^
      |            |
      |            (1) t.c:15:24: warning: when the condition is evaluated to
true
......
   15 |   if (commands[comind] == "b" &&
      |       ~~~~~~~~~~~~~~~~
      |               |
      |               (2) t.c:15:24: warning: out of array bounds here
t.c:1:13: note: while referencing ‘commands’
    1 | const char* commands[] = {"a", "b"};
      |             ^~~~~~~~

looks like a helpful diagnostic.

Reply via email to