
Сообщение от
Evg
И поэтому gcc лезет разбирать форматную строку и проверяет типы последующих аргументов. Хотя компилятор не обязан заниматься такой ерундой.
выше написано, что она не должна проверять

Сообщение от
Evg
Это всего лишь пользовательская фича, но никак не стандарт языка.
lcc тоже выдаёт
так что, либо он не включил предупреждения, либо их там нет

Сообщение от
Evg
А "ни одного предупреждения или ошибки не осталось" относилось к полной программе
это было бы так, если бы он стал запускать программу, которая скомпилировавшись, выдала предупреждение
а он написал, что предупреждений не осталось, он её запустил и она завалилась
и, видимо, он стал это расследовать
и только потом нашёл эту строку