[libcamera-devel] [PATCH v2] libcamera: event_dispatcher_poll: Remove struct keyword from for-range
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Jun 25 22:30:59 CEST 2019
Hi Kieran,
Thank you for the patch.
On Tue, Jun 25, 2019 at 09:27:13PM +0100, Kieran Bingham wrote:
> When using -std=c++11, GCC versions 6.2 and 6.3 take objection to
> declaring a struct type when using a range based iterator:
>
> event_dispatcher_poll.cpp:231:13: error: types may not be defined
> in a for-range-declaration [-Werror]
>
> for (const struct pollfd &pfd : pollfds) {
> ^~~~~~
>
> cc1plus: all warnings being treated as errors
>
> Removing the keyword 'struct' ensures that the compiler does not try to
> declare the type, and instead uses the type as already defined by the
> relevant poll.h header.
>
> This issue does not affect later compiler versions, though earlier
> versions do complain about this keyword if the -std=c++11 option is not
> given.
No they don't, they complain that for range loops are a C++11 feature,
so it's not related. I would drop the second part of the sentence.
> Reported-by: [autobuild.buildroot.net] Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> http://autobuild.buildroot.net/results/f6dd4c60c04892c8b1669e6000fce7edb2b6349e/
>
> Fixes: 8356f8a6ab87 ("libcamera: Add a poll-based event dispatcher")
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
> src/libcamera/event_dispatcher_poll.cpp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/libcamera/event_dispatcher_poll.cpp b/src/libcamera/event_dispatcher_poll.cpp
> index 0ff99fce47ab..df9dffb2326c 100644
> --- a/src/libcamera/event_dispatcher_poll.cpp
> +++ b/src/libcamera/event_dispatcher_poll.cpp
> @@ -241,7 +241,7 @@ void EventDispatcherPoll::processNotifiers(const std::vector<struct pollfd> &pol
> { EventNotifier::Exception, POLLPRI },
> };
>
> - for (const struct pollfd &pfd : pollfds) {
> + for (const pollfd &pfd : pollfds) {
> auto iter = notifiers_.find(pfd.fd);
> ASSERT(iter != notifiers_.end());
>
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list