------- Comment #5 from jakub at gcc dot gnu dot org 2008-10-29 19:14 ------- Actually, the behaviour of -fno-toplevel-reorder is documented this way: `-funit-at-a-time' This option is left for compatibility reasons. `-funit-at-a-time' has no effect, while `-fno-unit-at-a-time' implies `-fno-toplevel-reorder' and `-fno-section-anchors'.
Enabled by default. `-fno-toplevel-reorder' Do not reorder top-level functions, variables, and `asm' statements. Output them in the same order that they appear in the input file. When this option is used, unreferenced static variables will not be removed. This option is intended to support existing code which relies on a particular ordering. For new code, it is better to use attributes. Enabled at level `-O0'. When disabled explicitly, it also imply `-fno-section-anchors' that is otherwise enabled at `-O0' on some targets. So I guess we want to change the testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36668