summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/StackProtector.cpp
diff options
context:
space:
mode:
authorMichal Gorny <mgorny@gentoo.org>2017-01-03 16:33:50 +0000
committerMichal Gorny <mgorny@gentoo.org>2017-01-03 16:33:50 +0000
commit21c12044d29b8bd873c3f9803f441e79560f1742 (patch)
tree4eaff72163e5995de633fc0f1efb31157b38050d /llvm/lib/CodeGen/StackProtector.cpp
parenta6f5795ae2b57671c2cc44a93779e4a61d071644 (diff)
downloadbcm5719-llvm-21c12044d29b8bd873c3f9803f441e79560f1742.tar.gz
bcm5719-llvm-21c12044d29b8bd873c3f9803f441e79560f1742.zip
[ADT] APFloatBase: Prevent collapsing semPPCDoubleDouble and semBogus
Provide a distinct contents for semBogus and semPPCDoubleDouble in order to prevent compilers from collapsing them to a single memory address, while we heavily rely on every semantic having distinct address. This happens if insecure optimization collapsing identical values is enabled. As a result, APFloats of semBogus are indistinguishable from semPPCDoubleDouble -- and whenever the move constructor is used, the old value beings being incorrectly recognized as a semPPCDoubleDouble. Since the values in semPPCDoubleDouble are not used anywhere, we can easily solve this issue via altering the value of one of the fields and therefore ensuring that the collapse can not occur. Differential Revision: https://reviews.llvm.org/D28112 llvm-svn: 290896
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud