ブロックの終端にラベル

C++では gcc2.95 以前、Cでは gcc3.3 以前では、ブロックの終端にラベルを置くことができる。

while(i)
{
   if(i == 1) { i = 0; goto endblock; }
   printf("not reach\n");
   endblock:
}

goto文のラベルだけでなく、switch文中のcase/defaultラベルも同様に書くことができる。
普通は、ラベルの後にセミコロンを置き、空文にする。
多分、この拡張機能を覚えていても何の役にも立たない。