33 Commits (186847c8d0b3bfad862cbb269f565f4fe58ec5c6)

Author SHA1 Message Date
Frederik Seiffert ae6a777742 Add support for atomic type qualifiers.
Fixes #101.
7 years ago
David Chisnall 369c84db35 Fix compiler warnings. 7 years ago
David Chisnall 934cd13a7a Initial pass at Windows support.
All tests now pass with the new ABI on x86-64, with the new ABI.  Some
of the code is ugly and other platforms are probably broken.
8 years ago
David Chisnall 11637010ad Rename method_list.h to method.h
Work around the fact that LaTeX really doesn't like file names with
underscores...
8 years ago
David Chisnall 5a9c65553f Always use selector type for method type encodings.
In the new ABI, we use the legacy type encoding in the selector and the
extended type encoding in the types field.  We want to only expose the
legacy type encoding through existing APIs.
8 years ago
David Chisnall 4f71429bec Add support for parsing extended type encodings.
Extended type encodings add more detailed information to object and
block types:

* Objects are encoded as @"ClassName".
* Blocks are encoded as @?<parameter type signature>

In the new ABI, we use classic type encodings for selectors and extended
type encodings everywhere else.
8 years ago
David Chisnall 7d1ea63046 Silence some valgrind warnings.
The ignored field is never used, so it doesn't matter that the
comparison to the old value is reading uninitialised memory (unless the
compiler is clever enough to spot that this is undefined behaviour and
do something evil).
10 years ago
Niels Grewe dbf392ce99 Move indexing fix into findParameterStart() 10 years ago
Niels Grewe cbacd87632 Add missing changes 11 years ago
Niels Grewe abb0d1e931 Fix returning argument types from methods. 11 years ago
rfm c3aa9b62e6 fix function to get type qualifiers 13 years ago
theraven 4796a41e4e Finished implementing the new runtime APIs. 14 years ago
theraven daf9976eab Fix type encoding of blocks. 15 years ago
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.
15 years ago
theraven e0ae8ce474 Another 64-bit issue. 15 years ago
theraven 33864e9676 Fix int -> size_t, causing breakage on 64-bit big-endian platforms. 15 years ago
theraven 8ee4d9c38a Added implementation of property_getAttributes(). This is a horrible interface, both to implement and to use. We should add some better interfaces. 15 years ago
theraven 4fc7030973 Remove some obsolete FIXMEs. 15 years ago
theraven faa741b133 Added some header documentation for runtime functions. 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 71b4b0df3b Fix off-by-one error in encoding parsing. 16 years ago
theraven b6abe490ab Remove some obsolete comments. 16 years ago
ericwa ed1c9d41eb libobjc2: Add a pile of NULL checks. In general, any public function should be able to handle NULL for any object/class/selector/pointer to opaque structure without blowing up. 16 years ago
theraven 7e1debfec4 Fix indenting in last commit. 16 years ago
theraven 8e95b6f637 Fix warnings with GCC. Patch by TOM, tweaked to not introduce errors with clang. 16 years ago
theraven eb48fda62b Expose a function needed by GNUstep. 16 years ago
theraven e2d848467c Another try... 16 years ago
theraven 00004fe5f3 More tweaks to the GNU-compatibility encoding stuff. This API is too broken to use, but GNUstep seems to want it. 16 years ago
theraven 0177ef56e1 Tweak the type encoding stuff a bit. 16 years ago
thebeing e36200bb8b Fix division by zero bug triggered by pointers to opaque structs. 16 years ago
theraven f54132293b Remove debugging line from encoding2.c 16 years ago
thebeing 673ae40779 64bit fixes. 16 years ago
theraven 4ee07676cc Added rewritten encoding parser. The functions that function pointers as arguments and parse compound types should be exposed via the public interfaces, or possibly moved to a separate library - they are generally useful. 16 years ago