diff options
author | David Chisnall <csdavec@swan.ac.uk> | 2018-04-12 06:46:15 +0000 |
---|---|---|
committer | David Chisnall <csdavec@swan.ac.uk> | 2018-04-12 06:46:15 +0000 |
commit | 10e590e950b80dd1cef95c5ec3cfc11b513343da (patch) | |
tree | 0bf451f3043ef5acc8046fe293d8dacd7724c7d3 /llvm/lib/CodeGen/MachineScheduler.cpp | |
parent | 60874d4fafde7439cb4610b704abba93ab45af13 (diff) | |
download | llvm-10e590e950b80dd1cef95c5ec3cfc11b513343da.zip llvm-10e590e950b80dd1cef95c5ec3cfc11b513343da.tar.gz llvm-10e590e950b80dd1cef95c5ec3cfc11b513343da.tar.bz2 |
ObjCGNU: Fix empty v3 protocols being emitted two fields short
Summary:
Protocols that were being referenced but could not be fully realized were being emitted without `properties`/`optional_properties`. Since all v3 protocols must be 9 processor words wide, the lack of these fields is catastrophic for the runtime.
As an example, the runtime cannot know [here](https://github.com/gnustep/libobjc2/blob/master/protocol.c#L73) that `properties` and `optional_properties` are invalid.
Reviewers: rjmccall, theraven
Reviewed By: rjmccall, theraven
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D45305
llvm-svn: 329882
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions