B.1.11. Expression evaluation

The compiler can re-order expressions involving only associative and commutative operators of equal precedence, even in the presence of parentheses. For example, a + (b + c) might be evaluated as (a + b) + c if a, b, and c are integer expressions.

Between sequence points, t

he compiler can evaluate expressions in any order, regardless of parentheses. Therefore, side effects of expressions between sequence points can occur in any order.

The compiler can evaluate function arguments in any order.

Any aspect of evaluation order not prescribed by the relevant standard can be varied by:

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A