[PATCH] evaluate_statement() fixes
1) Eliminate double evaluate_conditional() on loop condition -
we get the same reference both in ->iterator_post_condition and
->iterator_pre_condition and evaluate_statement() didn't take that
into account.
2) In handling of if() do not bail if evaluate_conditional()
had failed - that way we'll catch what there is to catch in ->if_true
and ->if_false (their evaluation doesn't depend on type errors in
condition) _and_ won't get noise from linearizer confused by unevaluated
statements.
3) In <expr>; do not try to degenerate the expression if
evaluate_expression() had failed - again, less noise that way.
Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>