Skip to content
Commit 01c098da authored by Michael Pyne's avatar Michael Pyne
Browse files

Fix type-punning/non-standard-aliasing issues.

Reported aeons ago as bug 259826, somehow evaded interest up to this
point.

The issue is essentially that the C++ standard allows compilers to
optimize some forms of crazy type changes, which makes the flagged code
dangerous in the face of "future optimization improvements".

None of the flagged code was so crazy that it couldn't have been
implemented in a more straightforward fashion though. The only change
I'm not 100%-alright with is the change to dds.cpp, but that code has
other issues anyways (though I did test that it still works as much as I
could).

However because of the risk of breakage I do not intend to backport.
Hopefully sufficiently-smart compilers will wait until the next major
release.

BUG:259826
FIXED-IN:4.11
parent 859db6c5
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment