Richard Frith-MacDonald
9390c9ae42
Guess at fix for bug #30766
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31186 72102866-910b-0410-8b05-ffd578937521
2010-08-19 21:02:29 +00:00
Niels Grewe
4848c265e9
Make NSLocale use information about libicu availablity (perviously, it would
...
never build the ICU stuff because the corresponding macro wasn't defined).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30995 72102866-910b-0410-8b05-ffd578937521
2010-07-19 07:54:52 +00:00
Richard Frith-MacDonald
1452902204
Attempt to integrate Niels Grewe's avahi code
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30952 72102866-910b-0410-8b05-ffd578937521
2010-07-13 10:35:13 +00:00
Richard Frith-MacDonald
2edf4d1b0c
emergency fixup for broken build
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30907 72102866-910b-0410-8b05-ffd578937521
2010-07-01 07:17:53 +00:00
David Chisnall
3b2211e891
Added some documentation for the CXXException class.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30905 72102866-910b-0410-8b05-ffd578937521
2010-06-30 15:59:52 +00:00
David Chisnall
edcd8d0c5d
Added class for catching C++ exceptions. When using libobjc2, you can catch C++ exceptions by writing @catch(CXXException *e). This will wrap the C++ exception in an Objective-C object and allow you to access it by sending a -thrownValue message to the object. This returns a pointer to the exception. For example, if the exception is an integer, you would retrieve it like this from Objective-C:
...
@catch(CXXException *e)
{
int i = *(int*)[e thrownValue];
}
In ObjC++, you can also make sure that it really is an int, by doing:
assert(typeid(int) == *(std::type_info*)[e cxx_type_info]);
These interfaces are experimental and subject to change without notice.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30904 72102866-910b-0410-8b05-ffd578937521
2010-06-30 13:08:22 +00:00
Richard Frith-MacDonald
1e0ab98f12
dd autoconf stuff for ICU
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30850 72102866-910b-0410-8b05-ffd578937521
2010-06-25 10:33:55 +00:00
Richard Frith-MacDonald
cfd056e44e
include runtime header for blocks support if the compiler has it.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30812 72102866-910b-0410-8b05-ffd578937521
2010-06-22 10:09:51 +00:00
Richard Frith-MacDonald
8f53f101f0
regenerate to fix problems of buggy autoconf version
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30771 72102866-910b-0410-8b05-ffd578937521
2010-06-17 16:50:45 +00:00
Richard Frith-MacDonald
fcdd57d05f
minor memory management updates/cleanups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30760 72102866-910b-0410-8b05-ffd578937521
2010-06-16 08:45:49 +00:00
Richard Frith-MacDonald
23b7ff95cd
Simplify source by usuing autoconf
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30692 72102866-910b-0410-8b05-ffd578937521
2010-06-12 07:19:26 +00:00
Richard Frith-MacDonald
dcf5647de3
tweak for performance
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30673 72102866-910b-0410-8b05-ffd578937521
2010-06-11 12:00:02 +00:00
Richard Frith-MacDonald
d2a49f16a8
Fixes for bug #29845 and mime parsing improvements.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30635 72102866-910b-0410-8b05-ffd578937521
2010-06-09 15:03:37 +00:00
Richard Frith-MacDonald
3c6801eae6
Revert code which belongs in gdl2 rather than base
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30508 72102866-910b-0410-8b05-ffd578937521
2010-05-31 07:18:54 +00:00
Dave Wetzel
64f6e96d0a
added encodingNamed:
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30507 72102866-910b-0410-8b05-ffd578937521
2010-05-31 06:34:28 +00:00
Richard Frith-MacDonald
6388ec9d4f
various minor bugfixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30470 72102866-910b-0410-8b05-ffd578937521
2010-05-29 06:42:38 +00:00
Richard Frith-MacDonald
27dde9d07b
Attempt to get correct charset for xml parsing.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30441 72102866-910b-0410-8b05-ffd578937521
2010-05-21 17:40:43 +00:00
Dave Wetzel
9e723901b6
* Source/Additions/Unicode.m: replace objc_malloc with NSZoneMalloc
...
and objc_free with NSZoneFree
* Source/Additions/NSFileHandle+GNUstepBase.m: should work with ipv6
(The old code does fail on Snow Leopard, even with ipv4 addresses.)
* Source/Additions/GSXML.m: added GSObjCRuntime.h
* Headers/Additions/GNUstepBase/GSObjCRuntime.h:
replace objc_malloc with NSZoneMalloc and objc_free with NSZoneFree
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30221 72102866-910b-0410-8b05-ffd578937521
2010-04-23 04:06:17 +00:00
Nicola Pero
40d25d9fea
Fixed installation-domains.conf on Windows - merged back the path configuration into the main configure script to do it. Minor other fixes to configuration.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30180 72102866-910b-0410-8b05-ffd578937521
2010-04-18 18:18:45 +00:00
Richard Frith-MacDonald
ac3ce7be00
make mixed abi default now
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30063 72102866-910b-0410-8b05-ffd578937521
2010-03-28 08:22:46 +00:00
Richard Frith-MacDonald
f784646663
generalize define from __MINGW32__ to __MINGW__
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@30001 72102866-910b-0410-8b05-ffd578937521
2010-03-19 12:10:11 +00:00
Richard Frith-MacDonald
97653c21a2
Made experimental API for sending emails available.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29999 72102866-910b-0410-8b05-ffd578937521
2010-03-18 09:56:51 +00:00
Richard Frith-MacDonald
8b6d77380c
experimental configure option
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29994 72102866-910b-0410-8b05-ffd578937521
2010-03-17 15:34:51 +00:00
Richard Frith-MacDonald
7a0ddec62c
Apply tidyup by Anibal Rindisbacher
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29986 72102866-910b-0410-8b05-ffd578937521
2010-03-17 05:36:11 +00:00
Richard Frith-MacDonald
d435122451
fix typo
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29979 72102866-910b-0410-8b05-ffd578937521
2010-03-16 12:03:10 +00:00
Richard Frith-MacDonald
7112daa5b4
mingw tweaks suggested by Vincent Richomme
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29973 72102866-910b-0410-8b05-ffd578937521
2010-03-16 06:19:58 +00:00
Richard Frith-MacDonald
4bbf250188
add explicit bracketing for safer macros.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29969 72102866-910b-0410-8b05-ffd578937521
2010-03-15 21:16:20 +00:00
Richard Frith-MacDonald
a83ae2b69d
Prevent builds where nonfragile-abi state does not match that with which
...
the base library was configured.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29929 72102866-910b-0410-8b05-ffd578937521
2010-03-13 19:45:23 +00:00
Richard Frith-MacDonald
ee25a8f059
improve exception support
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29898 72102866-910b-0410-8b05-ffd578937521
2010-03-11 07:22:10 +00:00
Richard Frith-MacDonald
e21f059bf0
fix includes to iumports
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29894 72102866-910b-0410-8b05-ffd578937521
2010-03-10 14:53:51 +00:00
Richard Frith-MacDonald
42db2fdf50
Improve debug
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29874 72102866-910b-0410-8b05-ffd578937521
2010-03-08 09:27:48 +00:00
Richard Frith-MacDonald
3132d54a5d
64bit fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29872 72102866-910b-0410-8b05-ffd578937521
2010-03-08 07:06:47 +00:00
Richard Frith-MacDonald
22f8bdb8c4
64 bit fixups
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29871 72102866-910b-0410-8b05-ffd578937521
2010-03-08 06:43:14 +00:00
Richard Frith-MacDonald
026d6fc751
Add mechanism for gdl2.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29866 72102866-910b-0410-8b05-ffd578937521
2010-03-07 13:35:07 +00:00
Richard Frith-MacDonald
f59ba481f0
Move NSStream addition declarations to separate file.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29853 72102866-910b-0410-8b05-ffd578937521
2010-03-05 12:41:40 +00:00
Richard Frith-MacDonald
1a4662001d
Remove obsolete headers
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29850 72102866-910b-0410-8b05-ffd578937521
2010-03-05 10:32:15 +00:00
Richard Frith-MacDonald
8ffe9f3c80
tweaks to build on osx
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29849 72102866-910b-0410-8b05-ffd578937521
2010-03-05 10:24:42 +00:00
Richard Frith-MacDonald
39fc4419b0
further cleanup ... always use -zone method to get an object's zone ...
...
so people can safely write subclasses using different allocation schemes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29847 72102866-910b-0410-8b05-ffd578937521
2010-03-05 09:30:18 +00:00
Richard Frith-MacDonald
e947396a6e
include stdio.h for GSPrintf
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29843 72102866-910b-0410-8b05-ffd578937521
2010-03-05 05:54:56 +00:00
Richard Frith-MacDonald
ef908fbb5b
remove obsolete code and update other stuff fro new runtime api
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29840 72102866-910b-0410-8b05-ffd578937521
2010-03-05 05:24:43 +00:00
Richard Frith-MacDonald
102df587f7
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
Richard Frith-MacDonald
4fcce15ee0
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
Richard Frith-MacDonald
f710cb72e9
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
Richard Frith-MacDonald
b59b875d50
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
Richard Frith-MacDonald
bbc0ddd60f
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
Richard Frith-MacDonald
b1b69523be
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
Richard Frith-MacDonald
299c3aefeb
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
Richard Frith-MacDonald
6b3e53917e
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
Richard Frith-MacDonald
e43d625338
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
Richard Frith-MacDonald
166f1afb4b
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
Richard Frith-MacDonald
a000beebcb
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
Richard Frith-MacDonald
0d8647856e
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
Richard Frith-MacDonald
c22351a70f
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
Richard Frith-MacDonald
62939c969a
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
Richard Frith-MacDonald
3968c44cec
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
Richard Frith-MacDonald
b60b8bf73f
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
Richard Frith-MacDonald
b1e904b3ae
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
Richard Frith-MacDonald
8da37b5bf9
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
Richard Frith-MacDonald
8769dd8b6f
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
Richard Frith-MacDonald
ec2ebc1c47
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
Richard Frith-MacDonald
b107ae4ac4
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
Richard Frith-MacDonald
c7fc73ec19
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
Richard Frith-MacDonald
14a557fcd7
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
Richard Frith-MacDonald
85760d2563
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
Richard Frith-MacDonald
746afbcb53
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
Richard Frith-MacDonald
43bcaac3ad
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
Richard Frith-MacDonald
2d237c91ae
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
Richard Frith-MacDonald
d763014aa5
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
Richard Frith-MacDonald
da2a563929
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
Richard Frith-MacDonald
ea34103f35
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
Richard Frith-MacDonald
cd6051a668
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
Richard Frith-MacDonald
79ce6ac700
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
Richard Frith-MacDonald
21d597e740
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
Richard Frith-MacDonald
55d4f390aa
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
Riccardo Mottola
d18782ed0e
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
Riccardo Mottola
fb3ec312b6
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
Richard Frith-MacDonald
49a063af84
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
Richard Frith-MacDonald
b662140e16
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
Richard Frith-MacDonald
138ba2c0ae
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
Richard Frith-MacDonald
1c4d02d09d
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
David Chisnall
c5103403f6
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
David Chisnall
2c401de4f4
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
Richard Frith-MacDonald
2cc7e401da
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
Richard Frith-MacDonald
20d59a0d7a
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
Richard Frith-MacDonald
d0bd5c8983
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
Richard Frith-MacDonald
715bdcaa0a
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
Richard Frith-MacDonald
fcc33c1b71
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
Richard Frith-MacDonald
7b1dbbff0b
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
David Chisnall
7f8c48ddfc
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
Richard Frith-MacDonald
6455c3e533
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
Richard Frith-MacDonald
75638580ff
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
Richard Frith-MacDonald
640ae938c6
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
Richard Frith-MacDonald
418330b29d
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
David Chisnall
9ddfb17425
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
Richard Frith-MacDonald
5975ccf95f
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
Richard Frith-MacDonald
2e2d640c4d
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
Richard Frith-MacDonald
80a1dc28ae
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
Richard Frith-MacDonald
4f5344d2c2
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
Richard Frith-MacDonald
067a687974
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
Richard Frith-MacDonald
807d1b8a65
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