libs-base/Source
David Chisnall c19a717b67 Added call to objc_create_block_classes_as_subclasses_of() in NSObject's +load method. This is called as soon as NSObject is loaded and creates the _NSBlock family of classes, which are statically allocated in the runtime but not statically initialised. If you create blocks without linking GNUstep-base, the isa pointer in the block will point to a class that has all of its fields set to 0.
Any blocks will have their isa pointer set to the two classes statically allocated in libobjc, but these classes can't be used for message lookup (or introspection) until after the call.  This means that you can't send messages to blocks until after NSObject's +load method has been called.  This shouldn't be a problem in most code, but if you use __attribute__((constructor)) instead of a +load method then be careful about sending messages to blocks (you can still call them as normal). 



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@29144 72102866-910b-0410-8b05-ffd578937521
2009-12-20 16:59:41 +00:00
..
Additions Attempt notification queue fix 2009-11-27 10:42:33 +00:00
pathconfig Fix typo 2009-02-16 06:50:00 +00:00
unix pass more info to notification functions 2009-11-27 07:53:38 +00:00
win32 fixup missing notification changes. 2009-12-01 08:30:41 +00:00
.cvsignore Header reorganizsateion - Please refer to ChangeLog 2003-07-31 23:49:32 +00:00
callframe.h a bit step towards removing obsolete mframe code. 2009-10-04 15:26:07 +00:00
callframe.m lrge changes to remove mframe 2009-10-05 16:00:28 +00:00
cifframe.h a bit step towards removing obsolete mframe code. 2009-10-04 15:26:07 +00:00
cifframe.m Avoid memory leak and improve performance for common structures. 2009-11-02 18:32:35 +00:00
CompatibilityHeaders.make allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
dld-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
DocMakefile Updates for 1.19.2 release 2009-08-25 11:13:00 +00:00
externs.m Updates for MacOS-X compatibility 2008-06-23 07:15:10 +00:00
GNUmakefile * Source/GNUmakefile: Add synchronization.m to GNU_MFILES 2009-12-19 18:52:05 +00:00
GSArray.m cleanups 2009-10-10 08:16:17 +00:00
GSAttributedString.m cleanups 2009-10-10 08:16:17 +00:00
GSConcreteValue.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
GSConcreteValueTemplate.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
GSCountedSet.m More moves towards OSX 10.5 GC compatibility. 2009-03-09 15:11:51 +00:00
GSDictionary.m More moves towards OSX 10.5 GC compatibility. 2009-03-09 15:11:51 +00:00
GSeq.h simplify for older compilers 2009-10-13 09:59:34 +00:00
GSFFCallInvocation.m cleanups 2009-10-10 08:16:17 +00:00
GSFFIInvocation.m improve error message 2009-11-27 10:55:42 +00:00
GSFileHandle.m Windows tweak suggested by Riccardo Mottola 2009-06-17 10:35:49 +00:00
GSFormat.m fix typos 2009-09-17 08:52:03 +00:00
GSFTPURLHandle.m implement support for multiline responses 2009-04-26 13:45:47 +00:00
GSHTTPAuthentication.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
GSHTTPURLHandle.m Fix for bug introduced by adding OSX compatibility for the -path method of 2009-08-26 16:48:15 +00:00
GSInternal.h remove publicly visible ivars for future abi stability. 2009-09-07 16:25:04 +00:00
GSInvocation.h lrge changes to remove mframe 2009-10-05 16:00:28 +00:00
GSLocale.m locale fixes 2009-09-30 20:44:41 +00:00
GSNetwork.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
GSPortPrivate.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
GSPrivate.h pass more info to notification functions 2009-11-27 07:53:38 +00:00
GSRunLoopCtxt.h Add warning logs 2009-09-07 09:53:27 +00:00
GSRunLoopWatcher.h Add some missing comments 2009-02-26 11:09:05 +00:00
GSRunLoopWatcher.m Add some missing comments 2009-02-26 11:09:05 +00:00
GSSet.m More moves towards OSX 10.5 GC compatibility. 2009-03-09 15:11:51 +00:00
GSSocketStream.h simplify memory usage 2009-03-24 10:46:53 +00:00
GSSocketStream.m Add comments to avoid confusion. 2009-07-11 14:02:00 +00:00
GSStream.h Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
GSStream.m use weak pointers for siblings 2009-03-24 10:53:38 +00:00
GSString.m GSMutableString inherits hash implementation from GSString 2009-12-07 05:10:50 +00:00
GSURLPrivate.h * Source/GSURLPrivate.h: Addition of private method to NSURLProtocol 2009-04-18 14:22:54 +00:00
GSValue.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
hpux-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
inet_ntop.c Applied patch #6677 2008-11-17 13:45:32 +00:00
inet_pton.c bugfix for old systems without stdint.h 2008-10-15 05:10:55 +00:00
libgnustep-base-entry.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
Makefile.postamble * Source/Makefile.postamble: Add flag filter for libgnustep-base-entry.m (for GCC 4.4 on MinGW). 2009-10-26 18:01:08 +00:00
Makefile.preamble allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSAffineTransform.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSArchiver.m explicitly specify types in union 2009-10-02 15:14:42 +00:00
NSArray.m Remove obsolete ifdefs 2009-04-28 20:00:59 +00:00
NSAssertionHandler.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSAttributedString.m cleanups 2009-10-10 08:16:17 +00:00
NSAutoreleasePool.m Have -drain call -release 2009-11-04 05:51:34 +00:00
NSBundle.m fix for bundle loading on wndows when we don't have the dll path extension 2009-05-22 17:16:24 +00:00
NSCache.m fixups for old openbsd system 2009-09-27 18:48:03 +00:00
NSCachedURLResponse.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSCalendarDate.m tweak workaround for kernel bug. 2009-09-14 14:37:13 +00:00
NSCallBacks.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSCallBacks.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSCharacterSet.m use index set for character sets. 2009-08-12 08:39:07 +00:00
NSCharacterSetData.h fixup header for index sets to contain array of ranges. 2009-09-27 11:32:35 +00:00
NSClassDescription.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSCoder.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSConcreteHashTable.m explicitly specify types in union 2009-10-02 15:14:42 +00:00
NSConcreteMapTable.m explicitly specify types in union 2009-10-02 15:14:42 +00:00
NSConcreteNumber.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSConcreteNumber.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSConcreteNumberTemplate.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSConcretePointerFunctions.h more gc fixups 2009-04-17 08:12:52 +00:00
NSConcretePointerFunctions.m more gc fixups 2009-04-17 08:12:52 +00:00
NSConnection.m clarify 2009-12-01 07:49:38 +00:00
NSCopyObject.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSCountedSet.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSData.m Add some argument checking 2009-08-12 07:49:42 +00:00
NSDate.m add keyed archiving support 2008-10-12 19:08:24 +00:00
NSDateFormatter.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSDebug.m try using sigsetjmp 2009-03-21 15:31:52 +00:00
NSDecimal.m fix typos 2009-09-17 08:52:03 +00:00
NSDecimalNumber.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSDictionary.m Remove obsolete ifdefs 2009-04-28 20:00:59 +00:00
NSDistantObject.m lrge changes to remove mframe 2009-10-05 16:00:28 +00:00
NSDistributedLock.m Standardise path for lock file. 2008-09-19 08:44:28 +00:00
NSDistributedNotificationCenter.m cleanups 2009-10-10 08:16:17 +00:00
NSEnumerator.m Added enumeration mutation function, called by code automatically inserted by the compiler when a collection mutates during fast enumeration. 2009-09-05 17:43:13 +00:00
NSError.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSException.m Readability tweak 2009-12-11 15:13:16 +00:00
NSFileHandle.m Clarify docs a little 2008-11-09 10:11:18 +00:00
NSFileManager.m Updates for 1.19.2 release 2009-08-25 11:13:00 +00:00
NSFormatter.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSGarbageCollector.m MacOS-X compatibility fix for GC 2009-02-11 10:11:33 +00:00
NSGeometry.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSHashTable.m reduce dependecy on libxml2 2009-04-29 09:26:52 +00:00
NSHost.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSHTTPCookie.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSHTTPCookieStorage.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSIndexPath.m cleanups 2009-10-10 08:16:17 +00:00
NSIndexSet.m Default to an empty array type 2009-10-02 14:41:25 +00:00
NSInvocation.m lrge changes to remove mframe 2009-10-05 16:00:28 +00:00
NSKeyedArchiver.m explicitly specify types in union 2009-10-02 15:14:42 +00:00
NSKeyedUnarchiver.m reduce dependecy on libxml2 2009-04-29 09:26:52 +00:00
NSKeyValueCoding.m fix for bug #25720 as suggested by Michael Johnston 2009-02-27 12:54:15 +00:00
NSKeyValueMutableArray.m Applied patch #6677 2008-11-17 13:45:32 +00:00
NSKeyValueMutableSet.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSKeyValueObserving.m patch for kvo struct setters by Eric Wasylishen 2009-10-11 04:57:34 +00:00
NSLock.m Documentation generation improvments 2009-11-23 09:42:18 +00:00
NSLog.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSMapTable.m gc improvements 2009-04-19 10:03:18 +00:00
NSMessagePort.m Perform port/name cleanup on startup. 2009-12-03 09:07:10 +00:00
NSMessagePortNameServer.m Perform port/name cleanup on startup. 2009-12-03 09:07:10 +00:00
NSMethodSignature.m lrge changes to remove mframe 2009-10-05 16:00:28 +00:00
NSNetServices.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSNotification.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSNotificationCenter.m fix weak pointer error 2009-03-10 11:10:27 +00:00
NSNotificationQueue.m Attempt notification queue fix 2009-11-27 10:42:33 +00:00
NSNull.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSNumber.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSNumberFormatter.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSObjCRuntime.m a bit step towards removing obsolete mframe code. 2009-10-04 15:26:07 +00:00
NSObject+NSComparisonMethods.m Add comparison methods category for compatibility with OS X. 2008-12-25 23:38:58 +00:00
NSObject.m Added call to objc_create_block_classes_as_subclasses_of() in NSObject's +load method. This is called as soon as NSObject is loaded and creates the _NSBlock family of classes, which are statically allocated in the runtime but not statically initialised. If you create blocks without linking GNUstep-base, the isa pointer in the block will point to a class that has all of its fields set to 0. 2009-12-20 16:59:41 +00:00
NSOperation.m remove publicly visible ivars for future abi stability. 2009-09-07 16:25:04 +00:00
NSPage.m revert last change, instead set define to say we support win2000 and up 2008-11-13 13:55:21 +00:00
NSPathUtilities.m OSX 10.5 API fixups for mingw 2009-03-18 10:02:49 +00:00
NSPipe.m fixups for win32 pipe management 2009-09-27 16:07:50 +00:00
NSPointerArray.m more gc fixups 2009-04-17 08:12:52 +00:00
NSPointerFunctions.m concrete pointer functions class added ... incomplete 2009-02-10 19:47:01 +00:00
NSPort.m tweaks to use new GC API 2009-03-08 14:34:16 +00:00
NSPortCoder.m explicitly specify types in union 2009-10-02 15:14:42 +00:00
NSPortMessage.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSPortNameServer.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSPredicate.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSProcessInfo.m new initialisation function. 2009-10-12 14:38:49 +00:00
NSPropertyList.m stricter check of plist keys 2009-11-27 09:19:02 +00:00
NSProtocolChecker.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSProxy.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSRange.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
NSRunLoop.m pass more info to notification functions 2009-11-27 07:53:38 +00:00
NSScanner.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSSerializer.m explicitly specify types in union 2009-10-02 15:14:42 +00:00
NSSet.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSSocketPort.m fixup missing notification changes. 2009-12-01 08:30:41 +00:00
NSSocketPortNameServer.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSSortDescriptor.m Fixups for DO compatibility. 2008-07-06 09:18:30 +00:00
NSSpellServer.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSString.m cleanups 2009-10-10 08:16:17 +00:00
NSTask.m mingw32 improvements 2009-09-30 20:28:42 +00:00
NSThread.m cleanups 2009-10-10 08:16:17 +00:00
NSTimer.m make timers more robust 2009-09-10 16:41:06 +00:00
NSTimeZone.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
nstzfile.h * configure.ac: Check for tzfile.h 2004-10-11 03:08:54 +00:00
NSUnarchiver.m Tolerate either float or double in archives. 2009-02-22 17:07:36 +00:00
NSUndoManager.m Fix a few issues with NSUndoManager, the most serious of which was 2009-06-02 21:36:17 +00:00
NSURL.m osx compat tweak 2009-09-24 18:34:46 +00:00
NSURLAuthenticationChallenge.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSURLCache.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSURLConnection.m Updates for 1.19.2 release 2009-08-25 11:13:00 +00:00
NSURLCredential.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSURLCredentialStorage.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSURLDownload.m Updates for 1.19.2 release 2009-08-25 11:13:00 +00:00
NSURLHandle.m revert 2009-03-03 19:59:58 +00:00
NSURLProtectionSpace.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSURLProtocol.m Minor fixes/tweaks 2009-09-03 09:45:23 +00:00
NSURLRequest.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSURLResponse.m Fix some errors in header comments. 2009-03-20 18:52:59 +00:00
NSUserDefaults.m * Source/NSUserDefaults.m: Remove one of the locks in +userLanguages 2009-08-21 17:44:39 +00:00
NSValue.m Updates for 10.5 API changes 2009-02-23 20:42:32 +00:00
NSValueTransformer.m garbage collection fixups 2009-01-12 12:48:46 +00:00
NSXMLDocument.m Add skeletal NSXML work as requested. 2009-02-09 16:16:11 +00:00
NSXMLDTD.m Add skeletal NSXML work as requested. 2009-02-09 16:16:11 +00:00
NSXMLDTDNode.m Add skeletal NSXML work as requested. 2009-02-09 16:16:11 +00:00
NSXMLElement.m Add skeletal NSXML work as requested. 2009-02-09 16:16:11 +00:00
NSXMLNode.m Add skeletal NSXML work as requested. 2009-02-09 16:16:11 +00:00
NSXMLParser.m fix to handle empty key in XML property list. 2009-08-04 07:47:58 +00:00
NSXMLPrivate.h Add skeletal NSXML work as requested. 2009-02-09 16:16:11 +00:00
NSZone.m fix some errors in comments causing documentation generation problems 2009-04-26 05:37:21 +00:00
null-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
objc-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
objc-load.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
preface.m allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
simple-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
synchronization.m * Source/GNUmakefile: Add synchronization.m to GNU_MFILES 2009-12-19 18:52:05 +00:00
win32-def.top allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00
win32-load.h allow developers more time to adapt to LGPLv3 2008-06-08 10:38:33 +00:00