>extern int g; ← 3.5により内部リンケージ
ダウト
これはgが前のgと同じと判断する前に外部リンケージ変数の宣言と見なすべきで
結果、同名の異なるリンケージ宣言でエラーとすべき