http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61120
Kazumoto Kojima <kkojima at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kkojima at gcc dot gnu.org --- Comment #1 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- With the test case, gdb for i686-linux cc1 shows: Program received signal SIGSEGV, Segmentation fault. 0x08890655 in wide_int_to_tree (type=type@entry=0xb7de8360, pcst=...) at ../../ORIG/trunk/gcc/tree.c:1205 1205 unsigned int prec = TYPE_PRECISION (type); (gdb) call debug_tree (type) Cannot access memory at address 0xbbffffaf (gdb) bt #0 0x088c9565 in wide_int_to_tree (type=type@entry=0xb7dea360, pcst=...) at ../../ORIG/trunk/gcc/tree.c:1205 #1 0x088c9f67 in build_int_cst_type (type=0xb7dea360, low=255) at ../../ORIG/trunk/gcc/tree.c:1099 #2 0x083fb1d6 in fold_binary_loc (loc=loc@entry=415872, code=code@entry=BIT_AND_EXPR, type=type@entry=0xb7dea360, op0=op0@entry=0xb7f3d1e0, op1=op1@entry=0xb7f36c30) at ../../ORIG/trunk/gcc/fold-const.c:12031 #3 0x08401433 in fold_build2_stat_loc (loc=415872, code=code@entry=BIT_AND_EXPR, type=0xb7dea360, op0=0xb7f3d1e0, op1=op1@entry=0xb7f36c30) at ../../ORIG/trunk/gcc/fold-const.c:14995 #4 0x083ea25e in fold_binary_loc (loc=loc@entry=415872, code=code@entry=BIT_IOR_EXPR, type=type@entry=0xb7dea360, op0=op0@entry=0xb7a24b10, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:11371 #5 0x08401433 in fold_build2_stat_loc (loc=415872, code=code@entry=BIT_IOR_EXPR, type=0xb7dea360, op0=0xb7a24b10, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:14995 #6 0x083ea280 in fold_binary_loc (loc=loc@entry=415872, code=code@entry=BIT_IOR_EXPR, type=type@entry=0xb7dea360, op0=op0@entry=0xb7a24af8, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:11371 #7 0x08401433 in fold_build2_stat_loc (loc=415872, ---Type <return> to continue, or q <return> to quit--- code=code@entry=BIT_IOR_EXPR, type=0xb7dea360, op0=0xb7a24af8, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:14995 #8 0x083ea280 in fold_binary_loc (loc=loc@entry=415872, code=code@entry=BIT_IOR_EXPR, type=type@entry=0xb7dea360, op0=op0@entry=0xb7a24ae0, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:11371 #9 0x08401433 in fold_build2_stat_loc (loc=415872, code=code@entry=BIT_IOR_EXPR, type=0xb7dea360, op0=0xb7a24ae0, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:14995 #10 0x083ea280 in fold_binary_loc (loc=loc@entry=415872, code=code@entry=BIT_IOR_EXPR, type=type@entry=0xb7dea360, op0=op0@entry=0xb7a24ac8, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:11371 #11 0x08401433 in fold_build2_stat_loc (loc=415872, code=code@entry=BIT_IOR_EXPR, type=0xb7dea360, op0=0xb7a24ac8, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:14995 #12 0x083ea280 in fold_binary_loc (loc=loc@entry=415872, code=code@entry=BIT_IOR_EXPR, type=type@entry=0xb7dea360, op0=op0@entry=0xb7a24ab0, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:11371 #13 0x08401433 in fold_build2_stat_loc (loc=415872, code=code@entry=BIT_IOR_EXPR, type=0xb7dea360, op0=0xb7a24ab0, op1=op1@entry=0xb7e698fc) at ../../ORIG/trunk/gcc/fold-const.c:14995 ... It seems that there is an infinite recursion with fold_binary_loc and fold_build2_stat_loc.