[libcamera-devel] [PATCH] qcam: viewfinder_gl: selectColorSpace: fix maybe uninitialized warning

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Sep 3 01:32:40 CEST 2022


On Sat, Sep 03, 2022 at 02:31:39AM +0300, Laurent Pinchart wrote:
> Hi Marco,
> 
> Going back to the patch now.
> 
> On Fri, Sep 02, 2022 at 04:11:36PM +0200, Marco Felsch via libcamera-devel wrote:
> > Fix gcc11 warning introduced in commit 251f0534 ("qcam: viewfinder_gl:
> > Take color space into account for YUV rendering"). Fix it by making the
> > full range as default.
> 
> I'd like to mention the result of the investigation I detailed in a
> separate reply in this mail thread. Would you be fine with the following
> commit message ?
> 
> Commit 251f0534 ("qcam: viewfinder_gl: Take color space into account for
> YUV rendering") introduced a maybe-uninitialized warning with gcc 11 and
> 12. The compiler is correct, as C++17 allows initializing a scoped enum
> from an integer using direct-list-initialization, even if the integer
> value doesn't match any of the enumerators for the scoped enum ([1]).
> 
> Fix the warning by making the full range the default.
> 
> https://en.cppreference.com/w/cpp/language/enum#enum_relaxed_init_cpp17
> 
> > Fixes: 251f0534 ("qcam: viewfinder_gl: Take color space into account for YUV rendering")

I also forgot to mention, Fixes tags should use 12 digits for the commit
ID. I can also address this locally.

> > Signed-off-by: Marco Felsch <m.felsch at pengutronix.de>
> > ---
> >  src/qcam/viewfinder_gl.cpp | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/src/qcam/viewfinder_gl.cpp b/src/qcam/viewfinder_gl.cpp
> > index e2aa2470..501c5bae 100644
> > --- a/src/qcam/viewfinder_gl.cpp
> > +++ b/src/qcam/viewfinder_gl.cpp
> > @@ -367,6 +367,7 @@ void ViewFinderGL::selectColorSpace(const libcamera::ColorSpace &colorSpace)
> >  	double offset;
> >  
> >  	switch (colorSpace.range) {
> > +	default: /* Avoid gcc11 maybe-uninitialized warning */
> 
> Given that this is a valid behaviour for the compiler, and not a false
> positive as I initially thought, I think we can drop the comment. If you
> don't mind I'll also move the default one line down, just right after
> the Full case.
> 
> There's no need to submit a v2 if you're fine with these changes, I'll
> apply them locally.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> >  	case libcamera::ColorSpace::Range::Full:
> >  		offset = 0.0;
> >  		break;

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list