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

 
 
> Баг EWARM 5.20.3
MALLOY2
сообщение Jan 5 2009, 21:17
Сообщение #1


Знающий
****

Группа: Validating
Сообщений: 838
Регистрация: 31-01-05
Пользователь №: 2 317



EWARM 5.20.3 EVAL. Компилирую под STM32 ну это не важно...
Обнаружил баг, прошу проверить.

Баг проявляется при попытке выполнить условие с битовым полем.

Имеем:
Код
typedef struct my_struct_bit_tag
{
  unsigned int bit0:1;
  unsigned int bit1:1;
  unsigned int bit2:1;
  unsigned int bit3:1;
  unsigned int bit4:1;
  unsigned int bit5:1;
  unsigned int bit6:1;
  unsigned int bit7:1;
  unsigned int other:24;
}my_struct_bit_t;

typedef struct my_struct_tag
{
  volatile unsigned int A;
  volatile unsigned int B;
  union {volatile my_struct_bit_t Cbit; volatile unsigned int C;};
}my_struct_t;


Делаем такое условие:
Код
void main(void)
{
  my_struct_t *test;
  ....
  if (test->C){......}
}

Все нормально компилируеться

При таком условии
Код
void main(void)
{
  my_struct_t *test;
  ....
  if (test->Cbit.bit0){......}
}

имеем:
Internal Error: [symbol_lookup_M31]: symbol not found for mode 1 (backend generating) (P0: 0, P1: 0)
P.S. Чтение - запись битовых полей работает нормально.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jan 6 2009, 12:57
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
В этом случае надо отправлять баг-репорт в IAR:
...
● Your license number


Тонкий намек на то, что если у Вас IAR ворованный, то, возможно, пошлют в маленькое эротическое путешествие.

Рекомендую зарегаться на IAR'овском сайте, получить свеженькую триальную лицензию (очень желательно указать свои реальные (или близкие к реальности) данные), вычленить тестовый кусок, приводящий к падению компилятора и послать им баг-репорт (на английском, конечно, а не "ПРЕВЕД МЕДВЕД!" wink.gif )

Тогда есть шанс расчитывать на ответ.

PS Кстати, шанс этот очень велик, если все сделаете правильно. В отличии от всяких гнутых, которые позиционируются как "жрите что дают" smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 6 2009, 14:15
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Rst7 @ Jan 6 2009, 17:57) *
Рекомендую зарегаться на IAR'овском сайте, получить свеженькую триальную лицензию (очень желательно указать свои реальные (или близкие к реальности) данные), вычленить тестовый кусок, приводящий к падению компилятора и послать им баг-репорт (на английском, конечно, а не "ПРЕВЕД МЕДВЕД!" wink.gif )

Тогда есть шанс расчитывать на ответ.

PS Кстати, шанс этот очень велик, если все сделаете правильно.
Фирма IAR не занимается технической поддержкой Evaluation-версий своих продуктов. Версии Evaluation предоставляются только для ознакомительных целей. Так что про license number там не зря упоминание и bug-report слать бесполезно.
Кстати, при регистрации на сайте для техподдержки (не для скачивания Eval-версий!!!) тоже спрашивают license number, но для full-версии. license number сгенерированный всем известной клизмой для eval там ни разу не катит.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 6 2009, 14:31
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(rezident @ Jan 6 2009, 16:15) *
Фирма IAR не занимается технической поддержкой Evaluation-версий своих продуктов. Версии Evaluation предоставляются только для ознакомительных целей. Так что про license number там не зря упоминание и bug-report слать бесполезно.
Но фирма IAR заинтересована в устранении ошибок в своих продуктах (ибо они вылезут и в коммерческой версии). Поэтому польза от bug-репорта будет. Скорее всего они не пришлют вам заплатку, но велика вероятность, что в следующей версии этот баг будет исправлен. А версии выходят достаточно часто.

Цитата(MALLOY2 @ Jan 6 2009, 15:29) *
Если кто может послать баг репорт в IAR огромное спасибо, я его посылать не буду так как пишу по буржуйски токо "Привед медвед".
Ну, сложно подчиненные предложения там не требуются. Достаточно чего-либо вроде "Hello. I got internal error <текст ошибки> in attached project with <номер версии> version of EWARM. Regards <ФИО>." К сообщению приложить зазипованный (! а не за rarенный) минимальный проект, на котором воспроизводится ошибка. Все. Адрес техподдержки есть на сайте.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- MALLOY2   Баг EWARM 5.20.3   Jan 5 2009, 21:17
- - GetSmart   Разная оптимизация влияет на ошибку? И ещё хотело...   Jan 5 2009, 23:08
- - MALLOY2   Глюк проявляется только при высокой оптимизации и ...   Jan 6 2009, 09:38
- - GetSmart   Цитата(MALLOY2)да нету там ничего test присваивает...   Jan 6 2009, 10:36
- - MALLOY2   Вот вы пристали что там, да нет там ничего вобще ...   Jan 6 2009, 11:13
- - GetSmart   Я за то чтобы в таких случаях компилер ругался и н...   Jan 6 2009, 11:39
|- - Сергей Борщ   Цитата(GetSmart @ Jan 6 2009, 13:39) Я за...   Jan 6 2009, 12:31
|- - rezident   Цитата(Сергей Борщ @ Jan 6 2009, 19:31) Н...   Jan 6 2009, 15:30
- - MALLOY2   ЦитатаТупым компилятором. Чтобы потом юзер в ранта...   Jan 6 2009, 13:29
|- - GetSmart   Цитата(MALLOY2 @ Jan 6 2009, 19:29) 1. Ду...   Jan 6 2009, 16:05
- - MALLOY2   ЦитатаЛибо сами создайте минимальный проект с мини...   Jan 6 2009, 21:07


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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 21:27
Рейтинг@Mail.ru


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