Commit graph

70 commits

Author SHA1 Message Date
rfm
ee3f0b14a0 changes to support alternative header locations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34290 72102866-910b-0410-8b05-ffd578937521
2011-12-15 09:42:39 +00:00
theraven
ceba92a265 Lots of little fixes to make -base compile with -Werror (now builds without warnings).
Richard: I'm unsure about three of these, which were fixes in memset() calls in:
- NSConcreteMapTable.m
- NSConcreteHashTable.m
- Additions/NSData+GNUstepBase.m

Please can you check them?  I think they are intended to zero the entire object
(rather than the first word), but the lack of comments makes me unsure.

Most changes were just tweaks to variable types.  I've also removed some dead code from NSInvocation.  This was small group of things that were marked for internal use only, but not actually referenced in the code anywhere.

Other improvements:

- NSArray / NSDictionary fixed up to use the 10.7 (ARC-friendly) prototypes.
- getObjects:andKeys: implemented for NSDictionary (10.5 method)
- NSPointerArray and NSHashTable now properly support weak objects.
- Tests for weak objects in collections.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33621 72102866-910b-0410-8b05-ffd578937521
2011-07-24 13:09:22 +00:00
theraven
e50e12129e Make -drain and -release in NSAutoreleasePool do the same thing (rather than one calling the other) in non-GC mode.
Replace all -release messages sent to autorelease pools with -drain.  In non-GC mode, these are equivalent.  In GC mode, these trigger a collection.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33143 72102866-910b-0410-8b05-ffd578937521
2011-05-27 11:48:44 +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
0455a28cd3 get return address better on sparc etc.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32476 72102866-910b-0410-8b05-ffd578937521
2011-03-06 14:23:57 +00:00
rfm
5f29c70734 return address tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32471 72102866-910b-0410-8b05-ffd578937521
2011-03-06 10:09:37 +00:00
rfm
aa5229a6cb avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32417 72102866-910b-0410-8b05-ffd578937521
2011-02-28 19:49:57 +00:00
rfm
c0674078c9 OSX compat tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32323 72102866-910b-0410-8b05-ffd578937521
2011-02-23 11:52:17 +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
1a5d643771 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
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
47810e15de move a bit more stuff into additions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29666 72102866-910b-0410-8b05-ffd578937521
2010-02-18 16:18:54 +00:00
rfm
9edbe1a4fc 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
rfm
74f0c18910 try using sigsetjmp
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28111 72102866-910b-0410-8b05-ffd578937521
2009-03-21 15:31:52 +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
6c2f260e49 Portability fixes for 64bit intel.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27930 72102866-910b-0410-8b05-ffd578937521
2009-02-20 17:44:58 +00:00
rfm
d304d9ee34 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
rfm
8658db87db Applied patch #6677
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27080 72102866-910b-0410-8b05-ffd578937521
2008-11-17 13:45:32 +00:00
rfm
4c00d63891 consistency tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26989 72102866-910b-0410-8b05-ffd578937521
2008-10-29 06:47:46 +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
1276a303d8 mingw fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26346 72102866-910b-0410-8b05-ffd578937521
2008-03-18 15:53:45 +00:00
rfm
22436d0c17 hould be fix for bug #22514
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26315 72102866-910b-0410-8b05-ffd578937521
2008-03-16 18:17:49 +00:00
rfm
8f72ab36c0 More stacktrace tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25689 72102866-910b-0410-8b05-ffd578937521
2007-12-06 13:39:03 +00:00
rfm
4862e74963 Minor stack trace improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25688 72102866-910b-0410-8b05-ffd578937521
2007-12-06 11:40:17 +00:00
rfm
a0b3607dd6 Improved stacktrace/debug handling.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25667 72102866-910b-0410-8b05-ffd578937521
2007-12-03 14:13:57 +00:00
rfm
3aa7189ddb Improve MacOS-X compatibility of headers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@25638 72102866-910b-0410-8b05-ffd578937521
2007-11-29 20:53:26 +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
10dc034618 mingw fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24464 72102866-910b-0410-8b05-ffd578937521
2007-02-04 12:53:43 +00:00
rfm
f9f9d76604 Stack trace fixups.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24461 72102866-910b-0410-8b05-ffd578937521
2007-02-04 08:43:16 +00:00
rfm
38c0c4a580 Header tidyups, particularly updating of version compatibility macros.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24000 72102866-910b-0410-8b05-ffd578937521
2006-10-31 07:05:46 +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
rfm
6ba4584136 More tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23914 72102866-910b-0410-8b05-ffd578937521
2006-10-19 13:51:19 +00:00
rfm
31342aef09 Updates to reduce global namespace pollution. Plenty more remaining.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@23795 72102866-910b-0410-8b05-ffd578937521
2006-10-09 14:00:01 +00:00
CaS
5af2d9d0a2 Spelling fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21962 72102866-910b-0410-8b05-ffd578937521
2005-11-06 13:53:40 +00:00
CaS
bec8a74a6e Fixes from Jeremy Bettis
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@21535 72102866-910b-0410-8b05-ffd578937521
2005-07-25 16:00:52 +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
89dd47ec16 Minor enhancement to improve debugging
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20775 72102866-910b-0410-8b05-ffd578937521
2005-02-22 14:06:28 +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
CaS
485e7f8ece Tidied a little, removing redundant code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20154 72102866-910b-0410-8b05-ffd578937521
2004-09-27 06:58:23 +00:00
CaS
d04dcc7fb8 More simplification by using lazy locking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@18559 72102866-910b-0410-8b05-ffd578937521
2004-02-08 09:42:38 +00:00
CaS
c4b038113d Tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17804 72102866-910b-0410-8b05-ffd578937521
2003-10-08 16:26:59 +00:00
CaS
2c18a5ea43 Memory leak fixes and a little new debug functionality
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17803 72102866-910b-0410-8b05-ffd578937521
2003-10-08 15:03:58 +00:00
CaS
e8fb1797f9 Minor tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17335 72102866-910b-0410-8b05-ffd578937521
2003-07-25 05:31:52 +00:00
CaS
1ba4b76c03 Documentation and port name server fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@17291 72102866-910b-0410-8b05-ffd578937521
2003-07-22 08:52:37 +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
CaS
538cd7f76f Trivial tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14959 72102866-910b-0410-8b05-ffd578937521
2002-11-09 06:45:31 +00:00
CaS
53784dd3f4 Documentation updates.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14914 72102866-910b-0410-8b05-ffd578937521
2002-11-04 08:06:48 +00:00
CaS
49c2f8a4e5 Fix error in escape processing for gsm
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14787 72102866-910b-0410-8b05-ffd578937521
2002-10-15 13:37:21 +00:00
CaS
61f8c23511 Documentation and debug logging updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14682 72102866-910b-0410-8b05-ffd578937521
2002-10-09 06:07:38 +00:00