Commit graph

149 commits

Author SHA1 Message Date
thebeing
a99a5163fd 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
thebeing
1e852b259e 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
theraven
f2c68c13e4 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
thebeing
d10498bd01 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
rfm
c456ffd519 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
rfm
7ccc71d1ab 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
theraven
ecfd46edb2 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
thebeing
a5c6cfa9f7 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
rfm
0ae9c7d32a 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
thebeing
9963a2e83a 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
thebeing
849ed6b9f4 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
rfm
bcfeafc9ae 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
rfm
edf6711cd8 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
ericwa
e8bc5d9a5f * 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
rfm
8199943aef 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
rfm
92ae73861f 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
rfm
3970d58fdc 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
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
rfm
2934175c27 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
rfm
a8ce28dd9f 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
rfm
6b8dc7ef6c 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
ericwa
6352d91406 * 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
rfm
8e229fd524 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
rmottola
ca379d1527 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
theraven
1d53b9c278 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
fredkiefer
93ba2fdb0b 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
fredkiefer
da112a776b 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
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
fc206e3169 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
theraven
ccc571be66 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
rfm
cc524f2704 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
fredkiefer
cbb92041ae * 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
theraven
72e4d13156 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
theraven
cfe8b63cbf 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
theraven
9f0537145d 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
theraven
ab930ee2ba 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
rfm
29dfb60a39 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
rfm
e40a3d2625 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
rfm
33843644e1 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
rfm
e78ceb4c96 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
rfm
8b2ffba3d9 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
rfm
074a57a018 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
rfm
d70e36cea8 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
theraven
7c977d8db0 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
thebeing
b6cee11863 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
rfm
0ae9a6c552 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
rfm
c688f6d764 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
rfm
5dd6a0d7e0 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
rfm
de2378bc87 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