Remix.run Logo
trealira a day ago

> In C99, it was made expressly legal, but it was erroneously included in the list of undefined behavior annex.

In C99, union type punning was put under Annex J.1, which is unspecified behavior, not undefined behavior. Unspecified behavior is basically implementation-defined behavior, except that the implementor is not required to document the behavior.

ryao a day ago | parent [-]

We can use UB to refer to both. :)

hermitdev a day ago | parent | next [-]

> We can use UB to refer to both. :)

You can, but in the context of the standard, you'd be wrong to do so. Undefined behavior and unspecified behavior have specific, different, meanings in context of the C and C++ standards.

Conflate them at your own peril.

trealira a day ago | parent | prev [-]

Maybe, but we were talking about "undefined behavior," not "UB," so the point is moot.

a day ago | parent [-]
[deleted]