167 Commits (55819ce107beb662d2273dacd390271faf11c217)

Author SHA1 Message Date
David Chisnall 2777fea77a Enable correct behaviour with respect to ARC for objc_{g,s}etIvar(). 10 years ago
David Chisnall 57858add6e Silence warning in test. 10 years ago
David Chisnall dbdc26523c Fix the property introspection test some more. 10 years ago
David Chisnall 5c21e73f26 Fix the property introspection test. 10 years ago
David Chisnall b5e12e914c Make PropertyIntrospectionTest2 use arc.
Recent versions of clang object to weak properties in non-ARC mode.
10 years ago
David Chisnall 8b1d4fbcc2 TEST is a keyword in if() statements in recent CMake, rename a variable to avoid a conflict. 10 years ago
David Chisnall b581098831 Extend the objc_msgSend test to check for register saving.
Ensure, when we bounce out from the assembly into C and back again, that
the argument values are preserved.  Tests 10 integer and 10 floating
point arguments, which should cover all of the argument registers and at
least one stack slot on all supported platforms.
10 years ago
David Chisnall 3135e30d71 Fix ARC assignment of blocks.
We were not correctly checking that the object being assigned had a
reference count in the object header.  We're also now avoiding assigning
small objects to the weak reference table, which is quite important as
they have no destructor.

Fixes #12
10 years ago
David Chisnall 794ac2a3ee Fix copy and paste duplication of a line. 10 years ago
David Chisnall 6a0f909e06 Don't use an obsolete header in a test. 10 years ago
David Chisnall 53bc9f3892 Fix the size of run-time generated root classes.
The size of the new class with should be sizeof(Class), not sizeof(struct objc_class).
10 years ago
Niels Grewe c5ae4432e0 Be more lenient when accepting property encodings produced by clang. Cf. gnustep/libobjc2#5. 10 years ago
Niels Grewe 1ac152032a Merge branch 'master' into nil_exception
Conflicts:
	Test/CMakeLists.txt
10 years ago
Niels Grewe e121b34a9f Check other exception handlers that should/shouldn't catch nil. 10 years ago
Niels Grewe b2e7c50704 Fix throwing nil exceptions. 11 years ago
Niels Grewe cbacd87632 Add missing changes 11 years ago
Niels Grewe 44627f69e7 Also fix method_getArgumentType(). Add test case. 11 years ago
David Chisnall a74542ae4f Add a test that hidden classes are correctly deallocated and don’t leave the runtime in an undefined state. 11 years ago
theraven bd0728f393 Fix a bug in weak reference handling, where weak refers were being removed from
the table incorrectly, causing objects inserted at offsets due to hash
collisions to fail to be moved up and then fail to be found later.

Test by Eric Wasylishen!
12 years ago
theraven 2c81ee0428 Allow ARC to correctly handle references to self from blocks within -dealloc. 12 years ago
theraven 2d0ae6b79b Add test for associated objects. 12 years ago
theraven edeb64095d Disable the failing test until it can be fixed properly. 13 years ago
theraven 16bfdc8ee6 Align ivars to 16 byte boundaries when they are larger than a pointer. This is
currently overly defensive.

Add a test case for this realignment.
13 years ago
theraven 7fde81e9b2 Fix include to work with make. 13 years ago
theraven f50bc6cf33 Added support for tracing message sends to the runtime.
Currently x86-64 only.
13 years ago
theraven 3b9bbf296d Fixed property introspection test for the more-expressive strings that clang
now produces.

This test is now expected to fail with slightly older clang.
13 years ago
theraven c346ff1088 More header cleanups in the tests. 13 years ago
theraven 074fd1da56 Add path to Test.h to help Make builds. 13 years ago
theraven 193629d8a2 Fix a bug with blocks in ARC mode being incorrectly released. 13 years ago
theraven 57a9acb13c Some test case cleanups. 13 years ago
theraven 58a574b34f Fixed a great many property introspection bugs and added test case.
Test case by Jean-Charles Bertin!
13 years ago
theraven 0e90d9645d Tweak the ManyManySelectors test case so that it doesn't hit a pathological
case in the selector hashing function and use insane amounts of memory.
13 years ago
theraven eb234ea26a Fix the case where the number of selectors grows to more than 2^16 and we need
to fall back to 3-level dtables.  

Added a test case that registers far more selectors than a sane program
contains and tries to use them.
13 years ago
theraven fb2e6756f6 Fix (and add test case for) a bug where objc_allocateClassPair() failed if the
superclass had not yet been loaded.
13 years ago
theraven 63bdbc9440 Add another missing file... 13 years ago
theraven 0b883f2cc2 Add missing test. 13 years ago
theraven 65e3dc736c Added test of forwarding mechanisms. 13 years ago
theraven b757ea9ffb Tidied up tests, made them work with make as well as ninja generators for
CMake.
13 years ago
theraven 6317b79a10 Implemented the new exception ABI, and a load of tests for it. This is used by
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.
13 years ago
theraven aeb0c913b9 Enabled property attribute test, fixed failure. 13 years ago
theraven ef5f8b744d Added more test cases. 13 years ago
theraven d1336543d8 Build with exceptions (fixes the issue with crashes where +initialize throws)
Start adding the tests to CMake.
13 years ago
theraven abc1d44c9c Fix handling of properties that refer to an instance variable other than the
default.
13 years ago
theraven 8372a2f6a0 Add test for objc_msgSend_stret() with small object. 14 years ago
theraven 9490b1b84e Implement ARM EH support, fix objc_msgSend() to work on ARM. 14 years ago
theraven 855f2601c9 Fix some corner cases where exceptions are thrown through +initialize. 14 years ago
theraven 949469677e Fpret stuff (not very tested). 14 years ago
theraven 224de356cb Save %xmm when it can be used for args, put the args in the right order. 14 years ago
theraven 3df41cba81 Bug fix x86-32... 14 years ago
theraven fb1d76ceaa Fix typo. 14 years ago
theraven 4c9acdf153 ARM stuff. 14 years ago
theraven 2e73765ffa Added some experimental stuff. 14 years ago
theraven f9f2e4e313 Added a function for getting the type encoding for a block returned by imp_implementationFromBlock(). 14 years ago
theraven 4796a41e4e Finished implementing the new runtime APIs. 14 years ago
theraven a40f9a6e2c Fix the x86-64 non-sret trampoline, implement the sret one. 14 years ago
theraven 0a7fdcb69e Add x86 (32-bit) sret trampoline. 14 years ago
theraven 43ee8b9819 Add initial support for imp_implementationWithBlock() and friends. Currently
only works on x86 and x86-64 and doesn't work with sret functions.
14 years ago
theraven af85d8496d Actually wait for +initialize to finish before allowing any thread to send a message to a class (I broke this when I rewrote the dtable code to use a per-class lock - the lookup forgot to acquire the correct mutex.) 15 years ago
thebeing 62afedcbaf Add a small test for alias registration. 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
qmathe c4cc8f4734 Added another @synchronized() test that results in a segfault 15 years ago
qmathe e1a756110f Tweaked libobjc2 test suite to compile once again on Mac OS X (all tests pass) 15 years ago
qmathe a0e000b483 Added basic synchronized and exception tests that fail for me whether I use Clang or GCC to compile the test suite 15 years ago
ericwa 5238f95a77 libobjc2/Test: use # instead of __STRING in test macro 16 years ago
ericwa 83028de810 libobjc2: improve the test program a bit 16 years ago
ericwa 879f5aa300 libobjc2: add Xcode project for RuntimeTest 16 years ago
ericwa 64362dd3ad libobjc2: add a Test subdirectory with a preliminary test of the runtime API 16 years ago