Почему g cc выдает предупреждение о переполнении, когда переменная заменяется константой с тем же значением? - PullRequest
0 голосов
/ 29 апреля 2020

Компилятор: x86_64-g cc -9.3
Флаги: -O3 -Wall -Wextra

In:

int main()
{
    int x= 4, y = 7;
    x = y*(4LU - 5);
    return x;
}

Я не получаю предупреждений.

Но, если я заменю y на 7, я получу следующее предупреждение:

предупреждение : переполнение при преобразовании из long unsigned int в int 'изменяет значение с' 18446744073709551609 'на' -7 '[-Woverflow]

Почему я получаю его, даже если значение совпадает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...