http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59049
--- Comment #1 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> --- Frame 12 shows that at the tree level, one of the comparison operands is an initialized variable. (gdb) frame 12 #12 0x083bd9fa in expand_expr_real_1 (exp=<ne_expr 0xb7b55b28>, target=0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL, alt_rtl=0x0) at ../../gcc/gcc/expr.c:10444 10444 return expand_expr_real_2 (&ops, target, tmode, modifier); (gdb) call debug_tree(exp) <ne_expr 0xb7b55b28 type <boolean_type 0xb7abd5a0 _Bool public unsigned QI size <integer_cst 0xb7aaa258 constant 8> unit size <integer_cst 0xb7aaa26c constant 1> align 8 symtab 0 alias set -1 canonical type 0xb7abd5a0 precision 1 min <integer_cst 0xb7aaa438 0> max <integer_cst 0xb7aaa460 1>> arg 0 <ssa_name 0xb7b0ac58 type <integer_type 0xb7abd480 long unsigned int public unsigned SI size <integer_cst 0xb7aaa140 constant 32> unit size <integer_cst 0xb7aaa154 constant 4> align 32 symtab 0 alias set -1 canonical type 0xb7abd480 precision 32 min <integer_cst 0xb7aaa3c0 0> max <integer_cst 0xb7aaa3ac 4294967295> context <translation_unit_decl 0xb7ac3dec D.1415> pointer_to_this <pointer_type 0xb7ac44e0>> visited var <var_decl 0xb7b4db24 D.1483>def_stmt _10 = 3; version 10> arg 1 <integer_cst 0xb7b3ce4c type <integer_type 0xb7abd480 long unsigned int> constant 3> /home/amylaar/synopsys/synopsys-gcc-mainline/unisrc-4.8/gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2.c:29:6>