https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105112

--- Comment #1 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
Example state (picked at random from -fdump-analyzer-exploded-nodes-2 output):

EN 113734:
preds: EN: 113733
succs: EN: 113735
callstring: []
before (SN: 12511 stmt: 0): 
if (j_8254 <= 8191)
31 |   for (j = 0; j < 8192; j++) { \
   |               ~~^~~~~~

rmodel:
stack depth: 1
  frame (index 0): frame: ‘func_schar’@1
clusters within root region
  cluster for: (*INIT_VAL(a_8725(D)))
    ESCAPED
    TOUCHED
    key:   {byte 0}
    value: ‘unsigned char’ {(CAST(unsigned char, CONJURED(_7228 = get_i ();,
(*INIT_VAL(a_8725(D)))))+(CAST(unsigned char, CONJURED(_7228 = get_i ()
;, (*INIT_VAL(b_8726(D)))))*CAST(unsigned char, CONJURED(_7228 = get_i ();,
(*INIT_VAL(c_8727(D)))))))}
    key:   {byte 1}
    value: ‘signed char’ {UNKNOWN(signed char)}
  cluster for: (*INIT_VAL(b_8726(D))): UNKNOWN(schar) (ESCAPED) (TOUCHED)
  cluster for: (*INIT_VAL(c_8727(D))): UNKNOWN(schar) (ESCAPED) (TOUCHED)
clusters within frame: ‘func_schar’@1
  cluster for: i_8127: CONJURED(i_8707 = get_i ();, i_8707)
  cluster for: accum_8740: UNKNOWN(schar)
  cluster for: z_7997: UNKNOWN(schar)
  cluster for: x_7611: UNKNOWN(schar)
  cluster for: y_7867: UNKNOWN(schar)
  cluster for: j_8254: WIDENING({after SN: 12510}, (int)1, (int)2)
m_called_unknown_fn: TRUE
constraint_manager:
  equiv classes:
    ec0: {(int)0 == [m_constant]‘0’}
    ec1: {(void *)0B == [m_constant]‘0B’}
    ec2: {INIT_VAL(a_8725(D))}
    ec3: {INIT_VAL(b_8726(D))}
    ec4: {INIT_VAL(c_8727(D))}
    ec5: {CONJURED(i_8707 = get_i ();, i_8707)}
  constraints:
    0: ec2: {INIT_VAL(a_8725(D))} != ec1: {(void *)0B == [m_constant]‘0B’}
    1: ec3: {INIT_VAL(b_8726(D))} != ec1: {(void *)0B == [m_constant]‘0B’}
    2: ec4: {INIT_VAL(c_8727(D))} != ec1: {(void *)0B == [m_constant]‘0B’}
    3: ec5: {CONJURED(i_8707 = get_i ();, i_8707)} != ec0: {(int)0 ==
[m_constant]‘0’}

Reply via email to