Commit Graph

9 Commits

Author SHA1 Message Date
theraven
f50bc6cf33 Added support for tracing message sends to the runtime.
Currently x86-64 only.
2013-06-29 11:05:31 +00:00
theraven
5d3c047fa2 Finished implementing JavaScript-style prototypes. 2011-08-07 19:50:32 +00:00
theraven
ffc661fe5c Export capabilities for associated references and GC. 2011-07-19 12:34:20 +00:00
theraven
bc87ed22e1 Implemented support for __weak with ARC.
ARC functions are all now exposed in a header, but not yet documented.  See the ARC ABI spec for now:

http://clang.llvm.org/docs/AutomaticReferenceCounting.html#runtime
2011-06-29 13:12:02 +00:00
thebeing
ee7817cf57 Implement a hook that allows the compiler to register the aliases used with the
@compatibility_alias directive so that they can be resolved at runtime.
2011-03-25 20:01:43 +00:00
theraven
7e465eb325 Tweak building without ObjC++ support a bit. 2011-03-21 17:44:51 +00:00
theraven
73e1e2934b It turns out that Apple chose some confusing and non-intuitive semantics for
catching Objective-C objects in C++ catch statements (i.e. they follow
Objective-C semantics, not C++ semantics, irrespective of whether you use C++
or ObjC syntax).  We now default to Apple-compatible behaviour, but provide a
function that allows users to select the sane semantics if they prefer.

Added a capability bit for the unified exception model, so code can require it.
This is not really required, since any code using it will link against the
ObjC++ personality function and will get a linker failure if it isn't supported.

Also enabled Objective-C++ stuff by default.  This adds a dependency on the C++
standard library (actually on libsupc++, but GNUstep Make wants to link against
libstd++ anyway), which is not ideal.  It can be disabled with:

$ gmake objectiver-cxx=no

I suggest that this is only done by people who know that they will never want
Objective-C++ support.
2011-03-21 17:39:06 +00:00
theraven
8db63b976f Initial work on developer mode (allows classes to be replaced at run time with new versions, by cooperating IDEs). This support is part of ongoing work to provide fix-and-continue functionality with Clang / Cling and LanguageKit. 2011-01-15 12:37:02 +00:00
theraven
ab59ce1d33 Add feature test APIs to libobjc2. 2010-09-08 14:02:03 +00:00