David Chisnall
760bb785aa
Rename files.
...
minRep is not actually an informative name for a test case.
8 years ago
David Chisnall
9115a909b1
Delete more code.
...
The reduced test case is now fairly close to minimal.
8 years ago
David Chisnall
8f03e62a84
Delete a lot of redundant code.
8 years ago
David Chisnall
1f2d35006b
Make the ObjC++ interop test compile
8 years ago
David Chisnall
9760ae8d48
Merge pull request 50 with test case for exception issue.
8 years ago
David Chisnall
24f3713a4b
Fix a bug in weak ref handling.
...
Weak refs were being left as dangling pointers after being deleted. The
load that caused the deallocation would return nil, but then the next
one would dereference a dangling pointer.
8 years ago
David Lobron
c036265ece
Remove changes introduced accidentally because I was using an older
...
version of this file (sync with 0b5f66393a ).
8 years ago
David Lobron
44d05e58a6
Minimal reproducing test case. This creates a test number 47 in the unit
...
test suite, which fails with an exception. The exception reproduces the
bug.
8 years ago
David Chisnall
2542638b23
Add a warning to the announcement.
8 years ago
David Chisnall
6d9f2a6586
Add some release announcement text.
8 years ago
David Chisnall
12b820cb99
Add refcount accessor function.
8 years ago
David Chisnall
e5b4468867
Improve copying and moving weak refs.
...
Fixes a bug introduced (replacing a similar bug) in the last rewrite of
objc_moveWeak. This version should now be correct.
objc_copyWeak was implemented in a naive way, which had a lot more
overhead than required.
8 years ago
David Chisnall
458bd3c7a2
Add interfaces for better integration with Foundation.
8 years ago
David Chisnall
bdc20a8bab
Add some debugging help for ARC-compilance.
8 years ago
David Chisnall
fe579e3f1a
Simplify the weak code.
...
Rather than tracking all of the locations of weak pointers, keep a weak
refcount. This should also make it easier to add finer-grained locking to weak
references.
8 years ago
David Chisnall
af4e0719ff
Checkpoint work on improving weak reference efficiency.
8 years ago
David Chisnall
a2a80ac5dc
Remove debugging printf.
8 years ago
David Chisnall
6451d35e92
Fix block refcounts to use saturating arithmetic.
8 years ago
Zenny Chen
5f01917a49
Update blocks_runtime.h ( #45 )
...
Update blocks_runtime.h to be compatible with Apple / LLVM version.
8 years ago
David Chisnall
79395aebec
Refactor test cmake to reduce copying and pasting.
...
Also ensures that multi-file tests are run in all combinations.
8 years ago
David Chisnall
51cc9c0347
Fix updating ivars to the new structure.
...
Some types (e.g. vectors) end up with empty type encodings, for these
cases we assume void* alignment.
8 years ago
David Chisnall
a54272c1ab
Merge origin/master into newabi (using imerge)
8 years ago
David Chisnall
db6f0f19fb
Add missing field to category.h.
...
This fixes the assertion failure that checks that the categories are the
correct size.
8 years ago
davidchisnall
ee12b2362a
Merge pull request #38 from theiostream/class-header
...
Add objc-class.h to objc headers
9 years ago
Daniel Ferreira
1593ac04af
Add objc-class.h to objc headers
...
Some applications still include the old objc-class.h header expecting
to obtain the declarations contained in objc/message.h and
objc/runtime.h nowadays. This commit adds this header to achieve
out-of-the-box compatibility with these applications.
9 years ago
davidchisnall
e285ba83a9
Merge pull request #36 from theiostream/block-headers
...
build: add compatibility symlink for block headers
Fixes #34
9 years ago
davidchisnall
29f831b4aa
Merge pull request #33 from theiostream/objc-runtime-header
...
Add objc-runtime.h to objc headers
9 years ago
Daniel Ferreira
a9aba57e7c
build: add compatibility symlink for block headers
...
On FreeBSD and OSX, the block runtime functions are defined on a Block.h
and a Block_private.h headers on the include path as opposed to
libobjc2's objc/blocks_runtime.h and objc/blocks_private.h respectively.
This commit amends libobjc2's install routine to create the
FreeBSD-style headers as symlinks to the ones provided by libobjc2 for
improved compatibility.
9 years ago
Daniel Ferreira
a3e1a0d3ed
Add objc-runtime.h to objc headers
...
Some applications still include the old objc-runtime.h header expecting
to obtain the declarations contained in objc/message.h and
objc/runtime.h nowadays. This commit adds this header to achieve
out-of-the-box compatibility with these applications.
9 years ago
David Chisnall
21efe9e259
Update dtables for metaclasses when exchanging methods.
...
Fixes #32
9 years ago
David Chisnall
0b5f66393a
Add test for #32 .
9 years ago
David Chisnall
2417ec5806
Remove another unused build-breaking header.
9 years ago
David Chisnall
ece31319b5
Remove an unused header include that was breaking the test build if
...
libobjc is not already installed.
9 years ago
David Chisnall
e87b5c1503
Remove an assertion that was useful in debugging, but not actually
...
correct.
Instance variables are not normally zero-sized, but some are. Examples
include zero-length arrays at the end of a class, and bitfields.
Fixes #30
Fixes #31
9 years ago
David Chisnall
12d1ea62a4
Merge branch 'master' into newabi
9 years ago
David Chisnall
d1eb9ad91e
Ensure that asserts in the tests are still run, even in a release build.
...
Fixes #29
9 years ago
David Chisnall
4fd27a066f
When moving ivars to increase their alignment, make sure later ivars are
...
also moved.
Fixes #27
9 years ago
David Chisnall
695282e5d7
Don't conditionally run some cheap code that becomes a no-ops in the
...
case when we weren't running it.
9 years ago
David Chisnall
5725aa74ec
Fix the computation of the size when realigning ivars.
...
Fixes #25 , #26
9 years ago
davidchisnall
25c7038ed4
Merge pull request #24 from ngrewe/ivar_layout
...
Test case for misaligned ivars.
This introduces a new failing test for the bug introduced when trying to correctly align vectors.
9 years ago
Niels Grewe
165f1e83bf
Additional asserts
...
Assert that the offset of `isa` is 0 and the offset of `c_string` is
`sizeof(Class)`
9 years ago
Niels Grewe
8c79eb836c
Test case for misaligned ivars.
9 years ago
davidchisnall
4afd2d4241
Merge pull request #21 from ngrewe/deadlock
...
Avoid deadlock in objc_send_initialize()
9 years ago
David Chisnall
6df23377a0
Forcibly realign instance variables to take into account the padding
...
from the reference count.
9 years ago
Niels Grewe
6b285936be
Avoid a deadlock
...
As described in gnustep/libobjc2#20
9 years ago
David Chisnall
9a2f43ca7d
Work around the fact that clang 3.4 and earlier emit broken metadata.
...
This is mostly important because Travis-CI uses an archaic version of
clang for the CI runs.
10 years ago
David Chisnall
2493137996
Treat the property encoding string as canonical.
...
This is more reliable than the bitfields (and is constructed from them if the compiler doesn’t fill in the string).
10 years ago
David Chisnall
8c35e72655
Add missing properties and don’t make a runtime-specific test conditional on OS.
10 years ago
David Chisnall
81ef7a9816
Don’t fail the test if we get more attributes than we expect.
...
Attribute lists are not null-terminated, so this would previously have gone off into memory that it was not meant to access.
10 years ago
David Chisnall
d692a0ede4
Remove some definitions that hide non-standard libc functions that we use.
10 years ago