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

            Bug ID: 119544
           Summary: gcc does not figure out variable is unused when
                    incremented in while loop
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: peter0x44 at disroot dot org
  Target Milestone: ---

the following code:

https://gcc.godbolt.org/z/n36orPTGE

extern char* str;

void foo(void)
{
    int i = 0;

    while (*str == ' ' || *str == '\t' || *str == '\n' || *str == '\r')
    {
        i++;
        str++;
    }
}

when compiled with gcc -Wall -Wextra -Wunused-variable does not report that i
is unused.

Clang does report this, however:
<source>:5:6: warning: variable 'i' set but not used
[-Wunused-but-set-variable]
    5 |         int i = 0;
      |             ^
  • [Bug c/119544] New: gcc does not... peter0x44 at disroot dot org via Gcc-bugs

Reply via email to