Commit graph

259 commits

Author SHA1 Message Date
rfm
cdc8b38bb9 more changes for new runtime
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29828 72102866-910b-0410-8b05-ffd578937521
2010-03-04 08:15:08 +00:00
rfm
c49cb5cc49 Fix header error spotted by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29817 72102866-910b-0410-8b05-ffd578937521
2010-03-02 09:51:12 +00:00
rfm
117316de2f Remove obsolete code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29813 72102866-910b-0410-8b05-ffd578937521
2010-03-01 08:46:21 +00:00
rfm
3a49540942 mprove ifdef's for non-fragile-abi
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29809 72102866-910b-0410-8b05-ffd578937521
2010-02-28 19:43:35 +00:00
rfm
0514ce88c2 Use NSGetSizeAndAlignment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29798 72102866-910b-0410-8b05-ffd578937521
2010-02-28 11:51:59 +00:00
rfm
95af1ab7ac add objc_sizeOfType()
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29795 72102866-910b-0410-8b05-ffd578937521
2010-02-28 11:36:29 +00:00
rfm
c01d7213e5 cleanup compatibility header installation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29793 72102866-910b-0410-8b05-ffd578937521
2010-02-28 09:10:16 +00:00
rfm
85191c6fc9 inon-fragile ivar update
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29780 72102866-910b-0410-8b05-ffd578937521
2010-02-26 11:04:14 +00:00
rfm
837c59689b improve instance variable hiding
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29779 72102866-910b-0410-8b05-ffd578937521
2010-02-26 10:25:35 +00:00
rfm
9491c87559 build additions with NO_GNUSTEP=1
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29771 72102866-910b-0410-8b05-ffd578937521
2010-02-26 08:39:47 +00:00
rfm
ef87443e19 tweak for if bool is a reserved word
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29754 72102866-910b-0410-8b05-ffd578937521
2010-02-25 19:00:23 +00:00
rfm
2cc3cb187c support very recent glibc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29738 72102866-910b-0410-8b05-ffd578937521
2010-02-25 10:51:10 +00:00
rfm
462d45a66e regenerate
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29737 72102866-910b-0410-8b05-ffd578937521
2010-02-25 10:03:00 +00:00
rfm
9fec2dc13d compatibility and portability fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29736 72102866-910b-0410-8b05-ffd578937521
2010-02-25 10:00:48 +00:00
rfm
c3a2504688 Cleanup some deprecated code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29730 72102866-910b-0410-8b05-ffd578937521
2010-02-25 08:19:52 +00:00
rfm
bea3004de9 Move gnustep specific macros
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29729 72102866-910b-0410-8b05-ffd578937521
2010-02-25 05:36:10 +00:00
rfm
d76c19d487 move GNUstep.h into common.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29727 72102866-910b-0410-8b05-ffd578937521
2010-02-25 05:26:57 +00:00
rfm
7e1b7e3acd move a few functions from header to source file
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29725 72102866-910b-0410-8b05-ffd578937521
2010-02-25 05:07:34 +00:00
rfm
53beb40301 deprecates some gnustep runtime wrappers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29697 72102866-910b-0410-8b05-ffd578937521
2010-02-22 10:13:20 +00:00
rfm
a04215bac4 tweaks to avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29691 72102866-910b-0410-8b05-ffd578937521
2010-02-20 18:05:00 +00:00
rfm
4904fa442a preparation for possibly excluding GNUstep extensions by default
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29690 72102866-910b-0410-8b05-ffd578937521
2010-02-20 17:16:23 +00:00
rfm
8123799077 make runtime.h available to other code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29684 72102866-910b-0410-8b05-ffd578937521
2010-02-20 06:49:32 +00:00
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