[Intel-gfx] [PATCH i-g-t 8/8] tests/kms_fbc_crc: ensure context is initialized correctly

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Nov 4 12:00:14 PST 2015


On Wed, Nov 04, 2015 at 07:36:04PM +0000, Zanoni, Paulo R wrote:
> Em Seg, 2015-11-02 às 11:48 +0000, Thomas Wood escreveu:
> > Initialization was included in commit a976d7e (tests/kms_fbc_crc:
> > refactor context
> > handling code), but won't be executed since it is declared before the
> > first
> > label within a switch statement.
> > 
> > kms_fbc_crc.c:178:2: warning: ‘context’ may be used uninitialized in
> > this function [-Wmaybe-uninitialized]
> >   rendercopy(batch, context,
> >   ^
> > kms_fbc_crc.c:271:22: note: ‘context’ was declared here
> >    drm_intel_context *context = NULL;
> 
> I don't see these warnings here. Which compiler do you use?
> 
> pzanoni at panetone:~/nfs/intel-gpu-tools/tests$ gcc --version
> gcc (Debian 5.2.1-22) 5.2.1 20151010                       
> 
> The weird part is that it was initialized during the declaration, so
> the declaration is valid yet the initialization is not?

Speaking as someone who was bitten by this once, yes that is the case.
Would be nice if gcc would flag it as unreachable code.

> Anyway, your
> change removes the ambiguity of the situation and avoid citations of
> the C standard, so:
> 
> Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> > 
> >                       ^
> > Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > Signed-off-by: Thomas Wood <thomas.wood at intel.com>
> > ---
> >  tests/kms_fbc_crc.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/tests/kms_fbc_crc.c b/tests/kms_fbc_crc.c
> > index d580a94..02e95e5 100644
> > --- a/tests/kms_fbc_crc.c
> > +++ b/tests/kms_fbc_crc.c
> > @@ -255,6 +255,7 @@ static void test_crc(data_t *data, enum test_mode
> > mode)
> >  {
> >  	uint32_t crtc_id = data->output->config.crtc->crtc_id;
> >  	uint32_t handle = data->fb[0].gem_handle;
> > +	drm_intel_context *context = NULL;
> >  
> >  	igt_assert(fbc_enabled(data));
> >  
> > @@ -268,7 +269,6 @@ static void test_crc(data_t *data, enum test_mode
> > mode)
> >  	}
> >  
> >  	switch (mode) {
> > -		drm_intel_context *context = NULL;
> >  	case TEST_PAGE_FLIP:
> >  		break;
> >  	case TEST_MMAP_CPU:
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC


More information about the Intel-gfx mailing list