Re: Patch to remove undefined C code

From: Ben Pfaff (pfaffben@msu.edu)
Date: Mon Oct 16 2000 - 15:21:13 EST


Jonathan George <Jonathan.George@trcinc.com> writes:

> This patch has many bogus corrections where new variables were created, but
> the order of evaluation is already unambiguous.
>
> For example each comma separated clause in an expression is guaranteed to be
> completely evaluated before the next comma separated clause Including
> Assignments.

No, that is not true in general. When the comma in question is
the comma operator, it is true. But when the comma separates
arguments to a function, it is not: the order of evaluation of
function arguments is implementation dependent. See C89 section
6.3.2.2 "Function calls":

        $ The order of evaluation of the function designator, the
        $ arguments, and subexpressions within the arguments is
        $ unspecified, ...

-- 
"Premature optimization is the root of all evil."
--D. E. Knuth, "Structured Programming with go to Statements"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Oct 23 2000 - 21:00:09 EST