Table 2 Grammar changes to allow declarations in conditionals
<B> Old grammars (as in the ARM):</B> selection-statement: if ( expression ) statement if ( expression ) statement else statement switch ( expression ) statement iteration-statement: while ( expression ) statement do statement while ( expression ) ; for ( for-init-statement expressionopt ; expressionopt ) statement <B> New grammar (as in the draft):</B> condition: expression type-specifier-seq declarator = assignment-expression selection-statement: if ( condition ) statement if ( condition ) statement else statement switch ( condition ) statement iteration-statement: while ( condition ) statement do statement while ( expression ) ; for ( for-init-statement conditionopt ; expressionopt ) statement