>> нулевую. польза — это если бы меня преупреждением обругали.
> Стат. анализатор у clang'а говно, хотя попробуй, прогони его, авось ругнётся.его, вроде, отдельно собирать надо. потом попробую как-нибудь, git всё помнит, если что.
> для предупреждения эта штука слишком сложна — нужно проанализировать код внутри
> функции и убедиться, что таки да — меняет поле.
ну, там сразу перед return'ом ++ стоит, в принципе, ничего заковыристого. обычный data flow analysis, его и так делают.
>> я в упор не помню, что там в стандарте по этому поводу написано (там вообще фигни столько написано, что и у коня голова лопнет)
> Язык C староват очень.
дык вон недавно очередную ревизию стандарта приняли. фигни насовали, полезного — ноль. ну почему, например, не стандартизировать 2's-complement integer arithmetic? почему integer overflow не прописать? да куча софта пользуется тем, что это стандарт де-факто (хоть хэш-функции взять — куча на этом подвязана). почему не добавить конструкцию для проверки флажка переполнения, который есть у подавляющего большинства процессоров? это ведь офигенно упростило бы те же проверки на переполнение, которые можно было бы делать постфактум.
вот зачем в очередной раз пересматривать стандарт, чтобы бережно не добавлять туда ничего более-менее полезного irl? какого чёрта было плевать на уже введённый в ISO C90 __inline__ и сделать идиотское _Noreturn вместо __noreturn__? да ну их в анус, академиков сферических. я для себя давно решил, что стандарт — это gnu99, со всеми его вкусными расширениями.