コンパイラは、すべてのグローバルの依存関係ツリーを生成し、明確に定義された正しい初期化順序を作成するために必要なすべての情報を持っていませんか? グローバルで循環依存関係を記述できることを認識しています-そのケースのみを未定義の動作にします-コンパイラは警告し、それについてエラーになる可能性があります。
通常、この種のことの理由は、コンパイラ作成者にとって負担になるか、コンパイルが大幅に遅くなる可能性があるためです。この場合、これらのいずれかが真実ではないことを示す測定基準や証拠はありませんが、どちらも真実ではないというのが私の傾向です。