gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Corrections for GDL2


From: Stéphane Corthésy
Subject: Corrections for GDL2
Date: Mon, 30 Dec 2002 19:30:09 +0100

Hi,

Trying, like Markus Hitter, to compile GDL2 on OSX, I have some corrections to submit, which concern both GNUStep and OSX. Sorry, no patch file, I have many modifications that I can't submit yet (OSX only).

- in gnustep/core/base/Source/Additions/GCDictionary.m: "invalid pointer type"
static const NSMapTableKeyCallBacks GCInfoMapKeyCallBacks = {
(unsigned(*)(NSMapTable *, const void *))_GCHashObject,
(BOOL(*)(NSMapTable *, const void *, const void *))_GCCompareObjects,
(void (*)(NSMapTable *, const void *))_GCRetainObjects,
(void (*)(NSMapTable *, void *))_GCReleaseObjects,
(NSString *(*)(NSMapTable *, const void *))_GCDescribeObjects,
(const void *)NULL
};


static const NSMapTableValueCallBacks GCInfoValueCallBacks = {
(void (*)(NSMapTable *, const void *))_GCRetainObjects,
(void (*)(NSMapTable *, void *))_GCReleaseObjects,
(NSString *(*)(NSMapTable *, const void *))_GCDescribeObjects
};

- in gnustep/dev-libs/gdl2/EOControl/EOClassDescription.m:
Line 295: NSMutableString *str = [[NSMutableString alloc] initWithCapacity: [key length]];
All uses of NSDebugMLLog suffer from the same problem: gcc3 doesn't like no args in macros with varargs, as reported by Markus.
In +validationExceptionWithFormat:, +aggregateExceptionWithExceptions:, -exceptionAddingEntriesToUserInfo, rename local variable "name" into "aName" (aw well as "reason" and "userInfo"), because gcc3 wrongly (in case of class methods) thinks there is a conflict with an instance variable
- in gnustep/dev-libs/gdl2/EOControl/EOEditingContext.m: dependency on EOAccess, via use of EOEntity and EOEntityClassDescription. EOControl should not depend on EOAccess.
- in gnustep/dev-libs/gdl2/EOControl/EOFault.m: dependency on EOAccess, via use of EODatabaseContext. Problem also with macro NSDebugFLLog.
- in gnustep/dev-libs/gdl2/EOControl/EOFetchSpecification.m:
Dependency on EOAccess, via use of EOModelGroup.
Line 165: error in cast: (id <NSCopying>)
Line 434: missing cast: (NSMutableDictionary *)_hints
- in gnustep/dev-libs/gdl2/EOControl/EOFault.m:
Dependency on EOAccess, via use of EOEntity, EORelationship.
Missing declaration of private method +[EOGenericRecord(EOCalculateSize)
eoCalculateSizeWith:forArray:]
Line 89: +initialize returns void, not a BOOL
Line 954: problem with macro NSDebugMLog() and varargs
- in gnustep/dev-libs/gdl2/EOControl/EOGlobalID.m:
Line 99: missing cast (unsigned int)
- in gnustep/dev-libs/gdl2/EOControl/EOKeyValueCoding.m:
Problems with NSWarnLog() macro and varargs
- in gnustep/dev-libs/gdl2/EOControl/EOMutableKnownKeyDictionary.m:
Missing declaration of private method +[EOMutableKnownKeyDictionary newDictionaryFromDictionary:subsetMapping:zone:]
Line 472: Missing implementation of method +[EOMKKDArrayMapping newDictionaryFromDictionary:subsetMapping:zone:]
- in gnustep/dev-libs/gdl2/EOControl/EOObjectStoreCoordinator.m:
Dependency on EOAccess, via use of EODatabaseContext and EOModelGroup.
Problems with macro NSDebugMLog() and varargs
Line 544: missing cast (NSMutableDictionary *)[self userInfo]
- in gnustep/dev-libs/gdl2/EOControl/EOQualifier.m:
Problems with macro NSDebugLog() and varargs
- in gnustep/dev-libs/gdl2/EOAccess/EOAdaptor.h:
Missing @class declarations for NSCalendarDate, NSTimeZone, GCArray, GCMutableArray, GCMutableDictionary
- in gnustep/dev-libs/gdl2/EOAccess/EOAdaptorChannel.m:
Problems with macro NSDebugMLLog() and varargs
- in gnustep/dev-libs/gdl2/EOAccess/EOAdaptorContext.m:
Missing #include <EOAccess/EOAdaptorPriv.h>
- in gnustep/dev-libs/gdl2/EOAccess/EOAttribute.m:
Problems with macro NSDebugMLLog() and varargs
- in gnustep/dev-libs/gdl2/EOAccess/EODatabaseChannel.m:
Problems with macro NSDebugMLLog() and varargs
Line 404: Missing cast: (EOAccessFaultHandler *)
- in gnustep/dev-libs/gdl2/EOAccess/EODatabaseContext.m:
Missing method declaration -[EODatabaseContext(EOObjectStoreSupportPrivate) entityForGlobalID:]
Problems with macro NSWarnLog() and varargs
Lines 819, 5466: Missing cast: (EOKeyGlobalID *)
Line 5428: Missing cast: (EOAccessArrayFaultHandler *)
- in gnustep/dev-libs/gdl2/EOAccess/EODatabaseDataSource.m:
Missing method declaration -[EODatabaseDataSource _partialInitWithEditingContext:entityName:fetchSpecificationName:]
- in gnustep/dev-libs/gdl2/EOAccess/EOJoin.m:
Problems with macro NSDebugMLLog() and varargs
- in gnustep/dev-libs/gdl2/EOAccess/EOModel.m:
Line 224: [[NSNotificationCenter defaultCenter] removeObserver...
Problems with macro NSDebugMLLog() and varargs
- in gnustep/dev-libs/gdl2/EOAccess/EORelationship.m:
Line 1537: missing cast (GCArray *)
- in gnustep/dev-libs/gdl2/EOAccess/EOSQLExpression.m:
Missing method declaration +[EOSQLExpression sqlExpressionithEntity:]
Line 486: invalid cast: (id < EOQualifierSQLGeneration >)
Line 2413: missing class method implementation +[EOSQLExpression listString]
- in gnustep/dev-libs/gdl2/EOAccess/EOSQLQualifier.m:
Lines 136, 170, 176. 201: invalid cast: (id <EOQualifierSQLGeneration>)
- in gnustep/dev-libs/gdl2/EOAccess/EOStoredProcedure.m:
Problem with macro NSDebugMLLog() and varargs
- in gnustep/dev-libs/gdl2/EOAccess/EOUtilities.m:
Problem with macro NSDebugMLog() and varargs

I hope you will include these modifications in the source tree, as they are useful for all.


Some remarks:
- Use of #include and #import is currently inconsistent in GDL2. Sometimes we find #include, sometimes #import, for the same header files. Apple recommends to no longer use #import, because it suffers from serious bugs. I'd suggest to use #include too, for that reason.
- Why do you use #include <gnustep/base/...>? Couldn't you make a framework out of gnustep base and use #include <gnustep-base/...>? Would be more consistent (and easier for OSX support)

Stéphane

reply via email to

[Prev in Thread] Current Thread [Next in Thread]