🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: gnu.smalltalk.bug
2 messages
2 total messages Started by kcousins Mon, 14 Dec 1992 23:54
Problem with build of GNU Smalltalk, version 1.2
#21
Author: kcousins
Date: Mon, 14 Dec 1992 23:54
46 lines
1968 bytes
Hello,

	I have a problem. I tried to build smalltalk-1.2.1 and got a problem
in some of the source.

	Following the instructions, I made mods to mstpath.h, etc. and on
trying to 'make' got the following:

> bilby:[63] make
> ===== creating configuration dependent xmakefile
> rm -f xmakefile
> cp ymakefile junk.c
> cc -E -DFOR_MAKE     junk.c | \
> sed -e 's/^#.*//' -e 's/^[ \f\t][ \f\t]*$//' -e 's/^ / /' |     \
> sed -n -e '/^..*$/p' > xmakefile
> rm -f junk.c
> ===== done creating xmakefile
> cc -g       -c mstmain.c -o mstmain.o
> cc -g       -c mstlib.c -o mstlib.o
> cc -g       -c mst.tab.c -o mst.tab.o
> cc -g       -c mstlex.c -o mstlex.o
> cc -g       -c mststr.c -o mststr.o
> cc -g       -c mstid.c -o mstid.o
> cc -g       -c msttree.c -o msttree.o
> cc -g       -c mstbyte.c -o mstbyte.o
> cc -g       -c mstinterp.c -o mstinterp.o
> ccom: Error: mstinterp.c, line 3527: illegal lhs of assignment operator
>           (char *)arg2 = (char *)toCString(oop4);
>       ------------------------------------------^
> make[1]: *** [mstinterp.o] Error 1
> make: *** [all] Error 1
> bilby:[64] 

	I was wondering is there a simple fix to this? Having looked in the
mstinterp.c file and seeing the surrounding code to be:

>       if (isClass(oop4, stringClass) || isClass(oop4, symbolClass)) {
>         (char *)arg2 = (char *)toCString(oop4);
>         return (false);
>       }

I can't see anything obviously wrong with the source code.

	Help!

		Kevin Cousins
Re: Problem with build of GNU Smalltalk, version 1.2
#22
Author: Tim Chase
Date: Sun, 13 Dec 1992 16:58
15 lines
1188 bytes
In article <9212140154.AA01136@echidna.rp.CSIRO.AU> kcousins@echidna.rp.csiro.au writes:
>Hello,
>> ccom: Error: mstinterp.c, line 3527: illegal lhs of assignment operator
>>           (char *)arg2 = (char *)toCString(oop4);
>
>I can't see anything obviously wrong with the source code.

A cast isn't an lvalue and is, therefore, illegal as the left operand
of the "=" operator.  Many compilers, however, ignore "benign" casts
(generally those that don't imply a change of operand size).  The fix
is to remove the cast on the left operand.

-- 
Tim Chase		           Introl Corp. Milwaukee, WI USA
Email: tim@introl.com		   Phone: +1 (414) 327-7171
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads