Цитата(SSerge @ Mar 23 2010, 01:20)

В данном конкретном случае это не важно, тип int у IAR для ARM и так 32-битный, а результат сдвига влево не зависит от знаковости операнда
Да? а как тогда компилятору трактовать сдвиг
абстрактной 1 влево на 31, например:
unsigned long value = 1<<31;
Вменяемый компилятор должен предупредить, что пытаетесь присвоить получившиеся знаковое значение беззнаковой переменной,
если не скажете про беззаковость:
unsigned long value = 1UL<<31;