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.

Reply via email to