https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61421

--- Comment #1 from mimamer at gmail dot com ---
A minimalistic version that breaks with all -O2 flags set:

Starting from an empty main_list:

Node *node;
//asm volatile("":::"memory");
while ( (node = main_list.dequeue()) != main_list.end() )
    _dprintf("");

Uncomment the memory barrier and it works.

Reply via email to