summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2016-09-16 02:40:45 +0000
committerJohn McCall <rjmccall@apple.com>2016-09-16 02:40:45 +0000
commitd23b27e0d88e1218611721f5949f18559461afc4 (patch)
tree962c6946e2b84787732a8886786fc9ae2fe8afbe /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parente0d2d58ff72e9b70a3faf533ba8823dd3bf917db (diff)
downloadbcm5719-llvm-d23b27e0d88e1218611721f5949f18559461afc4.tar.gz
bcm5719-llvm-d23b27e0d88e1218611721f5949f18559461afc4.zip
Alter the iOS/tvOS ARM64 C++ ABI to ignore the upper half of the
virtual table offset in a member function pointer. We are reserving this space for future ABI use relating to alternative v-table configurations. In the meantime, continue to zero-initialize this space when actually emitting a member pointer literal. This will successfully interoperate with existing compilers. Future versions of the compiler may place additional data in this location, and at that point, code emitted by compilers prior to this patch will fail if exposed to such a member pointer. This is therefore a somewhat hard ABI break. However, because it is limited to an uncommon case of an uncommon language feature, and especially because interoperation with the standard library does not depend on member pointers, we believe that with a sufficiently advance compiler change the impact of this break will be minimal in practice. llvm-svn: 281693
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud