Commit graph

8850 commits

Author SHA1 Message Date
theraven
e8d20b68fe Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33689 72102866-910b-0410-8b05-ffd578937521
2011-08-03 12:04:52 +00:00
theraven
f72d31cd68 Clean up NSRegularExpression, so that it compiles without warnings with or without ICU, but we don't pretend that we support things that we don't and silently return nonsense results to make debugging difficult for GNUstep users.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33688 72102866-910b-0410-8b05-ffd578937521
2011-08-03 12:04:27 +00:00
theraven
a04ed1a9ff Make base do unintuitive and stupid things in the name of Apple compatibility (hopefully Apple will fix their implementation in 10.7.something...).
Fix some tests.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33687 72102866-910b-0410-8b05-ffd578937521
2011-08-03 09:04:12 +00:00
fredkiefer
3104649bc8 Remove warnings generated by tests.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33686 72102866-910b-0410-8b05-ffd578937521
2011-08-03 08:41:26 +00:00
fredkiefer
5134f51320 Small fixes on tests.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33681 72102866-910b-0410-8b05-ffd578937521
2011-08-02 08:52:15 +00:00
fredkiefer
dafc3301e5 Remove some of the compiler warnings on system without clang or ICU.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33680 72102866-910b-0410-8b05-ffd578937521
2011-08-02 08:33:33 +00:00
theraven
999a0cb544 Remove accidentally-committed log statements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33669 72102866-910b-0410-8b05-ffd578937521
2011-08-01 10:48:07 +00:00
theraven
dc0d933256 Add some out qualifiers to NSError** parameters, matching the OS X 10.7 API diffs. They seem to have missed a lot - this change should have been made on every NSError ** to stop ARC from using the complicated copy-and-writeback semantics, but only a small number of changes are documented. It's possible that this is just an error in the docs, so someone with 10.7 should check.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33668 72102866-910b-0410-8b05-ffd578937521
2011-07-31 19:12:01 +00:00
theraven
1aaba6c0d5 Ooops, should have been -> const id[].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33667 72102866-910b-0410-8b05-ffd578937521
2011-07-31 18:37:12 +00:00
theraven
e2c5fe29fe More ARC fixups: id* -> const id* in NSSet
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33666 72102866-910b-0410-8b05-ffd578937521
2011-07-31 18:34:40 +00:00
theraven
0ccd438c1a Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33663 72102866-910b-0410-8b05-ffd578937521
2011-07-31 16:19:41 +00:00
theraven
9ddf3e0320 Remove the duplicate definition of the NSObject protocol methods in the
NSObject class (redundant since they are implicitly added by the class adopting
the protocol, and stupid because there was already one copy-and-paste error
where they differed slightly).  Also replaced all of the references to
nonexistent documentation with actual documentation.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33662 72102866-910b-0410-8b05-ffd578937521
2011-07-31 16:19:21 +00:00
theraven
cf8f5ab10a Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33661 72102866-910b-0410-8b05-ffd578937521
2011-07-31 15:32:07 +00:00
theraven
f77f9b1f35 Cleanup:
- (void)release;
to
- (oneway void)release;
so everything implementing -release actually implements the one declared in the NSObject protocol.

Start marking things that are unavailable in ARC mode as unavailable in ARC mode.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33660 72102866-910b-0410-8b05-ffd578937521
2011-07-31 15:31:39 +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
theraven
8a8836129c Added some tests for round-trips through NSNumber.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33650 72102866-910b-0410-8b05-ffd578937521
2011-07-27 08:57:30 +00:00
theraven
bc62c44b2b Fix the 64-bit bug that Fred spotted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33649 72102866-910b-0410-8b05-ffd578937521
2011-07-27 08:46:31 +00:00
theraven
407c9d0053 Tweak the weak tests so that they should still work, even if -base was compiled
with something that doesn't do a very good job of optimising autorelease
operations away.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33644 72102866-910b-0410-8b05-ffd578937521
2011-07-26 20:12:32 +00:00
theraven
a73835898d Add ChangeLog
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33643 72102866-910b-0410-8b05-ffd578937521
2011-07-26 20:10:39 +00:00
theraven
1d7274697b Change the order of the retain count and the padding, so the retain count is
always the word before isa.

Switch to using the correct kind of alignof (the ABI alignment in structures,
not the preferred alignment of the type - this stops us from allocating 4 bytes
of padding on x86-32 where there is no need for any)



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33642 72102866-910b-0410-8b05-ffd578937521
2011-07-26 20:08:10 +00:00
theraven
9c03fb74fb 64-bit fix in last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33641 72102866-910b-0410-8b05-ffd578937521
2011-07-26 19:16:14 +00:00
theraven
206a427809 Use the small object support in libobjc2 trunk for 31 / 61-bit signed NSNumbers on 32 / 64-bit platforms respectively. Still to do: add an NSSmallFloat equivalent for 64-bit platforms, storing a float.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33639 72102866-910b-0410-8b05-ffd578937521
2011-07-26 19:05:43 +00:00
theraven
60b9752943 Remove an NSLog() line I left in the test by mistake.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33638 72102866-910b-0410-8b05-ffd578937521
2011-07-26 18:42:13 +00:00
qmathe
c9e3c58f06 Fixed missing oneway qualifier on -release return type.
Recent Clang trunk versions complain about it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33634 72102866-910b-0410-8b05-ffd578937521
2011-07-26 10:47:16 +00:00
fredkiefer
e8ee222d6d * Source/NSJSONSerialization.m: Get this file to compile with
standard gcc settings fro GNUstep.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33633 72102866-910b-0410-8b05-ffd578937521
2011-07-25 20:30:39 +00:00
theraven
a6264e0635 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33632 72102866-910b-0410-8b05-ffd578937521
2011-07-25 15:51:16 +00:00
theraven
1d43e6de35 Added NSJSONSerialization (10.7) implementation. The code path reading from an NSInputStream is not well tested - please try and break it!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33631 72102866-910b-0410-8b05-ffd578937521
2011-07-25 15:50:51 +00:00
theraven
ce32c10f45 Don't delete the global lock - we may still need it!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33630 72102866-910b-0410-8b05-ffd578937521
2011-07-25 14:32:44 +00:00
theraven
6af87a82cd Removed debugging NSLog() that was accidentally committed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33629 72102866-910b-0410-8b05-ffd578937521
2011-07-25 12:51:24 +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
theraven
4eb0fe5390 Add some explicit casting where required in NSConcretePointerFunctions.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33626 72102866-910b-0410-8b05-ffd578937521
2011-07-24 22:12:59 +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
b15a8e934e Added stuff from last commit to news file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33623 72102866-910b-0410-8b05-ffd578937521
2011-07-24 13:26:10 +00:00
theraven
1a35cc6c58 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33622 72102866-910b-0410-8b05-ffd578937521
2011-07-24 13:10:41 +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
ee75164747 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33618 72102866-910b-0410-8b05-ffd578937521
2011-07-23 16:16:21 +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
theraven
20f46b976c Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33611 72102866-910b-0410-8b05-ffd578937521
2011-07-23 12:19:51 +00:00
theraven
863fff32b7 Remove the zone pointer from objects. Now we always query the zones to find the relevant pointer. Zones are still supported, but we now optimise for the case where they are not used.
To disable zone support completely, NSAllocateObject() should ignore the zone and NSDeallocateObject() should skip the zone lookup.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33610 72102866-910b-0410-8b05-ffd578937521
2011-07-23 12:19:19 +00:00
theraven
9dbeddeeae Missing part of the NSArray update.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33609 72102866-910b-0410-8b05-ffd578937521
2011-07-23 12:02:04 +00:00
theraven
d5d2611a60 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33608 72102866-910b-0410-8b05-ffd578937521
2011-07-22 16:08:04 +00:00
theraven
b5b216f2be Change id* -> id[] for OS X 10.7 compatibility in NSArray. This change is required for ARC: now, id* means pointer to a single object, id[] means array.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33607 72102866-910b-0410-8b05-ffd578937521
2011-07-22 16:07:23 +00:00
theraven
d22b0c4ff6 Added changelog for last string of commits.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33606 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:39:39 +00:00
theraven
a76cd2adb3 I give up. No brain left.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33605 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:37:38 +00:00
theraven
d24eeb55ce Third try.
[NSException raise: GSNotEnoughCoffeeException];



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33604 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:34:08 +00:00
theraven
0d5d27b6a1 Add missing #import.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33603 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:27:04 +00:00
theraven
4a277ee9ac Stub for NSRegularExpression when a compatible version of ICU is not present.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33602 72102866-910b-0410-8b05-ffd578937521
2011-07-22 13:23:11 +00:00
theraven
50a6744965 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33601 72102866-910b-0410-8b05-ffd578937521
2011-07-21 13:18:21 +00:00
theraven
b45d78dfa7 Added NSRegularExpressionSearch (10.7) support to NSString.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33600 72102866-910b-0410-8b05-ffd578937521
2011-07-21 13:17:27 +00:00