Use of a statement expression is a language extension
Use of a statement expression is a language extension and usage could affect portability
int val = ({int i; i = foo(); i+=1;});