HomePhabricator

Merging r339428 and r339494:

Description

Merging r339428 and r339494:

r339428 | theraven | 2018-08-10 14:53:13 +0200 (Fri, 10 Aug 2018) | 18 lines

Add Windows support for the GNUstep Objective-C ABI V2.

Summary:
Introduces funclet-based unwinding for Objective-C and fixes an issue
where global blocks can't have their isa pointers initialised on
Windows.

After discussion with Dustin, this changes the name mangling of
Objective-C types to prevent a C++ catch statement of type struct X*
from catching an Objective-C object of type X*.

Reviewers: rjmccall, DHowett-MSFT

Reviewed By: rjmccall, DHowett-MSFT

Subscribers: mgrang, mstorsjo, smeenai, cfe-commits

Differential Revision: https://reviews.llvm.org/D50144


r339494 | dyung | 2018-08-11 04:46:47 +0200 (Sat, 11 Aug 2018) | 2 lines

Make the section boundary checks on Windows not depend on the order as they are emitted in reverse when the compiler is built by Visual C++.


Details

Committed
hansAug 13 2018, 12:59 AM
Reviewer
rjmccall
Differential Revision
D50144: Add Windows support for the GNUstep Objective-C ABI V2.
Parents
rL339537: [GuardWidening] Widen very likely non-taken br instructions
Branches
Unknown
Tags
Unknown