------- Comment #3 from rguenth at gcc dot gnu dot org 2006-04-17 10:51 ------- Hmm, looks more like a tree sharing problem
Breakpoint 5, fold_ternary (code=CALL_EXPR, type=0xb7d5fa6c, op0=0xb7d55540, op1=0xb7dd9048, op2=0x0) at /space/rguenther/src/svn/gcc-4_1-branch/gcc/fold-const.c:9945 9945 tree arg0 = NULL_TREE, arg1 = NULL_TREE; (gdb) call debug_tree(op1) <tree_list 0xb7dd9048 value <call_expr 0xb7dd1028 type <real_type 0xb7d5fa6c double sizes-gimplified DF size <integer_cst 0xb7d50540 constant invariant 64> unit size <integer_cst 0xb7d50558 constant invariant 8> align 64 symtab 0 alias set -1 precision 64 pointer_to_this <pointer_type 0xb7d5fb80>> nothrow arg 0 <addr_expr 0xb7d55240 type <pointer_type 0xb7dcf3f4> readonly constant invariant arg 0 <function_decl 0xb7d80d80 __builtin_pow>> arg 1 <tree_list 0xb7dd67e0 value <call_expr 0xb7dd1028> chain <tree_list 0xb7dd67c8 value <real_cst 0xb7dd6798 type <real_type 0xb7d5fa6c double> constant invariant 2.0e+0>>> t.c:5> chain <tree_list 0xb7dd9030 value <real_cst 0xb7dd9000 type <real_type 0xb7d5fa6c double> constant invariant 3.2e+1>>> we are self-referencing and so built up an infinite chain of pow (pow (..., 2) -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|missed-optimization | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27136