> As far as I can see its the latest change, which turned the macro
> into fuctions. I think its overall quite mysterious under which
> circumstances gcc (or clang) optimize that check away. In particular
> because compilers change and something that works now might break
> tomorrow.

I don't know for sure if the old code relied on undefined behavior or
if Clang simply miscompiled it. The macro -> function transformation
did not really alter the semantics other than introducing volatile
attributes so if the new form breaks gcc I suppose we were just lucky
with the old one.

> That said, I think it makes sense to use something which does _not_
> involve any undefined behavior.

Agreed. If people mind the 7.9 instability with gcc I can revert the
bignum patch since Clang isn't default even on OS X 10.8, but maybe we
can give it a few days first.
  • War... Jonas Walldén @ Pike developers forum
    • ... Martin Nilsson (Opera Mini - AFK!) @ Pike (-) developers forum
    • ... Mirar @ Pike developers forum
      • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
        • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
          • ... Jonas Walldén @ Pike developers forum
            • ... Jonas Walldén @ Pike developers forum
              • ... Arne Goedeke
                • ... Jonas Walldén @ Pike developers forum
                • ... Arne Goedeke
                • ... Jonas Walld�n @ Pike developers forum
                • ... Arne Goedeke
              • ... Peter Bortas @ Pike developers forum
    • ... Martin Nilsson (Opera Mini - AFK!) @ Pike (-) developers forum
    • ... Mirar @ Pike developers forum

Reply via email to