theraven
a75064866a
More tweaks to +load. Now defers +load a little bit more.
16 years ago
theraven
378c7d3a6c
Crash in the caller, instead of in the message lookup, when the method does not exist and there is no forwarding hook.
16 years ago
theraven
ac6f5835e0
Remember to run +load methods in categories, as well as classes.
16 years ago
theraven
65ec110a61
Make sure both protocol classes are available before resolving protocols.
16 years ago
theraven
7ac0904a1f
Don't leak memory when throwing exceptions.
16 years ago
theraven
7d0d599241
Fix handling of cleanups while unwinding for exception throwing.
16 years ago
theraven
fb474dd7f9
Removed hooks from runtime.h that are in hooks.h
16 years ago
theraven
d3122bcfa4
Make sure BOOLs in class tests are always YES or NO.
...
Make self in +load the correct value (the class, not the metaclass).
16 years ago
theraven
f4e7a7bf5c
Return the correct thing to exception handlers.
16 years ago
theraven
f375d20d7a
Add support for catching C++ (and Java / Ada) exceptions in Objective-C.
16 years ago
theraven
121e14a3b8
Small cleanup of dtable code.
16 years ago
theraven
666c84c129
Test the correct class when resolving superclasses.
16 years ago
thebeing
11b7b2b23c
Fix compilation issues.
16 years ago
theraven
9271591544
Remove GCC file that is no longer used.
16 years ago
theraven
eb84a02e97
Reinstate legacy_malloc in the build, unless you disable legacy nonsense.
16 years ago
theraven
b8543a1e13
Removed files that should have gone in the last commit.
16 years ago
theraven
07758fe521
Removed last bits of legacy code from libobjc2. Added new exception handling implementation.
16 years ago
theraven
0e374db1db
Added support for type-dependent dispatch to libobjc2.
16 years ago
qmathe
79899f8a46
Fixed unresolved class list loss when the root class gets resolved.
...
Hence not all classes were previously resolved at load time.
Was breaking +forwardInvocation: because unresolved classes such as
GSFFInvocation were not receiving +load right when gnustep-base was loaded.
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
theraven
8158ff0a7a
Tweak fragile ABI test to account for alignment padding.
16 years ago
thebeing
673ae40779
64bit fixes.
16 years ago
theraven
77ed3977bc
Added missing file.
16 years ago
theraven
627e8cb0dc
Remove debugging lines left in by mistake in last commit.
16 years ago
theraven
779b28abeb
Lots of tidying, removing legacy stuff.
16 years ago
theraven
1f7f5cbfab
Added file missing in last commit.
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
ericwa
cc260222da
protocol.c: don't call init_protocols() with NULL
16 years ago
ericwa
9697c01c33
Remove remaining uses of class_get_class_method and class_get_instance_method, which were causing link errors. David: can you check that I didn't do anthing silly? Thanks.
16 years ago
theraven
75712d61a3
Made Object use sensible functions instead of ones that don't exist.
16 years ago
theraven
b1b9baf382
Finished rewrite of message sending. Deleted lots of legacy stuff.
16 years ago
theraven
9dcfe43e69
Removed DLL entry point. The Win32 API docs say that this function is optional, and the implementation was doing exactly the same thing as if it was absent. High quality coding at its finest.
16 years ago
theraven
bb8cafaa15
Finished rewriting the loader. It's now cleanly separated into logically-separate components, so there's a chance it might actually be maintainable...
16 years ago
theraven
7c72069fd9
Rewrote ABI compatibility testing. Makes it easier to define new, incompatible ABIs in future without breaking everything.
16 years ago
theraven
4ea82e14da
Fixed hash functions.
...
Tweaked class resolve function to make sure that it keeps scanning the list as long as one or more classes is resolved while scanning it.
16 years ago
thebeing
13964517ef
Small 64bit fix.
16 years ago
theraven
fdc1f1e916
Removed more unused code.
16 years ago
theraven
67741f3f68
Removed hash.c - no longer used.
16 years ago
theraven
de71ebb6b1
Rewritten class loading.
16 years ago
theraven
a1329e22de
A bit more class table tidying.
16 years ago
theraven
7f6f798074
Rewrote some of the class table code to be slightly cleaner.
16 years ago
theraven
3672f04ea3
Default to installing libobjc2 headers
16 years ago
qmathe
55a62b527f
Removed unused variable that prevents compilation by being treated as an error
16 years ago
theraven
8a451d212c
More dtable fixes - now the EtoileFoundation tests work when compiled with GCC too. Hopefully that's all of the irritating corner cases in category loading dealt with...
16 years ago
theraven
e482b6986f
More fixes for the new dtable. Now passing all of the EtoileFoundation tests, which do lots of things involving categories, so make a good stress test.
...
No longer installs headers by default. This is because GNUstep Make notices when the objc headers have changed (because GNUstep includes them) and so reinstalling libobjc2 was requiring a complete recompile of anything that you tried to build, even if you only changed one line. A better fix for this would be for install to use cmp or diff to check if the header has been modified before installing it, but I'm too lazy to do that right now.
16 years ago
theraven
a692cbd4dd
Fix some GCC warnings. Patch by TOM.
16 years ago
theraven
a9bdab1f44
Reverted last commit - breaks the build with clang.
...
Fixed the definition of objc_msgSendSuper().
Tweaked the -dealloc implementation for hidden classes used for locking so that @synchronize(self) will work in a -dealloc method.
16 years ago
theraven
2efec09e39
Silence some warnings when compiling with GCC. Patch by TOM.
16 years ago
theraven
7a9b105817
Fixed missing ! in dtable construction code, which meant that class methods were being preferred to category methods.
16 years ago