реклама на сайте
подробности

 
 
> Internal Error: [Post Optimize]: Any exception, почему появляется ошибка? (IAR 4.20)
GetSmart
сообщение Oct 23 2009, 08:54
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Вопрос к спецам:
почему появляется ошибка в данном коде на максимальной оптимизации? На всех остальных оптимизациях и без, код нормально компилируется.
IAR 4.20. На других не пробовал. Может есть другой вариант описания данной структуры? Но хотелось чтобы поля структуры адресовались из "корня", то есть без лишнего имени структуры.

Код
typedef union
{
    u32    data;
    struct
    {    u08    light;
        u08    red;
        u08    green;
        u08    blue;
    };
} TLIGHT_DATA;

TLIGHT_DATA LightNew, LightOld;

main()
{
    if (LightNew.light <> LightOld.light) ...
}


Добавлю. Ошибка то появляется, то исчезает когда немного код изменяю. В первой версии был большой код. Здесь я всё сократил до минимума.

Сообщение отредактировал GetSmart - Oct 23 2009, 09:41


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Oct 24 2009, 13:10
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



А, ремарки! Это вообще бесполезная вещь, которая не влияет на генерируемый файл. Видел я эту ремарку. Она довольно глупая. Именно из-за неё я догадался почему параноидальные сишники считают что правильнее использовать for (;;) для бесконечных циклов. Я ещё могу понять, когда в дефайне ставят do {} while(0), но проблемы с while (1) выше моего понимания smile.gif

Бьюсь об заклад, что скорректировав код так, чтобы исчезли все ремарки, прошивка останется 100% идентичной.

Следуя такой логике следует запретить конструкции #if 0 ... #endif и им подобные, т.к. аналогично while-у используется константное условие. Хотя и в препроцессоре.

Сообщение отредактировал GetSmart - Oct 24 2009, 13:16


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2009, 13:20
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Oct 24 2009, 16:10) *
Именно из-за неё я догадался почему параноидальные сишники...

Странно, по-русски Вы пишете достаточно грамотно, и наверное, не считаете это извращением. По чему-бы не писать грамотно и на 'C', даже если компилятору кажется, что он Вас понимает и в результате оптимизации выдает хороший код.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 24 2009, 14:58
Сообщение #4


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Oct 24 2009, 19:20) *
Странно, по-русски Вы пишете достаточно грамотно, и наверное, не считаете это извращением. По чему-бы не писать грамотно и на 'C', даже если компилятору кажется, что он Вас понимает и в результате оптимизации выдает хороший код.

"По чему" - пишется вместе. "Почему бы" без дефиса. Перед "наверное" пропущена запятая.

zltigo, нравится Вам такое отношение (компилятора smile.gif) ??? - Мне тоже не нравится. Но мы с Вами прекрасно друг друга понимаем без параноидального соблюдения орфографии и пунктуации.
Только не говорите, что русский не родной smile.gif

Не удержался. Установил таки 4.42. Мой мега-проджект в нём... работает! smile.gif В 4.20 работает, в 4.42 работает, а в 4.30 НЕ РАБОТАЕТ!!! Щас попробую угадать - виноват конечно же я smile.gif
Хотя 4.42 делает самый жирный HEX, на долю процента больше чем 4.30. А 4.20 самый компактный. Это при одинаковой оптимизации High Size.

Сообщение отредактировал GetSmart - Oct 24 2009, 15:44


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 24 2009, 15:52
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Oct 24 2009, 17:58) *
zltigo, нравится Вам такое отношение (компилятора smile.gif)

Нравится!
Цитата
Только не говорите, что русский не родной smile.gif

Просто с середины 6 класса русская школа в Будапеште сказывается, ну и жена украинка.
Цитата
Щас попробую угадать - виноват конечно же я smile.gif

Тем не менее, на 99% да sad.gif. Список исправленных-внесенных ошибок IAR ведет и выкладывает в комплекте с компилятором - можете поискать ту, которая присутствует в Вашем исходнике не идущем на 4.30.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Oct 26 2009, 11:13
Сообщение #6


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Oct 24 2009, 21:52) *
Тем не менее, на 99% да sad.gif. Список исправленных-внесенных ошибок IAR ведет и выкладывает в комплекте с компилятором - можете поискать ту, которая присутствует в Вашем исходнике не идущем на 4.30.

Вы опять неправы smile.gif
http://electronix.ru/forum/index.php?showtopic=68803
Я редко ошибаюсь cool.gif


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 26 2009, 11:25
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата
Список исправленных-внесенных ошибок IAR ведет и выкладывает в комплекте с компилятором - можете поискать ту, которая присутствует в Вашем исходнике не идущем на 4.30.


Цитата(GetSmart @ Oct 26 2009, 14:13) *
Вы опять неправы smile.gif

В чем? Вот описание этой ошибки от IAR исправленной в 4.31
Код
V4.31A 2006-02-03

Program corrections
.....
Nested irq functions did not return properly.
[EW17032, EW17033, EW17038]
....

Так в чем я виноват? В том, что Вы не читаете документацию, пользуетесь в конце 2009 года компиляторами января 2005 и после этого радостно наступаете на грабли описанные и исправленные в феврале 2006 года?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- GetSmart   Internal Error: [Post Optimize]: Any exception   Oct 23 2009, 08:54
- - Палыч   Цитата(GetSmart @ Oct 23 2009, 11:54) Код...   Oct 23 2009, 11:00
|- - GetSmart   Цитата(Палыч @ Oct 23 2009, 17:00) В опер...   Oct 23 2009, 11:12
- - rezident   IAR EWARM 5.40.1 на последний пример не дает ошибо...   Oct 23 2009, 12:52
- - zltigo   Цитата(GetSmart @ Oct 23 2009, 11:54) поч...   Oct 23 2009, 13:10
|- - GetSmart   Цитата(zltigo @ Oct 23 2009, 19:10) Да ка...   Oct 23 2009, 21:57
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 00:57) без...   Oct 23 2009, 22:23
- - rezident   Еще раз подтверждаю, что в IAR EWARM 5.40.1 никаки...   Oct 23 2009, 22:23
- - GetSmart   Что я буду делать с 5-ой версией версией компилера...   Oct 23 2009, 23:11
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 02:11) Вер...   Oct 24 2009, 10:55
|- - GetSmart   Цитата(zltigo @ Oct 24 2009, 16:55) Как В...   Oct 24 2009, 11:57
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 14:57) Уже...   Oct 24 2009, 12:02
- - rezident   Установил 4.20a и 4.30a. Файл из сообщения №6. Tar...   Oct 23 2009, 23:38
- - GetSmart   Что то я в процессе кастрации не заметил когда оши...   Oct 24 2009, 00:09
- - rezident   Может я что-то не то делаю, но в 4.20 ошибка почти...   Oct 24 2009, 01:22
- - GetSmart   Да, странно. У меня в директории IAR4.30 лежит ком...   Oct 24 2009, 02:16
- - GetSmart   Приехали. Взял первый попавшийся большой проджект,...   Oct 24 2009, 12:29
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 15:29) При...   Oct 24 2009, 12:36
- - GetSmart   Провёл эксперимент. В чистом 4.20 всё работает (ср...   Oct 24 2009, 12:49
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 15:49) Вар...   Oct 24 2009, 12:57
|- - GetSmart   Цитата(zltigo @ Oct 24 2009, 18:57) Не ве...   Oct 24 2009, 12:59
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 15:59) Не ...   Oct 24 2009, 13:05
- - GetSmart   Цитата(zltigo @ Oct 24 2009, 19:20) Стран...   Oct 24 2009, 13:26
|- - zltigo   Цитата(GetSmart @ Oct 24 2009, 16:26) Ткн...   Oct 24 2009, 13:33
- - GetSmart   Цитата(zltigo @ Oct 26 2009, 17:25) Так в...   Oct 26 2009, 12:05


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01468 секунд с 7
ELECTRONIX ©2004-2016