[Freeciv-Dev] Re: (PR#6781) Cleanups
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<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.
Raimar
--
email: rf13@xxxxxxxxxxxxxxxxx
"How about the new language C&? No, that's not 'c ampersand', 'c reference',
'reference to c' or 'c and'. It's pronounced 'campersand', to confuse the
hell out of people who are unfamiliar with it, and it will, of course,
have no pointers."
-- Xazziri in comp.lang.c++ about C#
- [Freeciv-Dev] Re: (PR#6781) Cleanups, Gregory Berkolaiko, 2003/11/09
- [Freeciv-Dev] Re: (PR#6781) Cleanups,
Raimar Falke <=
- [Freeciv-Dev] Re: (PR#6781) Cleanups, Gregory Berkolaiko, 2003/11/09
- [Freeciv-Dev] Re: (PR#6781) Cleanups, Raimar Falke, 2003/11/09
- [Freeciv-Dev] Re: (PR#6781) Cleanups, Jason Short, 2003/11/09
- [Freeciv-Dev] Re: (PR#6781) Cleanups, Raimar Falke, 2003/11/09
- [Freeciv-Dev] Re: (PR#6781) Cleanups, Raimar Falke, 2003/11/13
|
|