Commit graph

349 commits

Author SHA1 Message Date
Adam Fedor
357489a217 Tag version 1_22_0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/tags/base-1_22_0@32846 72102866-910b-0410-8b05-ffd578937521
2011-04-14 02:39:44 +00:00
Richard Frith-MacDonald
09bd40334c simplify header layout
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32545 72102866-910b-0410-8b05-ffd578937521
2011-03-13 12:52:37 +00:00
Richard Frith-MacDonald
46cf25ebed add config check for blocks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32539 72102866-910b-0410-8b05-ffd578937521
2011-03-13 08:20:17 +00:00
Richard Frith-MacDonald
4f9574fc5d add missing headers etc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32531 72102866-910b-0410-8b05-ffd578937521
2011-03-11 08:14:04 +00:00
Richard Frith-MacDonald
b918c226f7 minor cleanup for static analyser
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32514 72102866-910b-0410-8b05-ffd578937521
2011-03-09 10:53:25 +00:00
Richard Frith-MacDonald
6bdce1cf05 mingw tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32488 72102866-910b-0410-8b05-ffd578937521
2011-03-07 15:47:07 +00:00
Richard Frith-MacDonald
542df716ec 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
Richard Frith-MacDonald
d084034e84 tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32465 72102866-910b-0410-8b05-ffd578937521
2011-03-05 18:12:55 +00:00
Richard Frith-MacDonald
83052c50ee tweak for mswindows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32458 72102866-910b-0410-8b05-ffd578937521
2011-03-05 14:47:58 +00:00
Richard Frith-MacDonald
03233198f7 Warn about using an unsafe +initialize
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32455 72102866-910b-0410-8b05-ffd578937521
2011-03-05 13:11:47 +00:00
Niels Grewe
821962705e Declare a protocol for GNUstep specific delegate methods in NSNetServices.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32426 72102866-910b-0410-8b05-ffd578937521
2011-03-01 10:52:21 +00:00
Richard Frith-MacDonald
074bf7a853 add code for other runtimes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32413 72102866-910b-0410-8b05-ffd578937521
2011-02-28 16:00:21 +00:00
Richard Frith-MacDonald
5dedb38f10 improve deprecation logging
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32404 72102866-910b-0410-8b05-ffd578937521
2011-02-28 12:01:36 +00:00
Richard Frith-MacDonald
05e186ac65 fix gc heade rlocation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32388 72102866-910b-0410-8b05-ffd578937521
2011-02-27 17:53:14 +00:00
Richard Frith-MacDonald
7a55300d6b cleanup for next reelease
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32385 72102866-910b-0410-8b05-ffd578937521
2011-02-27 09:08:59 +00:00
Richard Frith-MacDonald
61bc059d4a 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
Richard Frith-MacDonald
b96b154e5e Add David's generalisation of _()
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32184 72102866-910b-0410-8b05-ffd578937521
2011-02-16 06:26:14 +00:00
Richard Frith-MacDonald
d07f49a9b6 more work on reserved/private pointer use
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32182 72102866-910b-0410-8b05-ffd578937521
2011-02-16 05:49:45 +00:00
Richard Frith-MacDonald
7fa110e2c5 documentation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32157 72102866-910b-0410-8b05-ffd578937521
2011-02-14 10:57:57 +00:00
Richard Frith-MacDonald
08dc11a192 Decrease chance of ABI breakage.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32156 72102866-910b-0410-8b05-ffd578937521
2011-02-14 06:37:45 +00:00
Richard Frith-MacDonald
4a099cd60a Partially revert poorly thoght out code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32127 72102866-910b-0410-8b05-ffd578937521
2011-02-13 06:43:22 +00:00
Richard Frith-MacDonald
0592b48e55 Raise when attempting to use unimplemented classes. Check for null pointers
in more runtime functions (probably still many cases where we crash if null
pointers are passed to the API and Apple behave more tolrantly).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32124 72102866-910b-0410-8b05-ffd578937521
2011-02-13 06:31:05 +00:00
Richard Frith-MacDonald
78009cfe59 fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32094 72102866-910b-0410-8b05-ffd578937521
2011-02-12 09:02:37 +00:00
Richard Frith-MacDonald
7047f9e6d4 more changes to avoid leak warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32093 72102866-910b-0410-8b05-ffd578937521
2011-02-12 09:00:18 +00:00
David Chisnall
9e6401bbdf Annotate the exception-throwing methods in NSObject Additions as not returning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32076 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:38:09 +00:00
David Chisnall
068624b659 Added some macros for use with the static analyser. Turned _reserved ivar in GSSpellServer into GS_PADDING_IVAR (no change to class layout).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32036 72102866-910b-0410-8b05-ffd578937521
2011-02-10 12:15:09 +00:00
David Chisnall
c7c3c7c02e Add a GS_PADDING_IVAR macro. This defines the void *gs_unused; instance variable with __attribute__((unused)) on clang so that the static analyser only reports unused ivars that we expect to be used. This also makes it slightly easier to add the padding ivar to new classes.
Note: The padding ivar has been added to NSRegularExpression.  This will break the ABI for anyone subclassing NSRegularExpression, but hopefully that's no one (done before the next release, to make sure that we don't break the ABI between releases, only for people following -trunk).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32033 72102866-910b-0410-8b05-ffd578937521
2011-02-10 11:02:50 +00:00
Stefan Bidigaray
ac4a764b44 Fix broken method in NSDateFormatter class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32023 72102866-910b-0410-8b05-ffd578937521
2011-02-10 01:52:16 +00:00
Stefan Bidigaray
cf6824ca66 Started implementing new NSDateFormatter methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31926 72102866-910b-0410-8b05-ffd578937521
2011-01-23 04:46:14 +00:00
Richard Frith-MacDonald
15fd754bf2 Fixes to get base to compile again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31865 72102866-910b-0410-8b05-ffd578937521
2011-01-10 08:55:47 +00:00
Stefan Bidigaray
d3857cd49f Implemented a few NSNumberFormatter methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31862 72102866-910b-0410-8b05-ffd578937521
2011-01-09 20:18:51 +00:00
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
Nicola Pero
49e56309be Updated headers to use the new Objective-C runtime API when using the new GNU Objective-C Runtime from GCC 4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31763 72102866-910b-0410-8b05-ffd578937521
2010-12-23 00:06:36 +00:00
Nicola Pero
90bc2ff63a Removed unused check (and definition of) objc_thread_add
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31761 72102866-910b-0410-8b05-ffd578937521
2010-12-22 23:36:11 +00:00
Richard Frith-MacDonald
62de5b485f mostly fixups for ICU
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31742 72102866-910b-0410-8b05-ffd578937521
2010-12-16 10:09:43 +00:00
Stefan Bidigaray
50a82a2281 Forgot to regenerate configure and update config.h.in.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31739 72102866-910b-0410-8b05-ffd578937521
2010-12-16 02:10:38 +00:00
Eric Wasylishen
a0f083736c NSPredicate MATCHES and LIKE implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31616 72102866-910b-0410-8b05-ffd578937521
2010-11-17 21:46:31 +00:00
David Chisnall
de820d8151 Added defines for __weak and __strong.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31591 72102866-910b-0410-8b05-ffd578937521
2010-11-07 14:48:21 +00:00
Richard Frith-MacDonald
895a0f38ff add delivery notification requests and fix memory leak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31571 72102866-910b-0410-8b05-ffd578937521
2010-10-28 22:50:38 +00:00
David Chisnall
b7ad06e540 Define clang's feature-test macros if they are not defined, so we can use them
without copying the fall-back version into every file where it might be needed.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31568 72102866-910b-0410-8b05-ffd578937521
2010-10-27 14:50:21 +00:00
Richard Frith-MacDonald
b7f4faa90b Fix setup of HAVE_ICU
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31567 72102866-910b-0410-8b05-ffd578937521
2010-10-27 11:24:44 +00:00
David Chisnall
d01fbf4669 Include C standard headers unless explicitly excluded.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31561 72102866-910b-0410-8b05-ffd578937521
2010-10-25 14:40:32 +00:00
Quentin Mathe
8500f58da7 Added standard C headers included by CoreFoundation.h to preface.h.in
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31379 72102866-910b-0410-8b05-ffd578937521
2010-09-19 19:28:17 +00:00
Adam Fedor
30d632b4c6 * configure.ac: Check for dladdr without requiring -ldl
* configure, Headers/Additions/GNUstepBase/config.h.in: Regen


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31272 72102866-910b-0410-8b05-ffd578937521
2010-09-09 19:31:04 +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
Eric Wasylishen
345563c947 * Source/ObjectiveC2/runtime.h:
* Source/ObjectiveC2/runtime.m:
Implement protocol_copyMethodDescriptionList, protocol_copyProtocolList,
protocol_getMethodDescription, as well as a dummy version of
objc_copyProtocolList.
* Headers/Additions/GNUstepBase/GSObjCRuntime.h:
* Source/Additions/GSObjCRuntime.m:
Implement a convenience method, GSProtocolGetMethodDescriptionRecursive



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31254 72102866-910b-0410-8b05-ffd578937521
2010-09-08 20:30:19 +00:00
Richard Frith-MacDonald
3564932935 remove obsolete typed stream inclusion
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31248 72102866-910b-0410-8b05-ffd578937521
2010-09-08 09:00:15 +00:00
Eric Wasylishen
8211043308 * Headers/Additions/GNUstepBase/preface.h.in: Remove include of
objc/sarray.h



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31245 72102866-910b-0410-8b05-ffd578937521
2010-09-07 19:31:03 +00:00
Richard Frith-MacDonald
fd458700cb simplify last change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31187 72102866-910b-0410-8b05-ffd578937521
2010-08-19 21:08:37 +00:00