Вход
Наше всё
Теги
codebook
PARTS
Поиск
Опросы
Закон
Среда
27 января
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
ARM
AVR
PIC
PLD, FPGA, DSP
Кибернетика
Технологии
Схемы, платы, компоненты
Средства и методы разработки
/1068428
Топик полностью
Vit
(11.01.2021 17:51, просмотров: 70)
в ответ на
Не могу победить статический анализатор IAR
- автор:
IBAH
Почему-то кажется, что виноваты беззнаковый тип Kolvo и Adres, и integer promotion в if((Adres+Kolvo)>MaxReg) return;
Ответить
Ответы
Прихожу к мысли, что анализатор тупенький. Запомнить что (Adres+Kolvo)<=MaxReg не в состоянии! Когда доходит до цикла, он об этом забывает. Вот так, этот тупорырый, не ругается:
IBAH
(398 знаков,
11.01.2021 19:59
)
Сначала ему подсовывают инициализацию через возврат из функций (ХЗ что там - если анализатор не шибко умный, то ограничения определяются для типа), потом может существовать вариант (хоть Kolvo и Adres беззнаковые) при котором значение(я) слагаемых больше, а сумма будет меньше. Ну и последняя правка цикла таки отличается по начальным и последним значениям. Туповат-то-туповат, но кое-какие сопли видит
-
Vit
(
11.01.2021 20:32
)