[PATCH] Fix PR64764

Tom de Vries Tom_deVries@mentor.com
Thu Feb 5 11:45:00 GMT 2015


On 26-01-15 15:47, Richard Biener wrote:
> Index: gcc/testsuite/gcc.dg/uninit-19.c
> ===================================================================
> --- gcc/testsuite/gcc.dg/uninit-19.c	(revision 0)
> +++ gcc/testsuite/gcc.dg/uninit-19.c	(working copy)
> @@ -0,0 +1,23 @@
> +/* { dg-do compile } */
> +/* { dg-options "-O -Wuninitialized" } */
> +
> +int a, l, m;
> +float *b;
> +float c, d, e, g, h;
> +unsigned char i, k;
> +void
> +fn1 (int p1, float *f1, float *f2, float *f3, unsigned char *c1, float *f4,
> +     unsigned char *c2, float *p10)
> +{
> +  if (p1 & 8)
> +    b[3] = p10[a];  /* { dg-warning "may be used uninitialized" } */
> +}
> +
> +void
> +fn2 ()
> +{
> +  float *n;
> +  if (l & 6)
> +    n = &c + m;
> +  fn1 (l, &d, &e, &g, &i, &h, &k, n);
> +}

Hi Richard,

this new test fails with -fpic, because fn1 is not inlined.

Adding static to fn1 allows it to pass both with and without -fpic. But that 
change might affect whether it still serves as a regression test for this PR, 
I'm not sure.

Another way to fix this could be to use the warning line number 22 instead 13 
for fpic.

Thanks,
- Tom



More information about the Gcc-patches mailing list