イタチごっこの悪寒。

GCC 4.1 Release Series: Changes, New Features, and Fixes より。

-fwhole-program --combine can now be used to make all functions in program static allowing whole program optimization. As an exception, the main function and all functions marked with the new externally_visible attribute are kept global so that programs can link with runtime libraries.

多分 inline 化もするという意味だと思う。CVS 版を自分で compile するのは大変だから試してないけど。
もし GCC 以外に local variable reordering を行う compiler が無いのなら、__attribute__((noinline)) とか、思いっ切り -std=gnu99 依存の機能でもって保護してしまった方がいいような気がする。
ISO C の範囲で順序を強制するにはやっぱり構造体しかないし。でもそれは明らかに不便だし、読みにくいし。