The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект GCC разрешил приём изменений без передачи Фонду СПО прав на код"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Ссылки "<<" и ">>" открывают первые и последние 10 сообщений.
. "Проект GCC разрешил приём изменений без передачи Фонду СПО п..." +/
Сообщение от n00by (ok), 04-Июн-21, 09:12 
> А в чём тут UB? В том, что тут в одном выражении
> используется две mutable ссылки на *rt, а C не определяет порядок
> вычисления аргументов оператора '=' так же, как он не определяет порядок
> вычисления аргументов функции?

Именно. Следует добавить явную sequence point:

-   rt->n[idx].next = rtrie_new_node(rt, chr);

+   rtrie_index next = rtrie_new_node(rt, chr);
+   rt->n[idx].next = next;

Даже если вернуть "контекст", как просят в #162, и в определении rtrie_new_node() окажется, что rt->n неизменно, так завтра кто-то обязательно изменит.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проект GCC разрешил приём изменений без передачи Фонду СПО прав на код, opennews, 03-Июн-21, 12:43  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру