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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |24639
   Last reconfirmed|2017-04-28 00:00:00         |2021-4-13
                 CC|                            |msebor at gcc dot gnu.org
      Known to fail|                            |11.0

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
Reconfirmed with GCC 11 and the IL below annotated with my comments.  I don't
see anything in the IL to rule out the uninitialized use:

void f (int b)
{
  int y;
  int x;
  int _1;

  <bb 2> [local count: 59055799]:
  if (b_5(D) != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 11>; [67.00%]              >>> b == 0

  <bb 3> [local count: 19488414]:
  # .MEM_9 = VDEF <.MEM_8(D)>
  x_10 = g ();
  # .MEM_11 = VDEF <.MEM_9>
  y_12 = g ();
  goto <bb 6>; [100.00%]                >>> b != 0

  <bb 4> [local count: 1014686025]:
  if (b_5(D) != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 10>; [94.50%]

  <bb 10> [local count: 958878294]:
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 55807731]:       <<< x_17 used when g() != 0 AND b != 0
  # .MEM_14 = VDEF <.MEM_13>
  h (x_17, y_2);                        <<< warning for x_17
  # .MEM_15 = VDEF <.MEM_14>
  y_16 = g ();
  goto <bb 7>; [100.00%]

  <bb 11> [local count: 39567385]:      <<< b == 0

  <bb 6> [local count: 59055799]:       <<< x_6(D) uninitialized when b != 0 OR
b == 0
  # x_17 = PHI <x_10(3), x_6(D)(11)>    <<< x_17 <-- x_6(D)(11)
  # y_18 = PHI <y_12(3), y_7(D)(11)>
  # .MEM_19 = PHI <.MEM_11(3), .MEM_8(D)(11)>

  <bb 7> [local count: 114863530]:
  # y_2 = PHI <y_18(6), y_16(5)>
  # .MEM_20 = PHI <.MEM_19(6), .MEM_15(5)>

  <bb 8> [local count: 1073741824]:
  # .MEM_4 = PHI <.MEM_20(7), .MEM_13(10)>
  # .MEM_13 = VDEF <.MEM_4>
  _1 = g ();
  if (_1 != 0)
    goto <bb 4>; [94.50%]               >>> g() != 0
  else
    goto <bb 9>; [5.50%]

  <bb 9> [local count: 59055800]:
  # VUSE <.MEM_13>
  return;


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=24639
[Bug 24639] [meta-bug] bug to track all Wuninitialized issues

Reply via email to