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

 
 
> EWARM 4.41A, EWAVR 4.30A: баг оптимизатора, теперь и в 5.11! :)
vet
сообщение Mar 13 2008, 08:25
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



При включении высокого (9) уровня оптимизации следующий код транслируется с ошибкой:
Код
#define  LIST_CAPACITY 4

typedef struct tag_List
{
  int      Addr;
  struct tag_List *Next;
} List;

List list[LIST_CAPACITY];

void ListInit(void)
{
  List  *pList;
  int i;

  for (i = 0; i < LIST_CAPACITY-1; i++)
  {
    pList = &list[i];
    pList->Addr = i;
    pList->Next = &list[i + 1];   //строка не транслируется
  }
  pList->Next = NULL;
}


На строку, помеченную комментарием, не создается никакого кода.
Проявляется при оптимизации и по скорости, и по размеру. На других уровнях оптимизации - порядок.
Кто работает с 5-й версией, проверьте - не исправлен этот баг?


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post



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

 


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


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