[libcamera-devel] [PATCH] libcamera: pipeline: simple: Use std::make_tuple()
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jul 16 16:39:57 CEST 2020
Hi Kieran,
On Thu, Jul 16, 2020 at 03:06:08PM +0100, Kieran Bingham wrote:
> On 15/07/2020 10:35, Laurent Pinchart wrote:
> > 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.
>
> I can't recall if we discussed on IRC or a thread, but indeed, if a
> distribution has a kernel older than we can support, then I don't think
> we need to support the build on that system either.
>
> - Ubuntu only brought in kernel v5.0 at 18.04.3, and 18.04 ships with
> gcc v7.
>
> - On Debian, Stretch(9) uses kernel v4.14, and buster(10) has v5.4.
> Buster ships with GCC v8.
>
> - Fedora picks up a v5.0 kernel in Fedora 30, which ships gcc v9.
>
> So I don't foresee much reason to keep gcc 5/6 support around ...
> Does anyone know of a distribution that uses a kernel >= 5.0 which ships
> gcc <= 6?
You've started a separate mail thread on that topic, so let's discuss it
there.
> >> 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);
>
> GCC support aside, I don't see anything wrong here in this patch though
> if you still want to integrate it...
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> >>> }
> >>>
> >>> } /* namespace libcamera */
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list