@not_on_pizza @revenant @KS that..... doesn't.... matter, tho? like, unsequenced accesses aren't UD, they're just implementation defined / unspecified?

... or am i missing something else here?

Kaito / Katie Sinclaire @KS

@gdkar @revenant @not_on_pizza because doom's netcode and demo replay code relies on things being completely deterministic across all platforms

if even one thing is off, demos go out of sync or netplay games instantly die (consistency failure)

· Web · 0 · 0

@KS @not_on_pizza @revenant @gdkar I'm still not seeing anything here that's "undefined behavior" in the sense that the C standard uses that phrase? I get that it's unwanted ambiguity in terms of application-level requirements on replays, but that isn't the same thing. I guess it would make a difference if this is a macro invocation instead of a function call, though?

@jamey @KS @not_on_pizza @gdkar okay, i think it's technically "unspecified" rather than "undefined", but it's still less deterministic than it's supposed to be

@jamey @KS @not_on_pizza @gdkar tbf the fact that those two terms even mean two different things to begin with isn't really a point in the C standard's favor