diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-03-20 22:56:31 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-03-20 22:56:31 +0000 |
commit | 2aa29ee7c150994d5be4acf9d13a678d97f07816 (patch) | |
tree | f9ff313839bb74cdc90d832cac0515d676921709 /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 4af44f3c13fb1ab6745a694a21d349861b472d90 (diff) | |
download | bcm5719-llvm-2aa29ee7c150994d5be4acf9d13a678d97f07816.tar.gz bcm5719-llvm-2aa29ee7c150994d5be4acf9d13a678d97f07816.zip |
[COFF] Remove undefined behavior from ObjectFile::createWeakExternal
LLD type-punned an integral type and a pointer type using a pointer
field. This is problematic because the pointer type has alignment
greater than some of the integral values.
This would be less problematic if a union was used but it turns out the
integral values are only present for a short, transient, amount of time.
Let's remove this undefined behavior by skipping the punning altogether
by storing the state in a separate memory location: a vector which
informs us which symbols to process for weak externs.
llvm-svn: 263918
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions