switch(event)
{
case1:
foo;
case2:
bar;
default: ←100行目
}

if( !p1)
{
・・・
GOTO Test;

Test: ←100行目
}
gcc version 4.1.2 で、
上のように、default: や Test: の後が空行のまま } がくると、次のようなエラーがでます。

handle.c:100: error: label at end of compound statement

これは仕様なのでしょうか?
default: は消し、 Test: は {}の外にうつして回避したのですが、それで正しいでしょうか。
アドバイス、よろしくお願いします。