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

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
The problematic STMT is:
(gdb) p debug_gimple_stmt(orig_stmt_info->stmt)
_22 = (boolean) _21;

which comes from:

(gdb) p debug_bb(bb)
<bb 5> [count: 0]:
_8 ={v} __gnat_dir_separator;
# DEBUG SR.1076 => _8
_9 ={v} __gnat_dir_separator;
# DEBUG SR.1077 => _9
_10 = name.P_ARRAY;
_13 = (sizetype) _2;
_11 = VIEW_CONVERT_EXPR<UNSIGNED_16>(MEM[(character[D.8734:iftmp.827]
*)_10][_13 ...]{lb: _13 sz: 1});
# DEBUG SR.150 => _8
# DEBUG SR.151 => _9
MEM <character> [(character[1:2] *)&S343b] = _8;
MEM <character> [(character[1:2] *)&S343b + 1B] = _9;
_12 = VIEW_CONVERT_EXPR<UNSIGNED_16>(S343b.F);
_21 = _11 != _12;
_22 = (boolean) _21;

entire FN:

(gdb) p debug_function(current_function_decl, 0)
system__os_lib__normalize_pathname__missed_drive_letter (struct string___XUP
name)
{
  character SR.151;
  character SR.150;
  const struct string___XUB * name$P_BOUNDS;
  struct system__os_lib__normalize_pathname__missed_drive_letter__S343b___PAD
S343b;
  positive___XDLU_1__2147483647 _1;
  positive___XDLU_1__2147483647 _2;
  boolean _4;
  boolean _7;
  character _8;
  character _9;
  character[<PLACEHOLDER_EXPR sizetype>:<PLACEHOLDER_EXPR sizetype>] * _10;
  UNSIGNED_16 _11;
  UNSIGNED_16 _12;
  sizetype _13;
  boolean _14;
  bool _21;
  boolean _22;
  unsigned short patt_23;
  boolean patt_24;

  <bb 2> [count: 4805]:
  # DEBUG D#73 => name.P_BOUNDS
  # DEBUG name$P_BOUNDS => D#73
  _4 = system__os_lib__on_windows;
  if (_4 != 0)
    goto <bb 3>; [0.00%]
  else
    goto <bb 10>; [100.00%]

  <bb 10> [count: 4805]:

  <bb 7> [count: 4805]:
  goto <bb 6>; [100.00%]

  <bb 3> [count: 0]:
  _14 = system__os_lib__normalize_pathname__is_with_drive (name);
  if (_14 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 11> [count: 0]:
  goto <bb 7>; [100.00%]

  <bb 4> [count: 0]:
  name$P_BOUNDS_16 = name.P_BOUNDS;
  _2 = name$P_BOUNDS_16->LB0;
  _1 = name$P_BOUNDS_16->UB0;
  if (_1 <= _2)
    goto <bb 9>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 9> [count: 0]:
  goto <bb 6>; [100.00%]

  <bb 5> [count: 0]:
  _8 ={v} __gnat_dir_separator;
  # DEBUG SR.1076 => _8
  _9 ={v} __gnat_dir_separator;
  # DEBUG SR.1077 => _9
  _10 = name.P_ARRAY;
  _13 = (sizetype) _2;
  _11 = VIEW_CONVERT_EXPR<UNSIGNED_16>(MEM[(character[D.8734:iftmp.827]
*)_10][_13 ...]{lb: _13 sz: 1});
  # DEBUG SR.150 => _8
  # DEBUG SR.151 => _9
  MEM <character> [(character[1:2] *)&S343b] = _8;
  MEM <character> [(character[1:2] *)&S343b + 1B] = _9;
  _12 = VIEW_CONVERT_EXPR<UNSIGNED_16>(S343b.F);
  _21 = _11 != _12;
  _22 = (boolean) _21;

  <bb 6> [count: 4805]:
  # _7 = PHI <_22(5), 0(7), 1(9)>
  # DEBUG SR.1076 => NULL
  # DEBUG SR.1077 => NULL
  return _7;

}

Reply via email to