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);
}

何もしない空行であるセミコロン(;)を入れて、解決した。