https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107435
--- Comment #1 from David Binderman <dcb314 at hotmail dot com> --- Reduced C code seems to be: struct qlist_head { struct qlist_head *next } qlist_add(struct qlist_head *new, struct qlist_head *head) { struct qlist_head *prev = head; new->next = head->next; prev->next = new; } struct { struct qlist_head queue_link } free_list, prealloc[]; dbpf_open_cache_initialize() { int i = 0; for (; i < 64; i++) qlist_add(&prealloc[i], &free_list); }