Fix a load of warnings from implicit function declarations. A lot were caused by ctype.h and string.h stuff being used everywhere in GNUstep but not included anywhere - they're now included in common.h (at least string.h should also be in Foundation.h - on OS X it is implicitly included via some chain of things from Foundation.h).

All of the sel_* stuff is now replaced with the newer APIs.  As a side-effect, a blob of code that was copied-and-pasted all over GNUstep has now been moved into ObjectiveC2 and just called.

Class posing with libobjc2 will now throw an exception, rather than just aborting.  



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31268 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
David Chisnall 2010-09-09 16:30:10 +00:00
parent db04df357a
commit 4488708e84
11 changed files with 49 additions and 79 deletions

View file

@ -1400,7 +1400,7 @@ objc_create_block_classes_as_subclasses_of(Class super) __attribute__((weak));
* used by the Distributed Objects system, which the
* runtime does not maintain in classes.
*/
int count;
unsigned int count;
Protocol **protocols = class_copyProtocolList(isa, &count);
if (NULL != protocols)
{
@ -1467,7 +1467,12 @@ objc_create_block_classes_as_subclasses_of(Class super) __attribute__((weak));
*/
+ (void) poseAsClass: (Class)aClassObject
{
#ifdef __GNUSTEP_RUNTIME__
[NSException raise: NSInternalInconsistencyException
format: @"Class posing is not supported"];
#else
class_pose_as(self, aClassObject);
#endif
/*
* We may have replaced a class in the cache, or may have replaced one
* which had cached methods, so we must rebuild the cache.