Nicola Pero
30f098f9f8
Updated code to compile with GCC 4.6 and the new GNU Objective-C runtime
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31765 72102866-910b-0410-8b05-ffd578937521
2010-12-23 02:23:05 +00:00
David Chisnall
4488708e84
Fix a load of warnings from implicit function declarations. A lot were caused by ctype.h and string.h stuff being used everywhere in GNUstep but not included anywhere - they're now included in common.h (at least string.h should also be in Foundation.h - on OS X it is implicitly included via some chain of things from Foundation.h).
...
All of the sel_* stuff is now replaced with the newer APIs. As a side-effect, a blob of code that was copied-and-pasted all over GNUstep has now been moved into ObjectiveC2 and just called.
Class posing with libobjc2 will now throw an exception, rather than just aborting.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31268 72102866-910b-0410-8b05-ffd578937521
2010-09-09 16:30:10 +00:00
David Chisnall
7a80adeb9b
A huge blob of changes to make -base build with libobjc2, without using the old libobjc2 headers.
...
Most of these changes involve simply removing direct manipulation of any runtime structures and replacing them with runtime function calls. For example class->name becomes class_getName(class) and so on.
libobjc2, like the Apple runtime, the NeXT runtime, and every version of the Objective-C spec, calls the class pointer in id isa. A few files now have #define class_pointer isa at the top. This line replaces class_pointer in the old GNU libobjc headers with isa so either class_pointer or isa can be used for accessing the class of an object. Note: object_getClass() should be used in most cases because, in some future version of the runtime, this will skip things like lock classes and other hidden classes (e.g. KVO classes).
All of the old forwarding stuff has been removed. Most of this stuff followed convoluted code paths that ended with an exception. A few simply broke in exciting ways. Hopefully no one has used them for the last ten years or so, but we can bring them back with some #ifndef stuff if they're really needed by anyone.
There is currently a bug in configure, which prevents dladdr() from being detected, so you need to manually tweak config.h to build - I have not fixed the fall-back code in objc-load.m to work with libobjc2, I just added a new version that uses the loader's functionality directly.
Although -base now builds, it builds with a lot of warnings. <string.h> is missing from a lot of files, so memcpy() and strlen() generate implicit function declaration warnings.
Additionally, libobjc2 does still provide the sel_{get,register}_*() functions, but they're wrappers around the newer API ones. These are deprecated and are not exposed in the headers. Although they work, we should be replacing them with the libobjc2 versions as soon as possible.
This incorporates a patch by Eric.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31265 72102866-910b-0410-8b05-ffd578937521
2010-09-09 15:06:09 +00:00
Richard Frith-MacDonald
4e146f7ab9
Attempt leak fix
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30168 72102866-910b-0410-8b05-ffd578937521
2010-04-15 16:27:23 +00:00
Richard Frith-MacDonald
00164a28ed
Workaround for buggy runtime functions.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30154 72102866-910b-0410-8b05-ffd578937521
2010-04-14 11:52:21 +00:00
Richard Frith-MacDonald
f784646663
generalize define from __MINGW32__ to __MINGW__
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30001 72102866-910b-0410-8b05-ffd578937521
2010-03-19 12:10:11 +00:00
Richard Frith-MacDonald
20864d7e59
attempt memory leak fix
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29993 72102866-910b-0410-8b05-ffd578937521
2010-03-17 11:28:04 +00:00
Richard Frith-MacDonald
ddffb6eec3
include malloc.h for alloc() on platforms where it isn't in alloca.h
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29971 72102866-910b-0410-8b05-ffd578937521
2010-03-16 06:11:00 +00:00
Richard Frith-MacDonald
e43d625338
improve instance variable hiding
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29779 72102866-910b-0410-8b05-ffd578937521
2010-02-26 10:25:35 +00:00
Richard Frith-MacDonald
166f1afb4b
build additions with NO_GNUSTEP=1
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29771 72102866-910b-0410-8b05-ffd578937521
2010-02-26 08:39:47 +00:00
Richard Frith-MacDonald
14b91c9052
fixups for libobjc2
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29753 72102866-910b-0410-8b05-ffd578937521
2010-02-25 18:49:31 +00:00
Richard Frith-MacDonald
8769dd8b6f
deprecates some gnustep runtime wrappers
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29697 72102866-910b-0410-8b05-ffd578937521
2010-02-22 10:13:20 +00:00
Richard Frith-MacDonald
7cc69dfaae
Simplify header inclusion
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29669 72102866-910b-0410-8b05-ffd578937521
2010-02-19 08:12:46 +00:00
Richard Frith-MacDonald
c8a6832349
cosmetic tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29657 72102866-910b-0410-8b05-ffd578937521
2010-02-17 11:47:06 +00:00
Richard Frith-MacDonald
21d597e740
merge back reorganisation branch
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
2010-02-14 10:48:10 +00:00
Richard Frith-MacDonald
925df9eb91
clarify
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29086 72102866-910b-0410-8b05-ffd578937521
2009-12-01 07:49:38 +00:00
Richard Frith-MacDonald
405dbae6f0
clarify doccumentation a little
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29085 72102866-910b-0410-8b05-ffd578937521
2009-12-01 07:47:29 +00:00
Richard Frith-MacDonald
0c3268b9d9
avoid warning log about unexpected response
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29075 72102866-910b-0410-8b05-ffd578937521
2009-11-27 13:05:26 +00:00
Richard Frith-MacDonald
19796a1465
Documentation generation improvments
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29047 72102866-910b-0410-8b05-ffd578937521
2009-11-23 09:42:18 +00:00
Richard Frith-MacDonald
e4a6d046be
cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28787 72102866-910b-0410-8b05-ffd578937521
2009-10-10 08:16:17 +00:00
Richard Frith-MacDonald
a6c9c8749a
lrge changes to remove mframe
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28778 72102866-910b-0410-8b05-ffd578937521
2009-10-05 16:00:28 +00:00
Richard Frith-MacDonald
715bdcaa0a
a bit step towards removing obsolete mframe code.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28774 72102866-910b-0410-8b05-ffd578937521
2009-10-04 15:26:07 +00:00
Richard Frith-MacDonald
3f7f5e5410
Code cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28770 72102866-910b-0410-8b05-ffd578937521
2009-10-04 09:53:19 +00:00
Richard Frith-MacDonald
2f0e07d89a
more tidyups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28769 72102866-910b-0410-8b05-ffd578937521
2009-10-04 08:43:56 +00:00
Richard Frith-MacDonald
0f5dd1c798
cleanup
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28768 72102866-910b-0410-8b05-ffd578937521
2009-10-04 07:46:01 +00:00
Richard Frith-MacDonald
e06f2305f0
connection root object fixup
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28766 72102866-910b-0410-8b05-ffd578937521
2009-10-03 15:35:40 +00:00
Richard Frith-MacDonald
fcc33c1b71
explicitly specify types in union
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28762 72102866-910b-0410-8b05-ffd578937521
2009-10-02 15:14:42 +00:00
Richard Frith-MacDonald
9f774be2d7
Add fix for bug #27446
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28673 72102866-910b-0410-8b05-ffd578937521
2009-09-14 20:33:12 +00:00
Richard Frith-MacDonald
bed83a2f29
fix mingw keepalive lost in reorganisation
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28663 72102866-910b-0410-8b05-ffd578937521
2009-09-11 19:19:05 +00:00
Richard Frith-MacDonald
36e7376518
remove publicly visible ivars for future abi stability.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28626 72102866-910b-0410-8b05-ffd578937521
2009-09-07 16:25:04 +00:00
Richard Frith-MacDonald
14a28f5b7c
simplify -description methods and improve warning logs
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28622 72102866-910b-0410-8b05-ffd578937521
2009-09-07 13:49:48 +00:00
Richard Frith-MacDonald
826cd93801
Add warning message if stuck waiting for a response for over 5 min
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28621 72102866-910b-0410-8b05-ffd578937521
2009-09-07 11:29:50 +00:00
Richard Frith-MacDonald
9c2b204c13
further tweak description details
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28579 72102866-910b-0410-8b05-ffd578937521
2009-08-31 07:47:44 +00:00
Riccardo Mottola
f85c3f0696
Joined split-line string constant
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28502 72102866-910b-0410-8b05-ffd578937521
2009-08-21 15:53:05 +00:00
Richard Frith-MacDonald
69c24bb774
avoid compiler warning
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28472 72102866-910b-0410-8b05-ffd578937521
2009-08-19 08:24:04 +00:00
David Chisnall
0fc392ad98
* Source/NSObject:
...
- Tweaked NSObject to use atomic ops with LLVM as well as gcc (this
probably isn't actually needed)
- Fixed SIGFPE problem on FreeBSD using proper interfaces instead of
an asm hack.
* Removes various mframe things from being compiled when ffcall/libffi is
used (mframe.m, NSConnection.m, NSInvocation.m)
* Turned a nested function in make_strings.m into a macro.
Tested by Gregory - blame him for any breakage...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28462 72102866-910b-0410-8b05-ffd578937521
2009-08-15 21:44:21 +00:00
Richard Frith-MacDonald
4720907528
Fix text in exception
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28417 72102866-910b-0410-8b05-ffd578937521
2009-07-28 19:04:40 +00:00
Richard Frith-MacDonald
bc9468c45f
More moves towards OSX 10.5 GC compatibility.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28054 72102866-910b-0410-8b05-ffd578937521
2009-03-09 15:11:51 +00:00
Richard Frith-MacDonald
00e2bbb843
tweaks to use new GC API
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28051 72102866-910b-0410-8b05-ffd578937521
2009-03-08 14:34:16 +00:00
Richard Frith-MacDonald
0e2e58bf87
simplify GC ... don't need to add new zone
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27783 72102866-910b-0410-8b05-ffd578937521
2009-02-04 16:45:10 +00:00
Richard Frith-MacDonald
6bccff5fc7
GC changes for MacOS-X compatiblity
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27630 72102866-910b-0410-8b05-ffd578937521
2009-01-19 11:00:33 +00:00
Richard Frith-MacDonald
df141e4ab4
Set some ivars (delegates which should not be retained) to be gc invisible.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27591 72102866-910b-0410-8b05-ffd578937521
2009-01-13 20:52:49 +00:00
Richard Frith-MacDonald
b830b55dee
Change finalization to match MacOS-X
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27581 72102866-910b-0410-8b05-ffd578937521
2009-01-12 18:36:37 +00:00
Richard Frith-MacDonald
952af9c197
garbage collection fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27578 72102866-910b-0410-8b05-ffd578937521
2009-01-12 12:48:46 +00:00
Richard Frith-MacDonald
03b021d94c
Enable keepalive for message port connections on windows
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27320 72102866-910b-0410-8b05-ffd578937521
2008-12-17 08:49:50 +00:00
Richard Frith-MacDonald
0f3f832de3
Fix keepalive bugs
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27249 72102866-910b-0410-8b05-ffd578937521
2008-12-07 16:03:29 +00:00
Richard Frith-MacDonald
610c16665a
Allow keepalive to be inherited from listening connection
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27111 72102866-910b-0410-8b05-ffd578937521
2008-11-21 10:41:43 +00:00
Richard Frith-MacDonald
cdbf2720e4
add some diagnostics
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27107 72102866-910b-0410-8b05-ffd578937521
2008-11-21 09:35:41 +00:00
Richard Frith-MacDonald
9abe5c934c
Fix initialisation error
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27106 72102866-910b-0410-8b05-ffd578937521
2008-11-21 08:47:22 +00:00
Richard Frith-MacDonald
b7b3ed920e
Add ivar for expansion, remove a few lines unused code, add private keepalive.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27105 72102866-910b-0410-8b05-ffd578937521
2008-11-21 08:02:41 +00:00