[libcamera-devel] [PATCH 10/10] meson: Enable shadowed variable warning
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Oct 15 15:46:01 CEST 2020
Hi Kieran,
Thank you for the patch.
On Tue, Oct 13, 2020 at 04:12:41PM +0100, Kieran Bingham wrote:
> Shadowing variables can lead to unexpected bugs where a code path
> utilises a variable that may not have been intended by the developer,
> leading to hard to find bugs.
>
> Enable warnings for shadowed variables as defined at:
> https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wshadow
>
> As an effect of utilising -Werror, this will cause variable or type
> shadowing to become a build-time error.
>
> Suggested-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> ---
>
> The reference here is that I lost around 2 hours digging into a bug that
> looked like some other code path was calling a destructor or such, but
> was because I had accidentally aliased a private member variable in the
> constructor, so all my initialisation was lost after the constructor
> completed.
It's sometimes nice to be able to shadow variables, but I think the
debugging pain is too high of a cost for that.
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> meson.build | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meson.build b/meson.build
> index de15cc16da81..10423f523ca5 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -38,6 +38,7 @@ if cc.has_header_symbol('stdlib.h', 'secure_getenv', prefix : '#define _GNU_SOUR
> endif
>
> common_arguments = [
> + '-Wshadow',
> '-include', 'config.h',
> ]
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list