http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49651
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org Component|c++ |tree-optimization --- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> 2011-07-12 14:38:53 UTC --- With current pre-4.6.2 I find that it fails with -O2 -fno-thread-jumps -fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels -fno-caller-saves -fno-crossjumping -fno-cse-follow-jumps -fno-cse-skip-blocks -fno-delete-null-pointer-checks -fno-expensive-optimizations -fno-gcse -fno-gcse-lm -fno-inline-small-functions -fno-indirect-inlining -fno-ipa-sra -fno-optimize-sibling-calls -fno-peephole2 -fno-regmove -fno-reorder-blocks -fno-reorder-functions -fno-rerun-cse-after-loop -fno-sched-interblock -fno-sched-spec -fno-schedule-insns -fno-schedule-insns2 -fno-strict-aliasing -fno-strict-overflow -fno-tree-switch-conversion -fno-tree-pre -fno-tree-vrp -fno-devirtualize -fno-ipa-cp -fno-tree-builtin-call-dce -fno-auto-inc-dec -fno-cprop-registers -fno-dce -fno-defer-pop -fno-delayed-branch -fno-dse -fno-guess-branch-probability -fno-if-conversion -fno-if-conversion2 -fno-ipa-pure-const -fno-ipa-reference -fno-merge-constants -fno-split-wide-types -fno-tree-builtin-call-dce -fno-tree-ccp -fno-tree-ch -fno-tree-copyrename -fno-tree-dce -fno-tree-forwprop -fno-tree-phiprop -fno-tree-sra -fno-tree-ter But adding -O1, -fno-tree-pta or -fno-tree-fre makes it work. There only seem to be a few places that depend on optimize being 1 vs 2. Changing category to tree-optimization.