diff options
author | Erik Pilkington <erik.pilkington@gmail.com> | 2020-09-02 12:23:17 -0400 |
---|---|---|
committer | Erik Pilkington <erik.pilkington@gmail.com> | 2020-09-02 15:01:53 -0400 |
commit | 9523cf02c22a83bece8d81080693a0cbf4098bb5 (patch) | |
tree | 8e06c5897e759f3da8dfe9f498ee8a53e8b52536 /clang/lib/Serialization/ModuleManager.cpp | |
parent | e0e7eb2e2648aee83caf2ecfe2972ce2f653d306 (diff) | |
download | llvm-9523cf02c22a83bece8d81080693a0cbf4098bb5.zip llvm-9523cf02c22a83bece8d81080693a0cbf4098bb5.tar.gz llvm-9523cf02c22a83bece8d81080693a0cbf4098bb5.tar.bz2 |
[AST] Fix handling of long double and bool in __builtin_bit_cast
On x86, long double has 6 unused trailing bytes. This patch changes the
constant evaluator to treat them as though they were padding bytes, so reading
from them results in an indeterminate value, and nothing is written for them.
Also, fix a similar bug with bool, but instead of treating the unused bits as
padding, enforce that they're zero.
Differential revision: https://reviews.llvm.org/D76323
Diffstat (limited to 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions