Complete.Org: Mailing Lists: Archives: freeciv-dev: November 2003:
[Freeciv-Dev] Re: (PR#6781) Cleanups
Home

[Freeciv-Dev] Re: (PR#6781) Cleanups

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: i-freeciv-lists@xxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#6781) Cleanups
From: "Gregory Berkolaiko" <Gregory.Berkolaiko@xxxxxxxxxxxx>
Date: Sun, 9 Nov 2003 06:39:13 -0800
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=6781 >

On Sun, 9 Nov 2003, Raimar Falke wrote:

> 
> <URL: http://rt.freeciv.org/Ticket/Display.html?id=6781 >
> 
> On Sun, Nov 09, 2003 at 03:49:05AM -0800, Gregory Berkolaiko wrote:
> > 
> > <URL: http://rt.freeciv.org/Ticket/Display.html?id=6781 >
> > 
> > On Thu, 6 Nov 2003 rt@xxxxxxxxxxx wrote:
> > 
> > > 2)
> > > ai/aiunit.c:591:134: Expression has undefined behavior (left operand
> > > uses errno, modified by right operand): log(most_desirable / ((((100 *
> > > 5 * 81 + 100 * (9 - 5) * 51) + 1) + 1) + (100 * 5 * 81 + 100 * (9 - 5)
> > > * 51))) / log(0.6)
> > > Code has unspecified behavior. Order of evaluation of function
> > > parameters or subexpressions is not defined, so if a value is used and
> > > modi fied in different places not separated by a sequence point
> > > constraining evaluation order, then the result of the expression is
> > > unspecified.
> > 
> > I do not understand this error at all.  Mathmatically, the order of 
> > evaluation is well defined.
> 
> The result is but log has the side effect that is modifies errno. So
> the value of errno after the "log(x)+log(y)" is unspecified because
> the order of the log calls is unspecified.

Ah.  So if we split it into two, it should be fine?




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