[tree-ssa] Mainline merge as of 2003-02-02

Diego Novillo dnovillo@redhat.com
Mon Feb 3 17:47:00 GMT 2003


On Mon, 03 Feb 2003, Diego Novillo wrote:

> - Use of uninitialized variables.  Given the following code
>   fragment:
> 
> 	    j = 3;
> 	    if (j < 5 || (i = 3) > 0)
> 	      j = i++;
> 
>   The gimplifier will produce the following transformation:
> 
> 	    j = 3;
> 	    T.1 = j <= 4;
> 	    if (T.1 == 0)
> 	      {
> 	        i = 3;
> 	        T.1 = i > 0
> 	      };
> 	    if (T.1)
> 	      {
> 	        i.2 = i;
> 	        i = i + 1;
> 	        j = i.2
> 	      };
> 
>   This trips the warning because we still don't have enough
>   analysis implemented to determine that 'i' is never used
>   uninitialized.  The two if's generated by the gimplifier are
>   mutually exclusive.  We could probably change the gimplifier to
>            ^^^^^^^^^
Er, the example is bogus.  Sorry.

Variable 'i' can indeed be used uninitialized in this case.  I'll
try to distill a better example from one of the files that were
triggering the warning.


Diego.




More information about the Gcc mailing list