@RichFelker That's a pretty wild statement. Who's going to pay to fix the old code? Who's going to *find* the UB given that compilers can't.
@CopperheadSec @dotstdy Yes, any potentially UB read would have to be performed as if it were volatile.
-
-
@RichFelker@dotstdy Well, it would need to reserve registers for uninitialized data and actually spill/restore them. -
@RichFelker@dotstdy So the main cost would probably be increased register pressure. It could get quite bad in some cases. -
@RichFelker@dotstdy http://llvm.org/docs/LangRef.html#undefined-values … and http://llvm.org/docs/LangRef.html#poison-values … are essentially what compilers actually want (basically lazy UB). -
@RichFelker@dotstdy Those aren't much more useful than outright UB, but it's at least a bit friendlier with no performance cost. -
@RichFelker@dotstdy Compilers don't actually like strict UB semantics because it means signed addition, etc. can have a side effect. -
@CopperheadSec@dotstdy I'd say they're quite happy with it being UB since that's what allows them to make this choice. -
@RichFelker@dotstdy Yeah, definitely. It's just much stricter than what they really need. -
@RichFelker@dotstdy The lazy semantics would enable some source level optimizations that are currently undefined. Not a big deal though.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.