Цитата(MALLOY2 @ Jan 6 2009, 19:29)

1. Думаю вы точно не умеете их писать. Если вы умеете читать я писал что компилятор выдает честный варнинг на то что test не инициализирован ! он не имеет права запрещать мне так делать !
2. По поводу кривых прог не вам судить. По вашему я должен был выложить комерческий код сюда у которого больше 1000 строк чтобы показать этот глюк ? а не проще сделать так как я сделал ?
1. Я не могу написать (сейчас) что-то подобное компилеру ИАРа. Нет богатого заказчика на этот проект. Но 10 лет назад написал компилер паскаля (уровня турбопаскаля) с более расширенным синтаксисом. Выдать варнинг в этой ситуации - мало! Это только ошибка первого этапа компиляции. Далее идёт оптимизатор, для которого эта ситуация должна быть фатальной и им должна быть выдана реальная ошибка, останавливающая компиляцию. И это не Internal Error (которую я назвал дурацкой). С другой стороны, компилер мог бы вообще откомпилить код по своему усмотрению. Хоть сразу выполнить условие, хоть просто пропустить его. И был бы прав в обоих случаях.
2. 1000 коммерческих строк сюда не нужно выкладывать, оставьте себе. Сюда выложить надо было только непокоцанную часть, хотя бы внутри IFа. Хотя вам видимо не дано разобраться где мухи, где котлеты. Так что если в будущем попросят выложить побольше, то не надо сразу посылать. Либо сами создайте минимальный проект с минимум строк, приводящих к аналогичной ошибке и уже весь проект выкладывайте на всеобщее обозрение.
Цитата(Сергей Борщ @ Jan 6 2009, 18:31)

1. А что же он, по-вашему, делает?После Error линковка не производится, ибо не создается объектный файл.
2. Если читать документацию внимательно, то в ней сказано (и из названия ошибки следует), что Internal Error - внутреняя ошибка (бага) компилятора. В этом случае надо отправлять баг-репорт в IAR:
1. Правильно делает. Я и говорю, что я за то, чтобы он так делал и впредь.
2. Именно из-за того, что компилятор недоработан, он выдаёт Internal Error, а не что-то внятное-понятное.