theraven
485d23c7c7
More tweaks for garbage collection mode, including making NSNotificationCenter use weak pointers (things are never removed if it uses strong pointers because they remove themselves in the -dealloc method, which is never called, and can't remove themselves in the -finalize method because the -finalize method would not be called until after they have been removed - this is consistent with Apple behaviour).
...
Gorm now works correctly when built with GC enabled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33109 72102866-910b-0410-8b05-ffd578937521
2011-05-25 11:15:08 +00:00
rfm
79383c613d
fix includes for gcc-4.6
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33069 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:24 +00:00
theraven
d6e22f687b
After going to all of the effort of recomputing the frame size, actually store the one that we compute instead of accidentally discarding it.
...
It would probably be a good idea if we skipped the entire disassemble / reassemble code path if we've got sensible method encoding strings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32908 72102866-910b-0410-8b05-ffd578937521
2011-04-19 16:26:09 +00:00
rfm
dbf4119553
more bsd tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32485 72102866-910b-0410-8b05-ffd578937521
2011-03-07 15:34:06 +00:00
rfm
dbaa646d12
avoid compiler/linker warnings
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32483 72102866-910b-0410-8b05-ffd578937521
2011-03-07 11:34:17 +00:00
rfm
313cf13c67
Cleanup ... avoid accessing the 'isa' variable directly.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32247 72102866-910b-0410-8b05-ffd578937521
2011-02-20 16:21:43 +00:00
rfm
feb65c9c78
Recommit tested changes.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32075 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:31:25 +00:00
rfm
e679d4e99e
Revert back to working code!
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32072 72102866-910b-0410-8b05-ffd578937521
2011-02-11 13:53:54 +00:00
theraven
ddc2d68bec
Add some asserts to NSMethodSignature to make the analyser happy.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32065 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:36:40 +00:00
nicola
b84001b073
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
theraven
85549433db
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
rfm
9cf3ffc49f
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
rfm
9491c87559
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
rfm
2570ac3c91
include alloca.h
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29755 72102866-910b-0410-8b05-ffd578937521
2010-02-25 19:05:21 +00:00
rfm
7ff4d4c9c7
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
rfm
d605c6f7b5
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
rfm
e689e6a654
Fix errors spotted by Fred
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29662 72102866-910b-0410-8b05-ffd578937521
2010-02-18 08:45:00 +00:00
rfm
f13d56d8ec
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
rfm
16ce1cd7b3
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
rfm
2fc494c446
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
rfm
30cf8bf35b
Updates for 10.5 API changes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27962 72102866-910b-0410-8b05-ffd578937521
2009-02-23 20:42:32 +00:00
rfm
e0711a3b8d
allow developers more time to adapt to LGPLv3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26606 72102866-910b-0410-8b05-ffd578937521
2008-06-08 10:38:33 +00:00
rfm
9b8cdcf311
Make sure type strings are nul terminated.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26119 72102866-910b-0410-8b05-ffd578937521
2008-02-22 12:59:30 +00:00
rfm
cd46236028
Update to GPL3 and LGPL3
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25482 72102866-910b-0410-8b05-ffd578937521
2007-09-14 11:36:11 +00:00
rfm
9e7b96ab0e
More code tidyups and NSError updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23921 72102866-910b-0410-8b05-ffd578937521
2006-10-20 10:56:27 +00:00
CaS
f843cb8155
Recommit gcc-4 tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21431 72102866-910b-0410-8b05-ffd578937521
2005-07-08 11:48:37 +00:00
CaS
6d0751af3e
Revert subtly broken change
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21391 72102866-910b-0410-8b05-ffd578937521
2005-07-01 17:31:07 +00:00
CaS
9ac16024f5
Tweaks to avoid compiler warnings with gcc-4
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21390 72102866-910b-0410-8b05-ffd578937521
2005-07-01 12:29:50 +00:00
fedor
376e495dad
* Update FSF Address.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21245 72102866-910b-0410-8b05-ffd578937521
2005-05-22 03:32:16 +00:00
CaS
0708409c1b
Tidy up use of white space so we have it after if/for/while and not after (
...
or before ) or padding at end of line.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20773 72102866-910b-0410-8b05-ffd578937521
2005-02-22 11:22:44 +00:00
ayers
0fe2082695
* Headers/Foundation/NSMethodSignature.h
...
* Source/NSMethodSignature.m
* Source/GSFFCallInvocation.m
* Source/GSFFIInvocation.m: Revert last mframe patch.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19667 72102866-910b-0410-8b05-ffd578937521
2004-07-02 08:04:54 +00:00
ayers
dbe1800bbd
* Headers/Foundation/NSMethodSignature.h
...
(_internalMethodTypes): New instance variable.
* Source/NSMethodSignature.m: ([+signatureWithObjCTypes]): Store
the runtime signature separately from the mframe signature.
Document.
([-dealloc]): Free new instance variable.
([-methodInfo]): Use _internalMethodTypes to build argument
information.
* Source/GSFFCallInvocation.m (GSInvocationCallback)
* Source/GSFFIInvocation.m (GSInvocationCallback): Use the
selector registered in the runtime for the receiver instead of
the constructed selector from the stack to avoid mismatches in the
runtime.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19662 72102866-910b-0410-8b05-ffd578937521
2004-07-01 11:38:19 +00:00
alexm
02964e7f8c
Rename 'GNU' categories to 'GNUstep'.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19131 72102866-910b-0410-8b05-ffd578937521
2004-04-16 23:21:26 +00:00
ayers
73dc4cb9f6
Header reorganizsateion - Please refer to ChangeLog
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17407 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:49:32 +00:00
fedor
0e59d4552d
Change syntax of includes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16874 72102866-910b-0410-8b05-ffd578937521
2003-06-07 01:24:41 +00:00
CaS
d64578fc3e
Tidied for gcc-3.4
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15476 72102866-910b-0410-8b05-ffd578937521
2003-01-03 20:14:47 +00:00
fedor
4ef8c499f6
Implement isEqual: for NSMethodSignature
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@13599 72102866-910b-0410-8b05-ffd578937521
2002-05-06 14:42:14 +00:00
CaS
d4b9683acf
Added date version and title
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11814 72102866-910b-0410-8b05-ffd578937521
2001-12-18 16:54:15 +00:00
CaS
d7e28f6deb
Many minor fixes for autogsdoc.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11787 72102866-910b-0410-8b05-ffd578937521
2001-12-17 14:31:42 +00:00
fedor
9628d301e9
Merged 1.0 branch into main.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9548 72102866-910b-0410-8b05-ffd578937521
2001-04-10 03:27:01 +00:00
richard
65b8d0067c
More GC tidyups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4953 72102866-910b-0410-8b05-ffd578937521
1999-09-28 11:10:34 +00:00
richard
a2737c2cf5
Ivar underscore prefixes added and some tidying done.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4902 72102866-910b-0410-8b05-ffd578937521
1999-09-16 07:21:34 +00:00
fedor
302c691e79
Merge from dawn
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4853 72102866-910b-0410-8b05-ffd578937521
1999-09-09 02:56:20 +00:00
fedor
3d949ca12d
Makefile changes to compile thinkg in place.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3496 72102866-910b-0410-8b05-ffd578937521
1998-12-20 21:27:47 +00:00
richard
c957b42508
Keep mframe.h in a machine/os specific directory
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@3451 72102866-910b-0410-8b05-ffd578937521
1998-12-14 06:17:12 +00:00
richard
d8f84859f0
Rewrite of invocation code with new mframe code.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2930 72102866-910b-0410-8b05-ffd578937521
1998-08-13 20:45:32 +00:00
fedor
4fa6aaea41
Various fixes, Frith-MacDonald, others.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2805 72102866-910b-0410-8b05-ffd578937521
1998-05-29 15:25:41 +00:00
fedor
d9bce2e3ce
Fixes from Frith-MacDonald.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2794 72102866-910b-0410-8b05-ffd578937521
1998-04-30 20:11:42 +00:00
fedor
b1862cea5d
Patches from Kienenberger, Yamato, Frith-MacDonald.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2719 72102866-910b-0410-8b05-ffd578937521
1998-02-03 14:20:00 +00:00
fedor
a15b2ef62f
Pathces from Frith-MacDonald, Yamato, Jenkins.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2709 72102866-910b-0410-8b05-ffd578937521
1998-01-26 14:18:18 +00:00