いったんclangの話は忘れてください
clangではエラーはでません。
gccでC99としてコンパイルしない場合にエラーがでるんですが
これ元からこういう仕様なんでしょうか?
わざわざ
int i;
for (i=0; i<10;i++)
みたいに書いてるの昔から見た記憶がないんですよ