Commit graph

8640 commits

Author SHA1 Message Date
rfm
cf144e76f1 attempt multithreading bugfix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33107 72102866-910b-0410-8b05-ffd578937521
2011-05-25 09:20:42 +00:00
theraven
9c75389ee7 Initial pass at implementing fully Apple-compatible GC. This requires the code to be built with -fobjc-gc or -fobjc-gc-only, and requires a runtime that implements all of the support functions (GNUstep runtime trunk or 1.5 when it's release).
Currently, there are a few places where we should be calling NSAllocateCollectable() without NSScannedOption, but are actually calling NSZoneMalloc() unless we're in GC mode.  We should not need separate code paths for this anywhere outside NSZone, since NSAllocateCollectable() will work in non-GC mode as well.

A few of the changes should be tweaked slightly so that they do run-time tests.  For example, when compiling with -fobjc-gc, we may be linked against non-GC code, which will use -retain and -release but won't use the memory barriers.  Supporting this nicely is a lot of effort, and I'm not fully convinced it's a good idea.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33104 72102866-910b-0410-8b05-ffd578937521
2011-05-24 14:43:27 +00:00
rfm
d9f4c65624 try to cope better with apps which leak autorelease pools.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33099 72102866-910b-0410-8b05-ffd578937521
2011-05-24 10:52:25 +00:00
rfm
445d287303 fix main bundle path
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33088 72102866-910b-0410-8b05-ffd578937521
2011-05-23 10:51:58 +00:00
rfm
6fb9b78161 quoted-printable fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33082 72102866-910b-0410-8b05-ffd578937521
2011-05-22 06:22:05 +00:00
rfm
79383c613d fix includes for gcc-4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33069 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:24 +00:00
rfm
3a6600013a Minor thread-safety fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33029 72102866-910b-0410-8b05-ffd578937521
2011-05-12 18:14:40 +00:00
rfm
9c9c98aad3 use errno.h for thread safety
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33028 72102866-910b-0410-8b05-ffd578937521
2011-05-12 16:08:10 +00:00
rfm
5b47a4bd32 old/new objc api updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33027 72102866-910b-0410-8b05-ffd578937521
2011-05-12 16:03:08 +00:00
fredkiefer
995276efc8 Fix keyed decoding for GSMutableArray and GSPlaceholderArray.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33026 72102866-910b-0410-8b05-ffd578937521
2011-05-12 08:24:15 +00:00
rfm
df0421b216 tolerate missing/incorrect character encoding declarations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@33012 72102866-910b-0410-8b05-ffd578937521
2011-05-09 11:35:00 +00:00
theraven
7fea03e697 Added test for creating class / adding methods. Based on Wolfgang Lux' test example.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32997 72102866-910b-0410-8b05-ffd578937521
2011-05-07 09:50:42 +00:00
theraven
27aa31a2b4 Remove spurious &s
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32985 72102866-910b-0410-8b05-ffd578937521
2011-05-05 11:25:12 +00:00
rfm
01b098e28a tweak to handle concurrency failure better.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32974 72102866-910b-0410-8b05-ffd578937521
2011-05-03 19:39:08 +00:00
ericwa
02682c63b1 * Source/Additions/GSObjCRuntime.m (GSSelectorFromNameAndTypes):
With gcc 4.6 libobjc, GSSelectorFromNameAndTypes was calling some
functions like sel_get_any_typed_uid that were not declared (they're
declared in objc/objc-api.h which cannot be imported). I had to copy
over these function declarations, otherwise incorrect function calls
are generated which corrupt selectors (at least on x86-64).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32968 72102866-910b-0410-8b05-ffd578937521
2011-05-02 20:10:54 +00:00
rfm
faaaafd6a6 Cleanup/simplify for readability and fix bug copying new ivars
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32966 72102866-910b-0410-8b05-ffd578937521
2011-05-02 09:02:02 +00:00
qmathe
07a05e9cc6 Fixed OrderedSymbolDeclarations.plist writing to take in account that existing
.gsdoc files are usually not regenerated.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32962 72102866-910b-0410-8b05-ffd578937521
2011-04-30 15:41:08 +00:00
theraven
408cec80d5 Made initialize test abort if it deadlocks for too long.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32950 72102866-910b-0410-8b05-ffd578937521
2011-04-29 14:59:24 +00:00
theraven
e23cad7454 On closer inspection, the runtimes / compilers were doing the right thing - the type encoding provided in Apple's documentation was wrong.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32945 72102866-910b-0410-8b05-ffd578937521
2011-04-29 11:11:37 +00:00
theraven
9b2b826548 Added test for property attribute encodings. These are based on the Apple documentation here:
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtPropertyIntrospection.html

Several of the things in the documentation are wrong:

- The encoding of structures does not include the field names in property
  encodings.  This encoding format appears to only be used in ivars (yes, it is
  frustrating)

- Apple appears to encode long as q on LP64 platforms.  This is probably a
  compiler bug.

- The N flag is not set for non-atomic properties.  This appears to be a clang
  bug, since the non-atomic flag is not set in the AST - both the Mac and
  GNUstep runtimes generate the same wrong result.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32944 72102866-910b-0410-8b05-ffd578937521
2011-04-29 10:50:00 +00:00
theraven
e76add23ed Added missing ivar access functions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32939 72102866-910b-0410-8b05-ffd578937521
2011-04-28 18:41:01 +00:00
ericwa
bffc43307d * Source/NSNumberFormatter.m: Move the body of -init to a method called
-_NSNumberFormatterInit, and call this in -initWithCoder: so that
instances created with -initWithCoder: are initialized correctly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32931 72102866-910b-0410-8b05-ffd578937521
2011-04-27 02:43:03 +00:00
ericwa
e9e69ac659 * Headers/Foundation/NSObjCRuntime.h: Add CGFLOAT_MIN and CGFLOAT_MAX
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32929 72102866-910b-0410-8b05-ffd578937521
2011-04-26 23:43:05 +00:00
theraven
7e755725ce Added NSInteger range constants (OS X compat).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32918 72102866-910b-0410-8b05-ffd578937521
2011-04-21 11:06:18 +00:00
theraven
2735e3cb8b Added test for correct behaviour of +initialize in a multithreaded environment.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32912 72102866-910b-0410-8b05-ffd578937521
2011-04-20 09:41:12 +00:00
theraven
d6e22f687b After going to all of the effort of recomputing the frame size, actually store the one that we compute instead of accidentally discarding it.
It would probably be a good idea if we skipped the entire disassemble / reassemble code path if we've got sensible method encoding strings.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32908 72102866-910b-0410-8b05-ffd578937521
2011-04-19 16:26:09 +00:00
theraven
215c7fff9d __objc_responds_to() -> class_respondsToSelector().
No functionality change, just a switch to using the portable public functions.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32863 72102866-910b-0410-8b05-ffd578937521
2011-04-14 18:04:50 +00:00
rfm
3ed3b692e3 gc fixup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32860 72102866-910b-0410-8b05-ffd578937521
2011-04-14 12:31:51 +00:00
fedor
53f31c7340 Bump version to unstable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32851 72102866-910b-0410-8b05-ffd578937521
2011-04-14 03:03:24 +00:00
fedor
4f81c9d30e Version 1.22.0
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32845 72102866-910b-0410-8b05-ffd578937521
2011-04-14 02:38:09 +00:00
rfm
9344307ecc tweak
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32841 72102866-910b-0410-8b05-ffd578937521
2011-04-13 14:34:39 +00:00
rfm
4e16bf0896 improve documentation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32840 72102866-910b-0410-8b05-ffd578937521
2011-04-13 14:30:20 +00:00
rfm
bf055f4e56 Minor fixups for release ... mostly avoid failed testcases.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32837 72102866-910b-0410-8b05-ffd578937521
2011-04-12 05:41:53 +00:00
rfm
e085dd6bb9 add base.make for flags to use when base is not yet installed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32826 72102866-910b-0410-8b05-ffd578937521
2011-04-10 13:59:50 +00:00
qmathe
328ba2348f Ensure autogsdoc outputs all paragraphs in the same way
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32825 72102866-910b-0410-8b05-ffd578937521
2011-04-10 10:59:25 +00:00
rfm
31eeb94bf3 fix missing include directory
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32824 72102866-910b-0410-8b05-ffd578937521
2011-04-10 07:06:03 +00:00
nicola
88621c104a Improved checks for native ObjC exceptions. We now check the runtime support here, and disable them from here regardless of what gnustep-make did (this makes it easier to change the runtime without reconfiguring gnustep-make). Small update to ObjC runtime code for GCC 4.6
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32820 72102866-910b-0410-8b05-ffd578937521
2011-04-09 13:47:37 +00:00
nicola
9eacfdee70 Updated comments for Test GNUmakefile
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32816 72102866-910b-0410-8b05-ffd578937521
2011-04-09 00:00:21 +00:00
nicola
0a3883b4a0 Removed unused variable in makefile
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32809 72102866-910b-0410-8b05-ffd578937521
2011-04-08 18:36:47 +00:00
nicola
4aa11c7652 Minor tidyups in Tests makefile
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32808 72102866-910b-0410-8b05-ffd578937521
2011-04-08 18:28:35 +00:00
nicola
d966cc12a2 Fixed generating the Icon=... entry of .desktop files.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32807 72102866-910b-0410-8b05-ffd578937521
2011-04-08 18:16:34 +00:00
rfm
5750a59f45 fix bug opening connection to mail server
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32797 72102866-910b-0410-8b05-ffd578937521
2011-04-07 10:58:07 +00:00
rfm
03ea086c00 avoid compiler warnings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32796 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:56:56 +00:00
rfm
0ae9a6c552 remove unused directory and obsolete comments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32795 72102866-910b-0410-8b05-ffd578937521
2011-04-07 07:32:00 +00:00
rfm
49b2b9c764 Apply patch for bug #32899
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32794 72102866-910b-0410-8b05-ffd578937521
2011-04-07 05:09:08 +00:00
rfm
e8aee2c889 bugfix for attribute parsing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32791 72102866-910b-0410-8b05-ffd578937521
2011-04-06 19:43:43 +00:00
wlux
387687ccbf Fix bogus byte swap code for big-endian hosts.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32785 72102866-910b-0410-8b05-ffd578937521
2011-04-05 18:47:06 +00:00
rfm
e662ca46d2 fix byte order error
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32782 72102866-910b-0410-8b05-ffd578937521
2011-04-05 13:08:16 +00:00
rfm
7595c08261 try to get C++ constructur/destructor calling working for all.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32781 72102866-910b-0410-8b05-ffd578937521
2011-04-05 12:13:12 +00:00
rfm
015756d705 indentation fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32780 72102866-910b-0410-8b05-ffd578937521
2011-04-05 12:12:34 +00:00