Commit graph

156 commits

Author SHA1 Message Date
Wolfgang Lux
c67e228f86 Use dedicated code for glibc specific variant of strerror_r based on
an autoconf test instead of trying to tweak feature test macros to use
the POSIX version.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35774 72102866-910b-0410-8b05-ffd578937521
2012-11-02 13:44:30 +00:00
Richard Frith-MacDonald
710f96dbb6 correct declared return type
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35765 72102866-910b-0410-8b05-ffd578937521
2012-10-30 14:05:12 +00:00
Quentin Mathe
7c88cff675 Prevent redefinition warnings for ObjC++ related macros
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35738 72102866-910b-0410-8b05-ffd578937521
2012-10-25 14:37:12 +00:00
Richard Frith-MacDonald
e9d41fe2db Fix logging for prettier display of class/method names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35670 72102866-910b-0410-8b05-ffd578937521
2012-10-12 07:00:17 +00:00
Niels Grewe
2927b474b5 Fix compilation with the non-fragile ABI and restore a line in
GSVersionMacros.h that seems to have been left commented out accidentally.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35594 72102866-910b-0410-8b05-ffd578937521
2012-09-23 08:29:17 +00:00
Richard Frith-MacDonald
a4140c8f51 Changes to restore sorting functiionality
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35579 72102866-910b-0410-8b05-ffd578937521
2012-09-20 09:32:00 +00:00
Niels Grewe
f8fd11f3fd Completely overhaul how we do sorting in -base. GSSorting.h now defines an
interface that can be used for all sorting tasks in the library. The actual sort
algorithms to use are now plugable. Timsort is the new default sorting
algorithm, the existing algorithms, shellsort and quicksort, can still be
selected using a configure switch.

Also implement the new NSComparator (blocks) based sorting and insertion index
searching methods for NSMutableArray and NSArray.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35573 72102866-910b-0410-8b05-ffd578937521
2012-09-19 13:31:09 +00:00
Niels Grewe
ee4052bf6d Compatibility improvements for QNX.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35451 72102866-910b-0410-8b05-ffd578937521
2012-08-26 08:55:49 +00:00
Niels Grewe
868d8a6922 Add support for logging to the QNX slog via NSLog().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35450 72102866-910b-0410-8b05-ffd578937521
2012-08-25 23:55:51 +00:00
David Chisnall
98d6f0baa3 Define macros to expose things in C headers that we need (e.g. INTPTR_MAX) that aren't exposed by default when compiling Objective-C++.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35433 72102866-910b-0410-8b05-ffd578937521
2012-08-20 15:51:30 +00:00
Niels Grewe
383d5ccec2 Changes to support clang's __attribute__((objc_root_class)).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35412 72102866-910b-0410-8b05-ffd578937521
2012-08-16 12:31:16 +00:00
Richard Frith-MacDonald
186f17482a fix for bug #36824
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35283 72102866-910b-0410-8b05-ffd578937521
2012-07-11 04:51:42 +00:00
Richard Frith-MacDonald
cd3225d8c9 fix for bug #36650
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35265 72102866-910b-0410-8b05-ffd578937521
2012-07-08 15:00:21 +00:00
David Chisnall
3cb1b08b26 Support for collection subscripting (NSArray and NSDictionary).
Yes, the syntax is ugly, but no doubt people will start using it in June...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35033 72102866-910b-0410-8b05-ffd578937521
2012-04-06 12:23:10 +00:00
Niels Grewe
fa47f6da10 Detect the presence of libdispatch and, if available, use it for collection
enumeration methods that take blocks as arguments. This allows us to implement
the NSEnumerationConcurrent option of those methods with minimal effort.

The searching methods on NSIndexSet and all the sorting methods are still
missing.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35010 72102866-910b-0410-8b05-ffd578937521
2012-03-27 17:05:19 +00:00
Richard Frith-MacDonald
cd57095d65 get code to compile/link again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35004 72102866-910b-0410-8b05-ffd578937521
2012-03-27 10:03:40 +00:00
Niels Grewe
abb5a4dd3e Attempt to fix block definitions for blocks without arguments in GCC
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35003 72102866-910b-0410-8b05-ffd578937521
2012-03-27 09:30:12 +00:00
Niels Grewe
132de12a73 Add completion block support to NSOperation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34996 72102866-910b-0410-8b05-ffd578937521
2012-03-26 14:47:07 +00:00
Richard Frith-MacDonald
1a55779dd7 Apply patch by Jens Alfke with minor changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34902 72102866-910b-0410-8b05-ffd578937521
2012-03-07 08:37:54 +00:00
Richard Frith-MacDonald
fc0a0e782f fixups for ICU changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34858 72102866-910b-0410-8b05-ffd578937521
2012-03-02 07:31:47 +00:00
Eric Wasylishen
4db79e6fef * Source/GSLocale.m:
- Deprecate GSSetLocale and GSSetLocaleC; they now do nothing
   but print a warning.
 - Introduce GSDefaultLanguageLocale(), which is a
   substitute for GSSetLocale(LC_MESSAGES, nil), which just returns the
   current setting of LC_MESSAGES.
* Source/NSObject.m (+initialize): Remove GSSetLocaleC call,
which was changing the libc locale.
* Source/NSUserDefaults.m: Use GSDefaultLanguageLocale() instead of
GSSetLocale(LC_MESSAGES, nil)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34841 72102866-910b-0410-8b05-ffd578937521
2012-02-28 06:20:53 +00:00
Richard Frith-MacDonald
e7edb88bde Comment about obsolete RETAIN/RELEASE/AUTORELEASE etc being deprecated
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34697 72102866-910b-0410-8b05-ffd578937521
2012-02-02 16:10:22 +00:00
Richard Frith-MacDonald
d3b4830a65 try to work round selinux restrictions on invocations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34660 72102866-910b-0410-8b05-ffd578937521
2012-01-29 16:57:06 +00:00
Richard Frith-MacDonald
5e74b70bff Try to tidy/simplify objc2 header support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34459 72102866-910b-0410-8b05-ffd578937521
2012-01-08 14:25:56 +00:00
Richard Frith-MacDonald
32fc733268 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
Richard Frith-MacDonald
704a39c91b fixes for gnutls detection and objc library detection
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34030 72102866-910b-0410-8b05-ffd578937521
2011-10-19 16:53:39 +00:00
Richard Frith-MacDonald
37f430d9d9 tidyup private api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34029 72102866-910b-0410-8b05-ffd578937521
2011-10-19 15:25:38 +00:00
Richard Frith-MacDonald
afc6974925 Provisional IPv6 support added.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33933 72102866-910b-0410-8b05-ffd578937521
2011-10-03 16:03:19 +00:00
Eric Wasylishen
7d457ce4cc * Source/NSUserDefaults.m:
- Refactoring of the code to read the system language list
  into a separate function, systemLanguages().
- Add support for the LANGUAGE environment variable, a GNU extension.
  It holds a colon-separated list of locales, and is intended to let
  the user specify a list of their preferred languages in order.
  For example, the language settings GUI in Ubuntu modifies the
  LANGUAGE variable.

  More info here:
  http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable
- When populating NSLanguages, "expand" locales into a list of
  related variants, formed by stripping off region suffixes. This
  ensures that if a user's environment is set to a regional version
  of a language (say CanadaFrench) but an application is only
  traslated into French, the plain French translation will still be used.

  e.g. if the system locales are {fr_CA, en_CA}, expand the list to
  {fr_CA, fr, en_CA, en}.
* Headers/GNUstepBase/GSLocale.h:
* Source/GSLocale.m:
New functions GSLocaleVariants and GSLanguagesFromLocale


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33910 72102866-910b-0410-8b05-ffd578937521
2011-09-29 19:00:46 +00:00
Richard Frith-MacDonald
35e02db554 tweaks for apple compiler
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33790 72102866-910b-0410-8b05-ffd578937521
2011-08-26 11:15:35 +00:00
Riccardo Mottola
ff93804152 Additional cast to void* to keep OpenBSD compiler happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33757 72102866-910b-0410-8b05-ffd578937521
2011-08-16 22:14:36 +00:00
David Chisnall
12745b6fde Don't export functions that use id if we're not in Objective-C mode. I'm not entirely sure what this gs_consume stuff does, since it's not documented, but it looks a lot like it might be nonsense - it's almost certainly broken in ARC mode, where this static inline function will be emitted as objc_release() and will free the object.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33652 72102866-910b-0410-8b05-ffd578937521
2011-07-27 18:03:22 +00:00
Fred Kiefer
716586a5cc Fix small bug introduced when switching to Macros.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33627 72102866-910b-0410-8b05-ffd578937521
2011-07-25 10:58:38 +00:00
Fred Kiefer
254aa22792 Try to clean up after last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33625 72102866-910b-0410-8b05-ffd578937521
2011-07-24 20:47:36 +00:00
David Chisnall
d2ea054c26 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
David Chisnall
bc37adfb0c Add support (and test) for weak keys and values in NSMapTable. This support should work in GC mode. It also works if the runtime supports ARC, even if the compiler does not use this support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33617 72102866-910b-0410-8b05-ffd578937521
2011-07-23 16:16:01 +00:00
David Chisnall
3e3d12b661 Added read / write barrier support to GSIMap.h. These define macros for reading and writing keys and writing values.
These are currently unused - the next commit will make NSMapTable use them.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33612 72102866-910b-0410-8b05-ffd578937521
2011-07-23 13:14:20 +00:00
Richard Frith-MacDonald
4a5cb96bef For the avoidance of confusion, remove references to obsolete header.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33562 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:53:45 +00:00
Fred Kiefer
c0fac74ded * Headers/GNUstepBase/GNUstep.h: Define the __has_feature macro,
as this file may be used without preface.h being included first.
Fixes bug #33708. Patch by Tim Kack <timkack@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33461 72102866-910b-0410-8b05-ffd578937521
2011-07-05 08:20:10 +00:00
David Chisnall
56a002dae7 Rewrote NSProxy's -retain / -release to be the same as NSObject, not its own ad-hoc thing.
Added declaration of __bridge for use in non-ARC mode.

Tweaked arrayWithObjects:count: to take a const id* parameter, to avoid ARC
treating it as a write-back parameter.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33425 72102866-910b-0410-8b05-ffd578937521
2011-06-30 14:44:58 +00:00
David Chisnall
9d06beffdd ASSIGN() / RETAIN() and so on macros break the ARC migration tool (it won't rewrite expressions in macros from external headers), so just make them expand to the same thing in ARC mode as in GC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33413 72102866-910b-0410-8b05-ffd578937521
2011-06-29 15:29:40 +00:00
David Chisnall
276046a76c More ARC fixes. We don't want to be using __strong void* in ARC mode (it only makes sense in GC mode and is invalid in ARC mode).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33411 72102866-910b-0410-8b05-ffd578937521
2011-06-29 15:21:02 +00:00
David Chisnall
3f4dc9a72b ARC-compatibility tweaks in the headers. ARC will not track objects inside structures and rejects code that uses object types that are not __unsafe_unretained qualified inside structures.
This quick fix just added this type qualifier on all such structures.  Several of these should probably not be in headers at all.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33403 72102866-910b-0410-8b05-ffd578937521
2011-06-29 11:50:26 +00:00
Richard Frith-MacDonald
861d46e8db remove non-portable includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33391 72102866-910b-0410-8b05-ffd578937521
2011-06-27 06:04:47 +00:00
Richard Frith-MacDonald
bbc480f958 patch by Sebastian
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33359 72102866-910b-0410-8b05-ffd578937521
2011-06-20 12:46:42 +00:00
Richard Frith-MacDonald
e84d049078 Add some flexibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33355 72102866-910b-0410-8b05-ffd578937521
2011-06-20 07:33:27 +00:00
Richard Frith-MacDonald
523366101e more leak cleanup stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33349 72102866-910b-0410-8b05-ffd578937521
2011-06-19 13:34:17 +00:00
Richard Frith-MacDonald
9831216043 Start stuff for handling cleanup on process exit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33344 72102866-910b-0410-8b05-ffd578937521
2011-06-19 09:26:03 +00:00
Richard Frith-MacDonald
3ea06f1379 Add some requests 10.6 methods ... untested.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33326 72102866-910b-0410-8b05-ffd578937521
2011-06-17 11:45:28 +00:00
Richard Frith-MacDonald
a69b7c2466 always create autorelease pools for mixed GC mode support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33212 72102866-910b-0410-8b05-ffd578937521
2011-05-31 07:55:06 +00:00
David Chisnall
668081efb2 Use correct test macro for __weak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33162 72102866-910b-0410-8b05-ffd578937521
2011-05-27 23:36:28 +00:00
Niels Grewe
410ab087fa Attempt to detect the flags needed to enable compiler intrinsics for atomic
operations.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33134 72102866-910b-0410-8b05-ffd578937521
2011-05-26 18:37:58 +00:00
Richard Frith-MacDonald
9f32aeb525 remove unused directory and obsolete comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32795 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:32:00 +00:00
Richard Frith-MacDonald
7aee0158bc Cleanup and fix to build additipns library on apple systems.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32737 72102866-910b-0410-8b05-ffd578937521
2011-03-29 11:18:10 +00:00
Richard Frith-MacDonald
c0979f8d17 64bit safety fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32731 72102866-910b-0410-8b05-ffd578937521
2011-03-29 08:16:02 +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