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.