Using gcc -O2 -fdump-tree-all -S to compile: int bar (void) { return 0;}
int foo (int reject) { int result = 0; return result;} the .t02.original dump looks like: ;; Function bar (bar) ;; enabled by -tree-original { return 0; } ;; Function foo (foo) ;; enabled by -tree-original { int result = 0; int result = 0; <--- this line appears twice... return result; } If the order of the 2 functions is reversed in the file then the dump looks like: ;; Function foo (foo) ;; enabled by -tree-original { int result = 0; <STATEMENT_LIST> <--- the return does not appear... } ;; Function bar (bar) ;; enabled by -tree-original { return 0; } Using just -fdump-tree-original then the dump for "foo" always looks like the second version. -- Summary: .t02.original dump weirdness Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dann at godzilla dot ics dot uci dot edu CC: gcc-bugs at gcc dot gnu dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23872