in reply to "if" and compound statement
It's
EXPR if EXPR; [download]
and not
STATEMENT if EXPR; [download]
You can use do (do { ... }if EXPR;), but not a bare loop ({ ... } if EXPR;).