Commit graph

36 commits

Author SHA1 Message Date
rfm
6667842dd5 Update FSF address as requested by Gregory 2024-11-07 13:37:59 +00:00
Gregory John Casamento
753c907938 Fix address for FSF and License name in all headers in base 2019-12-09 18:36:00 -05:00
Richard Frith-MacDonald
91aea36304 Use GSSelectorTypesMatch() for types comparison where we are interested in types
but not qualifiers and stack layout information.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35304 72102866-910b-0410-8b05-ffd578937521
2012-07-20 04:43:58 +00:00
Eric Wasylishen
af8fc16268 Replace a call to -[Protocol name] with protocol_getName
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31282 72102866-910b-0410-8b05-ffd578937521
2010-09-09 22:42:47 +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
50662ad093 avoid some compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31107 72102866-910b-0410-8b05-ffd578937521
2010-08-10 10:38:50 +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
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
b2b14398d2 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
Richard Frith-MacDonald
62559023b9 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
Richard Frith-MacDonald
0ebe68ae48 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
Richard Frith-Macdonald
06981169ed Fixes for 64bit systems .. mostly cosmetic avoidance of compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@22282 72102866-910b-0410-8b05-ffd578937521
2006-01-10 10:29:11 +00:00
Adam Fedor
f0512c406e * Remove objc/Protocol.h include from NSObject to avoid warnings
with conflicting method signatures.
* Headers/Foundation/NSConnection.h: Change Object categories
to NSObject.
* Source/NSConnection.m: Idem.
* Headers/Foundation/NSObject.h: Don't include objc/Protocol.h
add a few missing things.
* Source/NSDate.m ([NSDate -isEqual:]): Use isKindOfClass.
* Source/NSDistantObject.m, Source/NSProtocolChecker.m:
Include objc/Protocol.h
* Source/NSSerializer.m: Add method sig for performv::


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21322 72102866-910b-0410-8b05-ffd578937521
2005-06-17 14:51:57 +00:00
Adam Fedor
fcc13ccd0f * 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
David Ayers
8cd30609bf * Headers/Foundation/NSMethodSignature.h:
(NSArgumentInfo): Document limitations of NSArgumentInfo's
        offset and registier information.  Match size for NO_GNUSTEP.
        (NSMethodSignature): Match ivar name with runtime information.

        * Source/GSFFCallInvocation.m
        * Source/GSFFIInvocation.m
        * Source/NSInvocation.m
        (gs_method_for_receiver_and_selector)
        ([-invokeWithTarget:]): Use GSGetMethod instead of deprecated
        GSGetInstanceMethod and GSGetClassMethod.
        * Source/NSConnection.m ([-_service_typeForSelector]): Ditto.
        * Source/NSDistantObject.m ([+respondsToSelector]): Ditto.
        * Source/NSObject.m ([+instanceMethodSignatureForSelector:])
        ([-methodSignatureForSelector:])
        ([+descriptionForInstanceMethod], [-descriptionForMethod]): Ditto.
        * Source/NSProtocolChecker.m ([-methodSignatureForSelector]): Ditto.
        * Source/NSProxy.m ([+methodSignatureForSelector])
        ([-methodSignatureForSelector]): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19896 72102866-910b-0410-8b05-ffd578937521
2004-08-20 17:53:16 +00:00
Adrian Robert
bda35fceb3 added GSdoc comments to class, method, and function declarations; for some classes some comments were already in the source file (not the header), in which case further comments were added here; otherwise comments were put in the headers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19588 72102866-910b-0410-8b05-ffd578937521
2004-06-22 22:40:40 +00:00
Richard Frith-Macdonald
488e376948 Minor tidy up for methodForSelector:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19183 72102866-910b-0410-8b05-ffd578937521
2004-04-25 11:08:52 +00:00
Richard Frith-Macdonald
a0c5edbefe Improved implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19182 72102866-910b-0410-8b05-ffd578937521
2004-04-25 09:48:07 +00:00
Richard Frith-Macdonald
894578ed1b Completed rewrite with some testing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19181 72102866-910b-0410-8b05-ffd578937521
2004-04-25 07:40:19 +00:00
Richard Frith-Macdonald
55e35306a2 Rewrite NSProtocolChecker stuff ... seemed largely broken
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@19180 72102866-910b-0410-8b05-ffd578937521
2004-04-25 07:06:41 +00:00
Alexander Malmberg
3c7cd0b0ba Remove uses of the 'casts as lvalues' gcc extension.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18534 72102866-910b-0410-8b05-ffd578937521
2004-02-04 00:14:00 +00:00
David Ayers
ac30183cd6 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
Adam Fedor
d228cba99b 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
Richard Frith-Macdonald
a0a6f5f346 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
Richard Frith-Macdonald
5be36e089c 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
Richard Frith-Macdonald
d66a641c93 Fix for background posting of data.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11710 72102866-910b-0410-8b05-ffd578937521
2001-12-12 14:10:13 +00:00
Richard Frith-Macdonald
3ef9b2be59 *** empty log message ***
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@11131 72102866-910b-0410-8b05-ffd578937521
2001-10-13 08:51:54 +00:00
Adam Fedor
257c752b86 Better DLL handling
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6679 72102866-910b-0410-8b05-ffd578937521
2000-06-14 04:03:56 +00:00
Adam Fedor
1888a16328 Include config.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@6369 72102866-910b-0410-8b05-ffd578937521
2000-03-24 05:40:19 +00:00
Richard Frith-MacDonald
211089cd20 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
Adam Fedor
078e46d305 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
Richard Frith-MacDonald
12104ba11a Garbage collection updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@4510 72102866-910b-0410-8b05-ffd578937521
1999-07-03 19:59:44 +00:00
Adam Fedor
f8e6d9b280 New class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@2811 72102866-910b-0410-8b05-ffd578937521
1998-06-16 13:52:57 +00:00