Commit graph

8323 commits

Author SHA1 Message Date
rfm
f9f81837d6 Reduce internal class interdependency for improved maintainability.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32083 72102866-910b-0410-8b05-ffd578937521
2011-02-11 16:04:05 +00:00
rfm
e11e340ae8 Recommit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32082 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:49:41 +00:00
rfm
37a1ef47bb Recommit NSUnarchiver.m (now tested), revert recently broken NSPropertyList.m to working version again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32081 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:43:43 +00:00
theraven
703e5bf39a Remove redundant copy + leak in NSArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32080 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:13:48 +00:00
theraven
c5a9c3aa54 Ensure that an IMP in NSPropertyList is always initialised before it's called.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32079 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:12:13 +00:00
theraven
2622343ed3 Another case of the bug fixed in r32066.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32078 72102866-910b-0410-8b05-ffd578937521
2011-02-11 15:09:14 +00:00
theraven
8782cf13e8 Silence some warnings caused by returning the result of a method that doesn't return.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32077 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:51:47 +00:00
theraven
02767906b5 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
rfm
feb65c9c78 Recommit tested changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32075 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:31:25 +00:00
rfm
b771863503 Reapply some changes with modifications
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32074 72102866-910b-0410-8b05-ffd578937521
2011-02-11 14:07:49 +00:00
rfm
e679d4e99e Revert back to working code!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32072 72102866-910b-0410-8b05-ffd578937521
2011-02-11 13:53:54 +00:00
rfm
b21d800c2a get things to compile again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32071 72102866-910b-0410-8b05-ffd578937521
2011-02-11 13:05:48 +00:00
theraven
ae709dcd9a Remove a lock that is protecting thread-local storage. Stop leaking NSThread objects that are stored in thread-local storage.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32070 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:54:59 +00:00
rfm
176ac3655e revert last
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32069 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:43:47 +00:00
theraven
d70f65a429 Fix release of the wrong object in NSCache.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32068 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:42:59 +00:00
theraven
3230b1268f Fix memory leak in NSCache.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32067 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:40:46 +00:00
theraven
ea77dbe6f3 Fix nonsense use of libicu, spotted by the analyser, with a not-so-helpful warning (he status pointer passed in to icu functions MUST be initialised to 0, because the ICU functions test it as well as setting it so you can call a load of ICU functions with the same status flag and not wrap them all in tests).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32066 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:39:01 +00:00
theraven
ddc2d68bec Add some asserts to NSMethodSignature to make the analyser happy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32065 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:36:40 +00:00
rfm
37740d0f66 temporarily revert to get code to compile again.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32064 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:29:50 +00:00
rfm
9ae02406b8 leak fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32063 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:25:20 +00:00
theraven
8b5dd696e4 Make NSPropertyList.m use the temporary buffer macros, instead of reimplementing them.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32062 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:21:09 +00:00
theraven
b839f8fe27 Added assert in NSKeyValueObserving to suppress analyser warning.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32061 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:16:39 +00:00
theraven
5f3e58d3b4 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32060 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:07:15 +00:00
theraven
4825ab2900 Added exception-safe version of the GS_BEGINITEMBUF() macro. As a side effect, this should silence the zero-sized VLA warnings in the static analyser.
Note: This macro is currently only used on GCC 4+ and clang.  It depends on __attribute__((cleanup)), which was introduced some time in the 3.x series, but I'm not sure exactly when (3.2 / 3.3 I think), so someone who cares about gcc 3.x can tweak this if they want (not sure if anyone does - I think most people use 2.95, 4.x, or clang).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32059 72102866-910b-0410-8b05-ffd578937521
2011-02-11 12:06:25 +00:00
rfm
7d0b4c43c2 further tweaks
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32058 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:45:07 +00:00
theraven
1ca0c59b61 Initialise a variable with the value that's actually used first, not a placeholder value.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32057 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:35:04 +00:00
theraven
1974ee0308 Remove redundant dictionary lookup (result never used) in AGSParser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32056 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:33:37 +00:00
theraven
db37029493 Fix NSEnumerationReverse in the other place where this bug was pasted. I must have been asleep or drunk when I wrote this method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32055 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:31:41 +00:00
theraven
810000e008 Fix [NSArray -indexesOfObjectsWithOptions:passingTest:] with NSEnumerationReverse option. Was doing forward iteration in all cases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32054 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:29:34 +00:00
theraven
e6eaf3c92a Remove some redundant arithmetic (l - 0).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32053 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:09:55 +00:00
theraven
11303668ab Removed redundant code line spotted by analyser - looks like copy-and-paste bug from line 1192 (line 1200 was always replacing the value stored by 1199).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32052 72102866-910b-0410-8b05-ffd578937521
2011-02-11 11:06:25 +00:00
rfm
b18855d42a NSZombie fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32051 72102866-910b-0410-8b05-ffd578937521
2011-02-11 10:00:00 +00:00
rfm
35fea0d5da fix bad commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32050 72102866-910b-0410-8b05-ffd578937521
2011-02-11 09:36:38 +00:00
rfm
53e8554a8c tweaks for clang static analyser warningS
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32048 72102866-910b-0410-8b05-ffd578937521
2011-02-11 09:02:33 +00:00
rfm
d6502819c8 revert
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32047 72102866-910b-0410-8b05-ffd578937521
2011-02-11 07:22:23 +00:00
stefanbidi
b31524ca61 Avoid unnecessary memory copying.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32046 72102866-910b-0410-8b05-ffd578937521
2011-02-11 04:06:00 +00:00
theraven
fff70cdc5c Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32042 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:54:57 +00:00
theraven
a2acc777a2 Don't use Object in configure tests (not present in GNUstep runtime).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32041 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:54:37 +00:00
theraven
f436ef0067 Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32040 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:54:12 +00:00
theraven
ebc9e87a81 Use NSClassFromString() to look up NSZombie class. This has two advantages:
1) Doesn't rely on Apple-incompatible behaviour in the GCC runtime that introduces fun heisenbugs.
2) Doesn't require constructing the dtable for NSZombie if we're not actually using it.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32039 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:53:48 +00:00
theraven
68ecb226c5 Revert last commit. The actual Apple behaviour is what libobjc2 used to do, not what it does now. It's incredibly ugly, and should not have been allowed: It makes NSObject the superclass of NSObject's metaclass, but does NOT do the same transform for any other classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32038 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:40:18 +00:00
theraven
1ce32a158e Make [NSObject -class] return self if self is a class. This is needed for a weird bit of the ObjC spec relating to metaclasses of root classes. The GNUstep runtime behaviour mimics the Apple behaviour, while the GCC runtime mimics the StepStone behaviour, so we get some somewhat irritating differences.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32037 72102866-910b-0410-8b05-ffd578937521
2011-02-10 18:33:26 +00:00
theraven
8213813c6d 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
rfm
f3a58fb845 leak fixing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32035 72102866-910b-0410-8b05-ffd578937521
2011-02-10 12:11:03 +00:00
theraven
67df51138c Added ChangeLog entry from last commit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32034 72102866-910b-0410-8b05-ffd578937521
2011-02-10 11:04:12 +00:00
theraven
31e5eb9c38 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
theraven
ae0204e45d Tweaks to mkchlog script.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32032 72102866-910b-0410-8b05-ffd578937521
2011-02-10 10:56:45 +00:00
rfm
a63d65764c Minor cleanups.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32031 72102866-910b-0410-8b05-ffd578937521
2011-02-10 10:52:54 +00:00
theraven
d5e9a52e35 Fix bug reported by static analyser - NSData was testing ivars instead of arguments in -initWithBytesNoCopy:length:freeWhenDone:. The correct behaviour was to throw an exception if passed a NULL pointer and a length. The actual behaviour was to test whether the data object was invalid. This could lead to accidental NULL-pointer dereferencing later.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32030 72102866-910b-0410-8b05-ffd578937521
2011-02-10 10:13:50 +00:00
stefanbidi
b7a7511254 Implemented [NSTimeZone-daylightSavingTimeOffsetForDate:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32027 72102866-910b-0410-8b05-ffd578937521
2011-02-10 03:58:02 +00:00