691 Commits

Author SHA1 Message Date
theraven
b68a5dda6d Get the libobjc2 optimisations building again with LLVM trunk. 2011-08-16 12:58:44 +00:00
theraven
3e4b528ea4 Don't link libobjcxx to libobjc (for some reason, doing so causes it to be loaded twice). 2011-08-16 12:05:09 +00:00
theraven
be3f8ddf0f Fix bug spotted by Justin Hibbits. 2011-08-16 09:13:43 +00:00
theraven
4e3e71c750 Tweak 64-bit support for small objects. 2011-08-14 18:04:51 +00:00
theraven
a7d4cfd640 Make the version of libobjc generated by the makefile the one Etoile expects 2011-08-13 18:54:28 +00:00
theraven
bb283464cd It's a good idea, it turns out, if it's possible to propagate exceptions through the code responsible for... propagating exceptions. 2011-08-13 16:07:24 +00:00
theraven
c6a409bb3a Some fixes to the Makefile 2011-08-13 12:59:29 +00:00
theraven
e35b0a09e1 windows.h defines its own BOOL, just to be special. Redefine this as WINBOOL to work around the incompatibility with ObjC.
Patch by Mathieu Suen!
2011-08-09 12:57:20 +00:00
theraven
f133fa7eb8 Better ObjC++ support in runtime.h 2011-08-08 17:07:46 +00:00
theraven
99761c2877 More fixes to Makefile.clang.
Patch by Charlie Sharpsteen!
2011-08-08 15:53:36 +00:00
theraven
1d16930450 Fix missing semicolon.
Make Makefile.clang work

Patch by Charlie Sharpsteen.
2011-08-08 13:19:52 +00:00
theraven
38568fca57 Remove some dead code. Fix a bug when cloning objects with no associated references. 2011-08-07 20:39:33 +00:00
theraven
5d3c047fa2 Finished implementing JavaScript-style prototypes. 2011-08-07 19:50:32 +00:00
theraven
b54719abf1 Basic support for prototype-style object orientation (you can now add methods to an individual object). 2011-08-07 17:04:44 +00:00
theraven
55d86bba6c Blocks cleanups. 2011-08-07 15:41:46 +00:00
theraven
6a27408e9e Fix malloc() / free() imbalance. 2011-07-31 16:30:33 +00:00
theraven
908374672d Make OBJC_SMALL_OBJECT_SHIFT / OBJC_SMALL_OBJECT_MASK constants. 2011-07-31 16:25:38 +00:00
theraven
8e34dccda9 Deprecate access to the isa pointer. This will become a hard error in future. 2011-07-27 10:39:48 +00:00
theraven
22e5aaf7b0 Add OBJC_SMALL_OBJECT_SHIFT macro. 2011-07-26 19:13:06 +00:00
theraven
f3d2b7034c Small object + ARC tweaks. 2011-07-26 17:56:37 +00:00
theraven
2288ff54e3 Don't try to enable GC in ARC mode. 2011-07-26 17:42:22 +00:00
theraven
8af52846b7 Small object (hidden in a pointer) support. 2011-07-26 17:39:13 +00:00
theraven
f6d9318619 s/fifth/sixth 2011-07-23 16:48:23 +00:00
theraven
1fd4fe5854 Bump subminor version number 2011-07-23 15:44:06 +00:00
theraven
fceec26cb7 Fix bug assigning weak references. 2011-07-23 15:34:00 +00:00
theraven
0c6c31acec Fix file locations for 1.5 release. 2011-07-20 14:06:08 +00:00
theraven
ae7cefe382 Disable GC by default (lots of people moan that it doesn't compile)
Update ANNOUNCE.
2011-07-20 14:02:35 +00:00
theraven
ffc661fe5c Export capabilities for associated references and GC. 2011-07-19 12:34:20 +00:00
theraven
2d493697a6 Work around PyObjC's stupid abuse of the message-send-to-super mechanism. 2011-07-19 11:47:36 +00:00
theraven
3219a530d6 Don't call byref keep / dispose when they don't exist. 2011-07-17 12:35:50 +00:00
theraven
dfbf18cc67 Fixed <= bug in weak references. We're storing the EXTRA retain count, not the refcount. 2011-07-16 17:00:23 +00:00
theraven
61a7c53a08 Handle NULL arguments to block copy / release. 2011-07-14 21:10:59 +00:00
theraven
83db079968 Fix bug in fast path for class_getInstanceMethod() 2011-07-14 17:41:36 +00:00
theraven
65d6a8dfb5 When changing the size of structures, it's a good idea to make sure that you change everything that depends on those sizes too... 2011-07-14 17:23:48 +00:00
theraven
4e7b476aa6 Change [1] to [] for variable length structure elements (C99 - silences array out of bounds errors).
Added fields to the end of the class structure for strong / weak ivar bitmaps (not yet generated by any compiler).

Fixed definition of __sync_swap() so that it works on GCC again.
2011-07-12 15:48:40 +00:00
theraven
219f921bc3 Fix some bugs in class_getInstanceMethod() 2011-07-11 22:51:18 +00:00
theraven
e69ed0696d Better recovery when things are done in the wrong order. 2011-07-11 13:55:16 +00:00
theraven
3754c9fdbe Accidentally deleted class declaration for Protocol2. Add it back. 2011-07-11 11:28:36 +00:00
theraven
5448596ace Update Makefile. 2011-07-10 17:20:10 +00:00
theraven
3a27521f57 Add flag for identifying modules that use ARC. 2011-07-07 09:45:34 +00:00
theraven
e0ae8ce474 Another 64-bit issue. 2011-07-07 09:29:00 +00:00
theraven
33864e9676 Fix int -> size_t, causing breakage on 64-bit big-endian platforms. 2011-07-07 08:59:54 +00:00
theraven
52fb301a45 Move return statement into the conditional, where it belongs. 2011-07-06 16:40:46 +00:00
theraven
e8583bf4ae Updated README to give some more information about ARC. 2011-07-06 11:06:39 +00:00
theraven
0b9e0fd295 Added fast implementation of autorelease pools for ARC. 2011-07-06 11:00:00 +00:00
theraven
a255dcd2d1 ...and fix dereferencing of NULL pointer introduced with last commit. 2011-07-05 09:05:54 +00:00
theraven
e7a6be5584 Tighten up loading of __weak variables slightly. 2011-07-05 09:03:37 +00:00
theraven
69e53c4cdb Better test for presence of __sync_swap(). 2011-07-05 08:59:58 +00:00
theraven
893b9bf958 Add guard if __has_feature is not defined. 2011-07-05 08:53:34 +00:00
theraven
d61e9b3209 Fix __weak references to blocks. 2011-07-04 23:27:29 +00:00