> } I would be interested in knowing an actual example of the comparison > } problem with the CIRCLEQ macro, if the concern isn't theoretical. Since > > Uh, do you really think people would be doing all this work > for something that was theoretical? The problem is that gcc 4.8 > optimises out the comparison as being always false due to the > anti-alias rule.
correct. CIRCLEQ was broken with GCC 4.8. TAILQ appears fine. the observations were that nvi(1) would hang while blocking signals (ie, you had to kill -9 from another window), and i used tests/lib/libc/db/ to eventually locate the problem. in these cases, the *INSERT*() macros were never inserting for the head of the queue, which would cause the iteration macros to loop forever. .mrg.