[comp.sources.games.bugs] Galactic Bloodshed compiler error

jgsst3@cisunx.UUCP (Lucifer) (05/07/89)

hi all,

i keep getting this error when i try to compile GB.

"doplanet.c", line 327: compiler error: illegal register pair freed

does anyone know what the problem is?
is there a fix floating around?

any ideas would be appreciated
thanks

john schmid
-- 
ARPANET:  jgsst3@unix.cis.pittsburgh.edu
UUCP:     {decwrl!allegra,bellcore,cadre,psuvax1}!pitt!cisunx!cisvms!jgsst3
BITNET:   jgsst3@pittvms.bitnet
INTERNET: jgsst3%vms.cis.pittsburgh.edu@vb.cc.cmu.edu

robinson@cpsvax.cps.msu.edu (Michael Robinson) (05/08/89)

in article <17958@cisunx.UUCP>, jgsst3@cisunx.UUCP (Lucifer) says:
> Keywords: doplanet
> 
> hi all,
> 
> i keep getting this error when i try to compile GB.
> 
> "doplanet.c", line 327: compiler error: illegal register pair freed
> 
> does anyone know what the problem is?
> is there a fix floating around?
> 

   Yeah, I get the same problem and I have no clue.  Keep me informed,
as I really weant to play this game....

* Robinson

==============================================================================
|   Admiral Michael A. Robinson   |  "No one questions the assasination of   |
|   Commandant, Starfleet         |   a Captain who has disobeyed prime      |
|   Terran Empire                 |   orders of the Empire..."               |
|---------------------------------|------------------------------------------|
|   robinson@cpsvax.cps.msu.edu   | E-mail gladly accepted, although our     |
|   robinsonm@clvax1.cl.msu.edu   | mailer may not allow me to respond....   |
==============================================================================

pjb@tcom.stc.co.uk (Peter J. Bishop) (05/11/89)

Hi,

With regard to the problems:

>in article <17958@cisunx.UUCP>, jgsst3@cisunx.UUCP (Lucifer) says:
>> Keywords: doplanet
>> 
>> hi all,
>> 
>> i keep getting this error when i try to compile GB.
>> 
>> "doplanet.c", line 327: compiler error: illegal register pair freed
>> 
>> does anyone know what the problem is?
>> is there a fix floating around?
>> 
>
>   Yeah, I get the same problem and I have no clue.  Keep me informed,
>as I really weant to play this game....

the only solution that I could come up with to solve it was to change the
lines of the form:

	p->popn *= .80;

and change them to read:

	p->popn = p->popn * .80;

Hope this solves your problem.
BTW Does anyone know why this solves the problem? Or have I made a mistake in
the modification?

-- 
Peter Bishop.  <pjb@tcom.stc.co.uk> || ...!mcvax!ukc!stc!pjb
STC TNDD, Access Systems Engineering, 20-22 Edinburgh Way, Harlow. Essex
Phone : +44 279 626626 x2795

kcr%rushforth@Sun.COM (Kevin Rushforth) (05/12/89)

In article <808@jura.tcom.stc.co.uk> pjb@htc2.UUCP (Peter J. Bishop) writes:
>the only solution that I could come up with to solve it was to change the
>lines of the form:
>
>	p->popn *= .80;
>
>and change them to read:
>
>	p->popn = p->popn * .80;
>
>Hope this solves your problem.
>BTW Does anyone know why this solves the problem? Or have I made a mistake in
>the modification?

If this does indeed solve the problem, then your compiler is broken.

If "a" is an lvalue and "b" is an expression, then:

	a *= b;

is identical to:

	a = a * (b);

except for the fact that "a" is evaluated (e.g. for side effects) only once.

-- 
Kevin C. Rushforth                   | "If winning is not important,
Sun Microsystems                     |  then commander, why keep score?"
                                     |              - Lt. Worf
ARPA: kcr@sun.com                    |
UUCP: <most-backbone-sites>!sun!kcr  |

crash@jc3b21.UUCP (Frank J. Edwards) (05/12/89)

From article <104342@sun.Eng.Sun.COM>, by kcr%rushforth@Sun.COM (Kevin Rushforth):
: In article <808@jura.tcom.stc.co.uk> pjb@htc2.UUCP (Peter J. Bishop) writes:
:>the only solution that I could come up with to solve it was to change the
:>lines of the form:
:>
:>	p->popn *= .80;
:>
:>and change them to read:
:>
:>	p->popn = p->popn * .80;
:>
:>Hope this solves your problem.
:>BTW Does anyone know why this solves the problem? Or have I made a mistake in
:>the modification?
: 
: If this does indeed solve the problem, then your compiler is broken.
: 
: If "a" is an lvalue and "b" is an expression, then:
: 
: 	a *= b;
: 
: is identical to:
: 
: 	a = a * (b);
: 
: except for the fact that "a" is evaluated (e.g. for side effects) only once.

Actually, I used a compiler once in which the "broken" code was the
expression parser, i.e. "a *= .80" didn't work but "a *= (.80)" or
"a *= 0.80" did!!

Some sort of problem with the floating point number starting with a
period immediately after an assignment token, et al.

Followups to comp.lang.c :-)

Frank "Crash" Edwards
...!uunet!pdn!jc3b21!crash