[libcamera-devel] [PATCH] libcamera: pipeline: simple: Use std::make_tuple()

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Jul 15 11:35:37 CEST 2020


Hi Niklas,

On Wed, Jul 15, 2020 at 08:20:08AM +0200, Niklas Söderlund wrote:
> On 2020-07-15 02:33:25 +0300, Laurent Pinchart wrote:
> > Prior to N4387 ([1]), the std::tuple::tuple(const Types&...) constructor
> > was unconditionally explicit. gcc 5 doesn't implement N4387, leading to
> > a compilation error in the simple pipeline handler. Use
> > std::make_tuple() to fix it.
> > 
> > [1] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4387.html
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> Maybe it's time we considered to drop support for gcc5 and possibly even 
> gcc6? But that is a topic for a another thread,

I wouldn't be against that.

> Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> 
> > ---
> >  src/libcamera/pipeline/simple/converter.cpp | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/libcamera/pipeline/simple/converter.cpp b/src/libcamera/pipeline/simple/converter.cpp
> > index dc7c046329f1..75fb297ebd58 100644
> > --- a/src/libcamera/pipeline/simple/converter.cpp
> > +++ b/src/libcamera/pipeline/simple/converter.cpp
> > @@ -271,9 +271,9 @@ SimpleConverter::strideAndFrameSize(const Size &size,
> >  
> >  	int ret = m2m_->capture()->tryFormat(&format);
> >  	if (ret < 0)
> > -		return { 0, 0 };
> > +		return std::make_tuple(0, 0);
> >  
> > -	return { format.planes[0].bpl, format.planes[0].size };
> > +	return std::make_tuple(format.planes[0].bpl, format.planes[0].size);
> >  }
> >  
> >  } /* namespace libcamera */

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list