Commit graph

237 commits

Author SHA1 Message Date
rfm
4d95ad4f42 avoid obsolete include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29667 72102866-910b-0410-8b05-ffd578937521
2010-02-18 16:27:32 +00:00
rfm
47810e15de move a bit more stuff into additions
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29666 72102866-910b-0410-8b05-ffd578937521
2010-02-18 16:18:54 +00:00
rfm
bbcf9bd03e Update integer limits code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29661 72102866-910b-0410-8b05-ffd578937521
2010-02-18 07:06:42 +00:00
rfm
031865c190 Attempt to allow documentation to be generated for uninstalled base package.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29655 72102866-910b-0410-8b05-ffd578937521
2010-02-16 19:51:52 +00:00
rfm
126b991b12 remove obsolete invocation stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29649 72102866-910b-0410-8b05-ffd578937521
2010-02-15 17:14:12 +00:00
rfm
c31dd73a90 cleanup fast enumeration issues
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29647 72102866-910b-0410-8b05-ffd578937521
2010-02-15 16:56:31 +00:00
rfm
a958c06c8e Fix erroneous configure change
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29631 72102866-910b-0410-8b05-ffd578937521
2010-02-14 17:22:47 +00:00
rfm
138b06b1c0 fixup for old runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29627 72102866-910b-0410-8b05-ffd578937521
2010-02-14 15:47:30 +00:00
rfm
4b92f6a57d fix missing check for runtime.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29626 72102866-910b-0410-8b05-ffd578937521
2010-02-14 15:41:44 +00:00
rfm
efab71bc46 minor include fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29616 72102866-910b-0410-8b05-ffd578937521
2010-02-14 11:01:08 +00:00
rfm
f13d56d8ec merge back reorganisation branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29615 72102866-910b-0410-8b05-ffd578937521
2010-02-14 10:48:10 +00:00
rfm
3dce849c75 re-instate cleaned up version of string proxy code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29518 72102866-910b-0410-8b05-ffd578937521
2010-02-09 06:07:10 +00:00
rmottola
9979e794a8 fixed c99-ism
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29486 72102866-910b-0410-8b05-ffd578937521
2010-02-05 21:00:10 +00:00
rmottola
9814296d1c provide gcc 2.95 variadic macro
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29485 72102866-910b-0410-8b05-ffd578937521
2010-02-05 20:57:36 +00:00
rfm
1890339060 Reinstate working symbolic stack trace code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29392 72102866-910b-0410-8b05-ffd578937521
2010-01-24 17:13:03 +00:00
rfm
3ae126279b Apply patch to switch completely to using pthreads
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29367 72102866-910b-0410-8b05-ffd578937521
2010-01-23 17:00:13 +00:00
rfm
74c0d2f0c6 Re-instate lost check for setsid
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29341 72102866-910b-0410-8b05-ffd578937521
2010-01-21 08:23:19 +00:00
rfm
25ad93b2f7 Fix for exception handling with libobjc2
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29247 72102866-910b-0410-8b05-ffd578937521
2010-01-09 07:24:05 +00:00
theraven
0bd156fa4a Refactored last two commits so that all of the real code is in GSIMap.h and is just called from the relevant classes, rather than copied and pasted everywhere. Also added fast enumeration support to GSCountedSet.
I think that's all of the classes that use GSIMaps for their implementation now fully supporting fast enumeration.  If there are any that I've missed, then just copy the methods from GSSet to implement them.  You just need to set the mutations pointer to something sensible (i.e. something that will change if the collection mutates) and then call the new GSIMapCountByEnumeratingWithStateObjectsCount() function.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29181 72102866-910b-0410-8b05-ffd578937521
2009-12-29 16:49:07 +00:00
theraven
20e5aa35e5 Added GSBlocks header. This defines two macros:
DEFINE_BLOCK_TYPE() defines a new block type.
CALL_BLOCK() calls a block.

These use the compiler's native support for blocks if it exists, but otherwise implement the lower-level version.  Note that the structure defined by the fall-back versions is NOT a complete definition of the block layout, and copies of this structure should never be instantiated.

This does not allow non-blocks-aware compiles (like GCC) to create blocks, but it does allow them to use blocks.  This means that we can implement things like NSArray's -enumerateObjectsUsingBlock: without breaking GCC compatibility.  To do so, you'd first need to declare a block type in the header, like this:

DEFINE_BLOCK_TYPE(GSEnumeratorBlock, void, id, NSUInteger, BOOL*);

Then declare the method like this:

- (void)enumerateObjectsUsingBlock: (GSEnumeratorBlock)aBlock;

Finally, implement it like this:

- (void)enumerateObjectsUsingBlock: (GSEnumeratorBlock)aBlock
{
	NSUInteger count = 0;
	BOOL shouldStop = NO;
	for (obj in self)
	{
		CALL_BLOCK(aBlock, obj, count++, &shouldStop);
		if (shouldStop)
		{
			return;
		}
	}
}

If you compile this with clang -fblocks then it will work using Clang's native support for blocks.  If you compile it with GCC or clang without -fblocks then it will use the other version.  Note that this example uses fast enumeration, so will only compile with clang.  A proper GNUstep implementation should have some fall-back code for primitive compilers that don't support this either.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29169 72102866-910b-0410-8b05-ffd578937521
2009-12-27 13:54:51 +00:00
rfm
9825f97436 avoid preprocessor warnings on mingw
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28951 72102866-910b-0410-8b05-ffd578937521
2009-11-04 07:00:23 +00:00
rfm
e054b0321e fix missing macro
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28817 72102866-910b-0410-8b05-ffd578937521
2009-10-12 19:04:21 +00:00
rfm
4c004d6da5 Fix files missed from last ocmmit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28780 72102866-910b-0410-8b05-ffd578937521
2009-10-07 14:54:37 +00:00
rfm
2fc494c446 a bit step towards removing obsolete mframe code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28774 72102866-910b-0410-8b05-ffd578937521
2009-10-04 15:26:07 +00:00
rfm
d5df438a7d explicitly specify types in union
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28762 72102866-910b-0410-8b05-ffd578937521
2009-10-02 15:14:42 +00:00
rfm
d97f916035 Default to an empty array type
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28761 72102866-910b-0410-8b05-ffd578937521
2009-10-02 14:41:25 +00:00
theraven
1c08b79f6a Added configure thingy to detect presence of runtime.h. Autoconf stuff by Wonfgang Lux.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28730 72102866-910b-0410-8b05-ffd578937521
2009-09-23 11:52:32 +00:00
rfm
5a8fbf7417 tweak header parsing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28687 72102866-910b-0410-8b05-ffd578937521
2009-09-15 15:28:35 +00:00
rfm
a74def5b73 Log excess data.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28686 72102866-910b-0410-8b05-ffd578937521
2009-09-15 11:51:08 +00:00
rfm
1a11998ecf Cleanups and minor bugfixes for new code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28665 72102866-910b-0410-8b05-ffd578937521
2009-09-12 07:37:00 +00:00
rfm
b367e467d6 Avoid exposing pthread details in NSLock.h (as much as possible without
impacting performance).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28612 72102866-910b-0410-8b05-ffd578937521
2009-09-06 10:56:04 +00:00
theraven
d3705fca24 Added version macro for Snow Leopard.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28576 72102866-910b-0410-8b05-ffd578937521
2009-08-30 16:35:39 +00:00
rfm
6aecebbc9d Fix for bug introduced by adding OSX compatibility for the -path method of
NSURL.  This was causing loading of URLs where the path ends in a slash to
fail (load the wrong URL).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28548 72102866-910b-0410-8b05-ffd578937521
2009-08-26 16:48:15 +00:00
rfm
974a65cb15 Add comments to avoid confusion.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28390 72102866-910b-0410-8b05-ffd578937521
2009-07-11 14:02:00 +00:00
rfm
eb93dab8b1 Add explicit disclaimer
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28350 72102866-910b-0410-8b05-ffd578937521
2009-06-13 08:10:40 +00:00
rfm
5512e86a20 minor performance tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28237 72102866-910b-0410-8b05-ffd578937521
2009-04-20 08:18:11 +00:00
rfm
c15de5f481 zeroing weak key fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28236 72102866-910b-0410-8b05-ffd578937521
2009-04-19 13:56:29 +00:00
rfm
4bb86f10be gc improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28234 72102866-910b-0410-8b05-ffd578937521
2009-04-19 10:03:18 +00:00
rfm
74f0c18910 try using sigsetjmp
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28111 72102866-910b-0410-8b05-ffd578937521
2009-03-21 15:31:52 +00:00
rfm
1549f5b5e7 Implement OSX10.5 NSMapTable API
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28086 72102866-910b-0410-8b05-ffd578937521
2009-03-16 10:54:59 +00:00
rfm
8bbcafb4c1 GC bugfixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28062 72102866-910b-0410-8b05-ffd578937521
2009-03-10 11:30:16 +00:00
rfm
5cab993ed1 More moves towards OSX 10.5 GC compatibility.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@28054 72102866-910b-0410-8b05-ffd578937521
2009-03-09 15:11:51 +00:00
rfm
30cf8bf35b Updates for 10.5 API changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27962 72102866-910b-0410-8b05-ffd578937521
2009-02-23 20:42:32 +00:00
rfm
6c2f260e49 Portability fixes for 64bit intel.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27930 72102866-910b-0410-8b05-ffd578937521
2009-02-20 17:44:58 +00:00
fedor
4ae8de086c Correct sense of test
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27901 72102866-910b-0410-8b05-ffd578937521
2009-02-17 15:36:30 +00:00
fedor
2d33e2419f Additional definitions to compile with apple-apple-apple
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27892 72102866-910b-0410-8b05-ffd578937521
2009-02-16 23:04:30 +00:00
rfm
fed6864e9d Attempt to fix thread registration for GC (bug #25541)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27829 72102866-910b-0410-8b05-ffd578937521
2009-02-10 12:16:40 +00:00
rfm
e7b584b46b more GC fixed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27788 72102866-910b-0410-8b05-ffd578937521
2009-02-04 21:26:43 +00:00
rfm
db77746841 simplify GC ... don't need to add new zone
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27783 72102866-910b-0410-8b05-ffd578937521
2009-02-04 16:45:10 +00:00
rfm
8040b6c88a fix and simplify last change£
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27659 72102866-910b-0410-8b05-ffd578937521
2009-01-23 16:10:39 +00:00