[PATCH v1] apps: cam: Fix C++20 deprecation warning

Barnabás Pőcze pobrn at protonmail.com
Fri May 3 19:25:17 CEST 2024


Hi


2024. május 3., péntek 5:12 keltezéssel, Laurent Pinchart <laurent.pinchart at ideasonboard.com> írta:

> On Fri, May 03, 2024 at 02:58:45AM +0300, Laurent Pinchart wrote:
> > On Thu, May 02, 2024 at 11:40:42PM +0000, Barnabás Pőcze wrote:
> > > 2024. május 3., péntek 1:13 keltezéssel, Laurent Pinchart írta:
> > > > On Tue, Apr 30, 2024 at 07:26:21PM +0000, Barnabás Pőcze wrote:
> > > > > C++20 deprecated implicit capture of `this` via `[=]`.
> > > > > Fix that by explicitly capturing the necessary variables.
> > > > >
> > > > > Signed-off-by: Barnabás Pőcze <pobrn at protonmail.com>
> > > >
> > > > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > > >
> > > > It would be nice if there was a way to enable this warning even with
> > > > C++17, but it's covered by -Wdeprecated :-S
> > >
> > > In the CI one could do builds with `meson setup ... -D cpp_std=c++20`.
> >
> > That's a good idea.
> 
> The result is surprising:
> 
> https://gitlab.freedesktop.org/pinchartl/libcamera/-/jobs/58304138
> 
> I don't think I'll have time to investigate this very soon.

I have run into this as well, but it has "disappeared" after some time. Now I have
taken a closer look. The issue appears to be that the "span" test creating a test executable
named `span` in the `test` directory coupled with the `-I<build dir>/test` argument
added by meson leads to the executable being included.

  $ g++ -Isubprojects/libcamera/test/camera-sensor.p -Isubprojects/libcamera/test [...] -c ../subprojects/libcamera/test/camera-sensor.cpp
  In file included from /usr/include/c++/13.2.1/format:44,
                   from /usr/include/c++/13.2.1/bits/chrono_io.h:39,
                   from /usr/include/c++/13.2.1/chrono:3370,
                   from ../subprojects/libcamera/include/libcamera/base/utils.h:11,
                   from ../subprojects/libcamera/test/camera-sensor.cpp:13:
  subprojects/libcamera/test/span:1:1: error: stray ‘\177’ in program
      1 | <U+007F>ELF [...]

> [...]


Regards,
Barnabás Pőcze


More information about the libcamera-devel mailing list