swarm-support
[Top][All Lists]
Advanced

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

Re: [Swarm-Support] Now really close to fixing the warnings about incons


From: Bill Northcott
Subject: Re: [Swarm-Support] Now really close to fixing the warnings about inconsistent method declarations
Date: Wed, 16 Mar 2005 09:41:15 +1100

        From:     address@hidden
Subject: Re: [Swarm-Support] Now really close to fixing the warnings about inconsistent method declarations
        Date:   16 March 2005 8:42:58 AM
        To:       address@hidden

On 15/03/2005, at 5:59 PM, Paul Johnson wrote:
Nevertheless, the "forward reference" to protocols to be defined later is supposed to work, as described in this manual:

http://www.seat-1.com/IntarS_000002_Ressources/tables/homepage/ ObjectiveC/moreobjc.htm

That does not seem to be at variance with the Apple document previously referenced. AFAIK the gcc Objective-C people regard the Apple documentation as definitive.

So in defobj.h I'm trying by inserting this:

@protocol OutputStream, HDF5;

As I read the grammar, that should be a protocol declaration list thus:
@protocol <OutputStream, HDF5>;
and it should not be followed by
@end
because the first line ends in a semi-colon


RIGHT BEFORE this:

@protocol CreatedClass <Create, DefinedClass>

Whereas that should be the start of a protocol declaration and have some more lines leading to:
@end


As I fiddle around, that gets me really really far past the compiler warnings. Now I can make the method names match, such as

- (void)lispOutShallow: (id <OutputStream>)stream;

in defobj.h and the collections library.

But then this thing with moduleMap happens and I don't know what it is about. Do you?

gcc -DHAVE_CONFIG_H -I. -I/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/src/defobj -I../.. -I../.. -I../../libobjc -I/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/libobjc -I../.. -I.. -I/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/src/defobj/.. -I/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/src/defobj/../ collections -I/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/src/defobj/../ misc -I/usr/java/j2sdk1.4.2_07/include -I/usr/java/j2sdk1.4.2_07/include/linux -I../../avcall -D_GNU_SOURCE -DBUILDING_SWARM -g -O2 -g -pipe -m32 -march=i386 -mtune=pentium4 -fgnu-runtime -fno-strict-aliasing -Werror -Wno-import -Wno-protocol -Wno-long-long -Wno-unknown-pragmas -Wno-unknown-pragmas -MT COM.lo -MD -MP -MF .deps/COM.Tpo -c /home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/src/defobj/COM.m -o COM.o >/dev/null 2>&1

That command looks like it succeded.

MODULES="defobj collections activity objectbase random simtools gui simtoolsgui space analysis" TOP_BUILDDIR='/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/ =with-hdf' BUILDDIR='/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/=with- hdf/src/defobj' SWARMSRCDIR='/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2' /usr/bin/emacs -batch --eval '(setq *disable-gui* nil)' -l '/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/=with-hdf/src/ defobj/modulemap.elc' -f generate-module-map Loading /usr/share/emacs/site-lisp/site-start.d/rpm-spec-mode-init.el (source)... Unrecognized text (protocol): address@hidden CreatedClass <Create, DefinedClass>] make[1]: *** [/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/src/defobj/ modulemap.c] Error 255 make[1]: Leaving directory `/home/pauljohn/LinuxDownloads/redhat/BUILD/swarm-2.2/=with-hdf/src/ defobj
pj

That looks like the function 'generate-module-map' in some elisp program failing to parse the line
@protocol CreatedClass <Create, DefinedClass>
You would need to look at the lisp source for the function.

As I understand it, the elisp parser code scans the source code and produces a parse tree of classes, protocols etc. which is then used to produce jni stubs, documentation xml in DocBook format and other stuff.

Bill



reply via email to

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