qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qemu-nbd: Rename 'exp' variable clashing with m


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH] qemu-nbd: Rename 'exp' variable clashing with math::exp() symbol
Date: Fri, 11 Jan 2019 11:26:31 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 1/11/19 10:35 AM, Philippe Mathieu-Daudé wrote:
> The use of a variable named 'exp' prevents includes to import <math.h>.
> 
> Rename it to avoid:
> 
>   qemu-nbd.c:64:19: error: ‘exp’ redeclared as different kind of symbol
>    static NBDExport *exp;
>                      ^~~
>   In file included from /usr/include/features.h:428,
>                    from /usr/include/bits/libc-header-start.h:33,
>                    from /usr/include/stdint.h:26,
>                    from /usr/lib/gcc/x86_64-redhat-linux/8/include/stdint.h:9,
>                    from /source/qemu/include/qemu/osdep.h:80,
>                    from /source/qemu/qemu-nbd.c:19:
>   /usr/include/bits/mathcalls.h:95:1: note: previous declaration of ‘exp’ was 
> here
>     __MATHCALL_VEC (exp,, (_Mdouble_ __x));
>     ^~~~~~~~~~~~~~
> 
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
>  qemu-nbd.c | 19 ++++++++++---------
>  1 file changed, 10 insertions(+), 9 deletions(-)

Why did you need to import math.h?

But it's reasonable enough. Will queue through my NBD tree; in part
because it has conflicts with other pending NBD patches (so
trivial-patches taking it would actually cost me more efforts than me
just fixing the conflicts).

Reviewed-by: Eric Blake <address@hidden>

> +++ b/qemu-nbd.c
> @@ -61,7 +61,7 @@
>  
>  #define MBR_SIZE 512
>  
> -static NBDExport *exp;
> +static NBDExport *export;

This one is a definite problem (POSIX says you shouldn't name any static
variable the same as a standard function entry point, even if it happens
to lnik)...

>  static int verbose;
>  static char *srcpath;
>  static SocketAddress *saddr;
> @@ -335,7 +335,7 @@ static int nbd_can_accept(void)
>      return state == RUNNING && nb_fds < shared;
>  }
>  
> -static void nbd_export_closed(NBDExport *exp)
> +static void nbd_export_closed(NBDExport *export)

...this one just silences a -Wshadow but is permitted by strict C. We
have too many other -Wshadow violations in our code base, but I don't
mind getting rid of this one.

> @@ -1015,10 +1015,11 @@ int main(int argc, char **argv)
>          }
>      }
>  
> -    exp = nbd_export_new(bs, dev_offset, fd_size, nbdflags, 
> nbd_export_closed,
> -                         writethrough, NULL, &error_fatal);
> -    nbd_export_set_name(exp, export_name);
> -    nbd_export_set_description(exp, export_description);
> +    export = nbd_export_new(bs, dev_offset, fd_size, nbdflags,
> +                            nbd_export_closed, writethrough,
> +                            NULL, &error_fatal);
> +    nbd_export_set_name(export, export_name);
> +    nbd_export_set_description(export, export_description);

Here's where my pending to add 'qemu-nbd --bitmap' conflict; I don't
mind fixing it.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]