summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-03-20 22:56:31 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-03-20 22:56:31 +0000
commit2aa29ee7c150994d5be4acf9d13a678d97f07816 (patch)
treef9ff313839bb74cdc90d832cac0515d676921709 /clang/lib/CodeGen/CodeGenFunction.cpp
parent4af44f3c13fb1ab6745a694a21d349861b472d90 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud