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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2024-03-18
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
                 CC|                            |pinskia at gcc dot gnu.org

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.

For some reason doing changing `loop++` to what it does manually does not warn:
That is for
```
void f() {
    char buf[11];
    int loop(1);
    do {
        __builtin_snprintf(buf,sizeof(buf),"%d",loop++);
    } while(loop<10);
}
void g() {
    char buf[11];
    int loop(1);
    do {
        int old = loop;
        loop++;
        __builtin_snprintf(buf,sizeof(buf),"%d",old);
    } while(loop<10);
}
```

f is being warned about but g is not.

Reply via email to