* the tree is the same, the actual key value can differ.
*/
}
-#if defined(__GNUC__) && (__GNUC__ * 1000 + __GNUC_MINOR__ < 4002)
/*
- * This function sometimes triggers optimizer bugs in GCC 4.1.1 and
- * possibly also earlier versions, leading to an assumption that tree[1]
- * does not change during this function. We add an explicit memory barrier
- * as a work-around. Ugh.
+ * This function sometimes triggers optimizer bugs in GCC versions up to 4.2.1,
+ * leading to an assumption that tree[1] does not change during this function.
+ * We add an explicit memory barrier as a work-around. Ugh. See GCC Bug #33262.
*/
asm volatile ("" : : : "memory");
-#endif
}
static inline void P(set_tree)(P(key) *keys, P(mwt) *tree, uns i, int val)