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