The difference in *.uninit before/after that commit is small, just:
@@ -78,7 +79,7 @@ fn4 (struct F * x, unsigned int k)
     goto <bb 7>;
 
   <bb 7>:
-  # retval_25 = PHI <0(3), retval_26(6)>
+  # err_25 = PHI <0(3), retval_26(6)>
   _12 = y_9->f;
   if (_12 == 0)
     goto <bb 9>;
@@ -89,17 +90,17 @@ fn4 (struct F * x, unsigned int k)
   goto <bb 13>;
 
   <bb 9>:
-  if (retval_25 > 0)
+  if (err_25 > 0)
     goto <bb 10>;
   else
     goto <bb 11>;
 
   <bb 10>:
-  retval_14 = fn0 ();
+  err_14 = fn0 ();
 
   <bb 11>:
-  # retval_2 = PHI <retval_25(9), retval_14(10)>
-  if (retval_2 < 0)
+  # err_2 = PHI <err_25(9), err_14(10)>
+  if (err_2 < 0)
     goto <bb 12>;
   else
     goto <bb 8>;

and in both cases there is
   # retval_26 = PHI <retval_27(D)(4), retval_21(5)>
that is the reason for the warning.  The important thing is that the retval
decl has TREE_NO_WARNING set  (because of the retval = retval uninit warning 
suppression), while err doesn't.

Trying a patch not to consider TREE_NO_WARNING SSA_NAME_VARs
ssa_undefined_value_p when inside of tree-ssa-uninit.c now.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1175744

Title:
  [4.8 Regression] wrong -Wmaybe-uninitialized warning with -Os

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/1175744/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to