C で、error: label at end of compound statement

人の作った C プログラムを gcc でコンパイルしていたら、
XXXXX.c:999: error: label at end of compound statement
とのエラー。 該当箇所は
static void foo(struct XXXXX *x)
{
    if (x->xxxxx != NULL) {
        DBG(&xxx, "xxxxx");
        goto done;
    }

    // 中略

done:
    bar(1);
}
のようになっていた。
static void foo(struct XXXXX *x)
{
    if (x->xxxxx != NULL) {
        DBG(&xxx, "xxxxx");
        goto done;
    }

    // 中略

done:
    <strong><font color="red">;</font></strong>
    bar(1);
}
何もしない空行であるセミコロン(;)を入れて、解決した。
トラックバック URL: https://perltips.twinkle.cc/trackback/141
Posted on 2006-11-16 by yas |