mirror of
https://github.com/darlinghq/darling-libobjc2.git
synced 2024-12-18 01:26:53 +00:00
6317b79a10
clang trunk if -fobjc-runtime-1.7 is specified and provides significantly better interoperability with foreign exceptions. Note: Most of the exception tests will not pass with gcc or clang < 3.3. They test things that are impossible to implement quite correctly with the GCC-compatible exception ABI. Also updated the release notes to reflect recent improvements.
57 lines
2.5 KiB
Plaintext
57 lines
2.5 KiB
Plaintext
GNUstep Objective-C Runtime 1.7
|
|
===============================
|
|
|
|
This is a point release to the eighth official release of the GNUstep
|
|
Objective-C runtime (a.k.a. libobjc2). This runtime was designed to support
|
|
the features of modern dialects of Objective-C for use with GNUstep and other
|
|
Objective-C programs. Highlights of this release include:
|
|
|
|
- A new CMake-based build system. This makes all of the configurable options
|
|
available via a clean interface. CPack is supported for building RPM and DEB
|
|
packages out of the box.
|
|
|
|
- A new CTest-based test suite, replacing the old ad-hoc tests.
|
|
|
|
- Build a single libobjc with support for Objective-C++ on platforms where a
|
|
C++ ABI library (libcxxrt or libsupc++) is installed as a shared library.
|
|
|
|
- Added specialised property accessor functions and support for atomic
|
|
properties with C++ non-POD types.
|
|
|
|
- A new exception implementation providing better integration with foreign
|
|
exceptions (e.g. C++ exceptions). The new ABI is supported by clang 3.3 when
|
|
compiling with -fobjc-runtime=gnustep-1.7 (or higher). The old ABI is still
|
|
supported and both can be used within the same program, however code compiled
|
|
with the old ABI remains unreliable in the presence of foreign exceptions.
|
|
It is strongly recommended that anyone using exceptions with Objective-C++
|
|
switches to the new version.
|
|
|
|
- MIPS64 support in the assembly routines. (TODO)
|
|
|
|
- Updated optimisation passes to work with LLVM 3.2 and recent LLVM trunk.
|
|
|
|
|
|
You may obtain the code for this release from subversion at the following
|
|
subversion branch:
|
|
|
|
svn://svn.gna.org/svn/gnustep/libs/libobjc2/1.7
|
|
|
|
Alternatively, a tarball is available from:
|
|
|
|
http://download.gna.org/gnustep/libobjc2-1.7.tar.bz2
|
|
|
|
The runtime library is responsible for implementing the core features of the
|
|
object model, as well as exposing introspection features to the user. The
|
|
GNUstep runtime implements Apple's Objective-C Runtime APIs, and a small number
|
|
of GCC APIs for legacy compatibility.
|
|
|
|
This library is based on the Étoilé Objective-C Runtime, an earlier research
|
|
prototype, and includes support for non-fragile instance variables,
|
|
type-dependent dispatch, and object planes. It is fully backwards compatible
|
|
with the FSF's GCC 4.2.1 Objective-C ABI and also implements a new ABI that is
|
|
supported by Clang and Étoilé's LanguageKit and is required for some of the
|
|
newer features.
|
|
|
|
If you come across any problems, please report them to the GNUstep Developer
|
|
mailing list <gnustep-dev@gnu.org>.
|