http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49847
Andreas Schwab <sch...@linux-m68k.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |build Version|4.6.1 |4.7.0 Target Milestone|4.6.3 |4.7.0 Summary|[4.6/4.7 Regression] m68k |[4.7 Regression] NULL deref |gcj-4.6 NULL deref in |in fold_rtx (prev_insn_cc0 |fold_rtx (prev_insn_cc0 == |== NULL) |NULL) | --- Comment #12 from Andreas Schwab <sch...@linux-m68k.org> 2012-01-23 16:03:21 UTC --- The problem appears to be due to the exception region on a cc0 setter, which separates it from the cc0 consumer: (insn 4013 4012 8164 949 (set (cc0) (compare (reg:SF 912 [ D.26269 ]) (const_double:SF -2147483648 [0x80000000] 2.147483648e+9 [0x0.8p+32]))) ../../../gcc/libjava/interpret.cc:131 -1 (expr_list:REG_EH_REGION (const_int 4 [0x4]) (nil))) (note 8164 4013 4014 950 [bb 950] NOTE_INSN_BASIC_BLOCK) (insn 4014 8164 4015 950 (set (reg:QI 2121) (ge:QI (cc0) (const_int 0 [0]))) ../../../gcc/libjava/interpret.cc:131 -1 (nil)) Happens in trunk since r180192.