------- Comment #34 from rguenth at gcc dot gnu dot org 2010-02-21 13:04 ------- (In reply to comment #33) > (In reply to comment #32) > > If this hazard is so prevalent shouldn't it deserve a separate PR? > > If a method or function depend on a flag or macro then it can be handled > > by overloading and specialization without ODR violation. > > It would be closed immediately as WONTFIX, to be clear. There is nothing we > can > do in the foreseeable future, it's **everywhere** and totally unfixable > without > breaking ABI and much more than that. > > > When this hazard is, like in this case, appears in a constant then things > > are more difficult. An unexpected behavior may be observed when is_modulo > > is passed by reference, and I don't see what can be done in this case, > > not in 100% of the scenarios. Even if GCC annotates the two different > > variants of is_modulo differently, such that there will be two different > > physical allocations of is_modulo, it will still be possible to get to > > some misbehavior in weird cases. Oh well... > > I see that I'm not going to work on it. Actually, I'll wait one month or so, > and then if I will not get at least one concrete proposal, I will close this > one as WONTFIX.
Or suspend it. I think this warrants a defect report anyway since I think is_modulo was intended to describe CPU behavior as otherwise defining signed integer overflow as undefined in one piece of the standard and then requiring a sane answer for is_modulo in another part sounds like a conflict of interest. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22200