theraven
395c5fe220
Revert changes to sync.m, now that the function that it was calling is more robust.
15 years ago
theraven
28e6960441
Make object_getIndexedIvars() more robust against compiler bugs.
15 years ago
theraven
e22f66bfae
And, it seems, clang is really insistent that Class is an opaque type...
15 years ago
theraven
fa2e7a9d95
Note to self: type svn commit in the correct window.
15 years ago
theraven
5c925929b4
Work around a bug in clang that incorrectly reports the size of a class.
15 years ago
theraven
0ec21b99bf
Added 1.2 release announcement.
15 years ago
theraven
94e5f7b344
Return "nil" instead of nil from class_getName with a nil argument. This is stupid (what happens if you have a class called nil?) but it is what OS X does.
15 years ago
theraven
2e3b19b735
Ugh, made the same mistake I spent an entire lecture telling my students not to make. Feeling stupid.
15 years ago
theraven
4a3326f2fd
Fix class_getMethodImplementation() semantics for Apple compatibility (returns forwarding selector IMP, doesn't actually do the forwarding).
15 years ago
theraven
5574585b0f
Don't load the same class twice.
15 years ago
thebeing
39ec489d16
Fix non gnustep-make Makefile.
15 years ago
theraven
ff915fc373
Added a really ugly hack to work around the painfully broken register allocator in GCC that caused the compiler to crash when attempting to compile blocks_runtime.m.
15 years ago
theraven
91e9758fda
Add lots of checks for NULL-pointer arguments to runtime functions.
15 years ago
theraven
caa4a7253c
Some memory management fixes to the blocks runtime.
15 years ago
theraven
4e3cacf997
Comment out some unused variables.
15 years ago
theraven
cf7d127f66
Fix enumeration mutation function prototype to match what clang expects (id instead of void* argument).
15 years ago
theraven
618003649d
Made sync enter / exit functions return int (0). This is how their prototypes are declared on OS X, although neither clang nor gcc actually generates code that tests the return value...
15 years ago
theraven
e0d80861b5
Added some documentation.
15 years ago
theraven
dda2e03871
Whitespace cleanup.
15 years ago
theraven
8c966c461b
Return the forwarding IMP from get_imp if required.
15 years ago
theraven
61a9379c9c
Encodings of structures in ivars include the encoding of the field names (this is actually really nice: we could - in theory - expose structure field members via KVC, as an extension). This case was not correctly handled by libobjc2.
15 years ago
theraven
63c2c0ce73
Added NULL checks to class_respondsToSelector()
15 years ago
theraven
e76143d006
And, for symmetry, remove an UNLOCK() that wasn't needed...
15 years ago
theraven
af90153d7f
And fix the same bug in the other place.
15 years ago
theraven
b9f9ce3bba
Fix missing UNLOCK() in hash table.
15 years ago
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.
15 years ago
theraven
39c9d21867
Remove use of macro that doesn't exist anymore...
15 years ago
theraven
bde6bf0e14
Fix truncated comment in header and 'worse than useless' macro.
...
Both issues pointed out by Jens Ayton.
15 years ago
theraven
ff3f7be5fc
Added 1.1 announcement. Committed some work-in-progress clang-specific build stuff (don't use this, it doesn't work correctly yet).
15 years ago
theraven
4ab4b4033b
Bumped version to 1.1
15 years ago
theraven
661d406a8c
Added property structure copy functions.
15 years ago
ericwa
a7ea477400
libobjc2: put libobjc compatibility functions in runtime.h marked __attribute__((deprecated))
15 years ago
theraven
14ccd9b0d3
Don't rely on constructor attribute - depending on undefined orderings is bad.
15 years ago
theraven
e70d00a76d
Restore accidentally deleted toydispatch.h.
15 years ago
theraven
a83428b883
Move toydispatch into libobjc2.
...
Some build system tidies.
Add -retain / release to Protocol.
Initial work on clang-specific makefile.
15 years ago
theraven
b5f4782dbf
Tidy up the block code slightly.
15 years ago
theraven
786b34875e
Removed line that should not have been committed.
15 years ago
theraven
5519421c57
Apparently the BLOCK_HAS_DESCRIPTOR flag now means something else...
15 years ago
theraven
37606d1936
Improvements to the Makefile. Patch by Pete French.
15 years ago
theraven
2e2856ce73
Build a static library from the Makefile.
...
Patch by Pete French.
15 years ago
theraven
299e6806b5
Fix build with the Makefile.
15 years ago
qmathe
9dbf872f33
Fixed crash when resolving user-allocated classes (e.g. KVO) revealed by r31482.
...
objc_resolve_class() does ((Class)objc_getClass((char*)cls->isa->isa))->isa;
but cls->isa->isa was a metaclass object and not a C string if the class was
user-created. objc_allocateClassPair() has been changed to set the
meta-metaclass as a C string and not an object, so that objc_getClass() does
not return Nil.
15 years ago
theraven
f66a69561a
Fix metametaclass setup.
15 years ago
theraven
76bb7762ff
Properly resolve the metaclass's isa pointer.
15 years ago
qmathe
c4cc8f4734
Added another @synchronized() test that results in a segfault
15 years ago
qmathe
10cb4f9b5c
Corrected doc in few places to refer to @synchronized() and not @synchronize()
15 years ago
theraven
775021effa
Don't leak dtables.
15 years ago
theraven
7be9f34619
Fixed @synchronize() with a class that has had an instance used for @synchronize().
15 years ago
qmathe
e1a756110f
Tweaked libobjc2 test suite to compile once again on Mac OS X (all tests pass)
15 years ago
theraven
0328c5cca9
Added tarball location to libobjc2 ANNOUNCE.
15 years ago