Commit Graph

6 Commits

Author SHA1 Message Date
Douglas Yung bbae650adb 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++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@339494 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-11 02:46:47 +00:00
David Chisnall 6020984018 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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@339428 91177308-0d34-0410-b5e6-96231b3b80d8
2018-08-10 12:53:13 +00:00
David Chisnall 2adbacd2c4 [objc-gnu] Fix test.
The test was implicitly capturing the local filesystem layout.

Patch by Hans Wennborg!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@332965 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22 10:13:14 +00:00
David Chisnall b8a49afcfa Revert "Revert r332955 "GNUstep Objective-C ABI version 2""
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@332963 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22 10:13:06 +00:00
Bjorn Pettersson 7f399dc659 Revert r332955 "GNUstep Objective-C ABI version 2"
Reverted due to buildbot failures.
Seems like isnumber() is some Apple addition to cctype.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@332957 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22 08:16:45 +00:00
David Chisnall f018741d7d GNUstep Objective-C ABI version 2
Summary:
This includes initial support for the (hopefully final) updated Objective-C ABI, developed here:

https://github.com/davidchisnall/clang-gnustep-abi-2

It also includes some cleanups and refactoring from older GNU ABIs.

The current version is ELF only, other formats to follow.

Reviewers: rjmccall, DHowett-MSFT

Reviewed By: rjmccall

Subscribers: smeenai, cfe-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@332950 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-22 06:09:23 +00:00