Message ID | 1474471622-12802-1-git-send-email-felipe@nutanix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/21/2016 10:27 AM, Felipe Franciosi wrote: > On GCC versions 3.4 and newer, simply using (void) in front of a > function that has been declared with WUR will no longer suppress a > compilation warning. This commit brings the ignore_value() macro from > GNULIB's ignore_value.h, licensed under the terms of LGPLv2+. > > See the link below for the original author's comment: > https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg05148.html > > Signed-off-by: Felipe Franciosi <felipe@nutanix.com> > --- > include/qemu/compiler.h | 8 ++++++++ > 1 file changed, 8 insertions(+) Reviewed-by: Eric Blake <eblake@redhat.com>
> On 21 Sep 2016, at 19:15, Eric Blake <eblake@redhat.com> wrote: > > On 09/21/2016 10:27 AM, Felipe Franciosi wrote: >> On GCC versions 3.4 and newer, simply using (void) in front of a >> function that has been declared with WUR will no longer suppress a >> compilation warning. This commit brings the ignore_value() macro from >> GNULIB's ignore_value.h, licensed under the terms of LGPLv2+. >> >> See the link below for the original author's comment: >> https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg05148.html >> >> Signed-off-by: Felipe Franciosi <felipe@nutanix.com> >> --- >> include/qemu/compiler.h | 8 ++++++++ >> 1 file changed, 8 insertions(+) > > Reviewed-by: Eric Blake <eblake@redhat.com> > > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > Hi Eric, Now that the header and licensing of compiler.h got amended, can we look at this again? I think the right solution (at least for the moment) is to stick with my series to fix the build. 1/2) We get the ignore_value() macro in. 2/2) We ignore the return value of that fwrite(). As I clarified on my last e-mail in this thread (21/sept), there are many other calls around the replay code which could potentially fail and are all unchecked. We could at least fix the build now and then talk about a separate series to address those, if neccesary. Thanks, Felipe
> On 12 Oct 2016, at 18:20, Felipe Franciosi <felipe@nutanix.com> wrote: > > >> On 21 Sep 2016, at 19:15, Eric Blake <eblake@redhat.com> wrote: >> >> On 09/21/2016 10:27 AM, Felipe Franciosi wrote: >>> On GCC versions 3.4 and newer, simply using (void) in front of a >>> function that has been declared with WUR will no longer suppress a >>> compilation warning. This commit brings the ignore_value() macro from >>> GNULIB's ignore_value.h, licensed under the terms of LGPLv2+. >>> >>> See the link below for the original author's comment: >>> https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg05148.html >>> >>> Signed-off-by: Felipe Franciosi <felipe@nutanix.com> >>> --- >>> include/qemu/compiler.h | 8 ++++++++ >>> 1 file changed, 8 insertions(+) >> >> Reviewed-by: Eric Blake <eblake@redhat.com> >> >> -- >> Eric Blake eblake redhat com +1-919-301-3266 >> Libvirt virtualization library http://libvirt.org >> > > Hi Eric, > > Now that the header and licensing of compiler.h got amended, can we look at this again? > > I think the right solution (at least for the moment) is to stick with my series to fix the build. > 1/2) We get the ignore_value() macro in. > 2/2) We ignore the return value of that fwrite(). > > As I clarified on my last e-mail in this thread (21/sept), there are many other calls around the replay code which could potentially fail and are all unchecked. We could at least fix the build now and then talk about a separate series to address those, if neccesary. > > Thanks, > Felipe Ping?
On 10/25/2016 10:21 AM, Felipe Franciosi wrote: > >> On 12 Oct 2016, at 18:20, Felipe Franciosi <felipe@nutanix.com> wrote: >> >> >>> On 21 Sep 2016, at 19:15, Eric Blake <eblake@redhat.com> wrote: >>> >>> On 09/21/2016 10:27 AM, Felipe Franciosi wrote: >>>> On GCC versions 3.4 and newer, simply using (void) in front of a >>>> function that has been declared with WUR will no longer suppress a >>>> compilation warning. This commit brings the ignore_value() macro from >>>> GNULIB's ignore_value.h, licensed under the terms of LGPLv2+. >>>> >>>> See the link below for the original author's comment: >>>> https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg05148.html >>>> >>>> Signed-off-by: Felipe Franciosi <felipe@nutanix.com> >>>> --- >>>> include/qemu/compiler.h | 8 ++++++++ >>>> 1 file changed, 8 insertions(+) >>> >>> Reviewed-by: Eric Blake <eblake@redhat.com> >>> > > Ping? It's missed 2.8, but I still think it is a useful patch; I just commented on another thread about a case where a cast-to-void might look better with the use of ignore_value().
diff --git a/include/qemu/compiler.h b/include/qemu/compiler.h index 338d3a6..655d0c7 100644 --- a/include/qemu/compiler.h +++ b/include/qemu/compiler.h @@ -26,6 +26,14 @@ #define QEMU_WARN_UNUSED_RESULT #endif +/* The ignore_value() macro comes from GNULIB's LGPLv2+ ignore-value.h */ +#if QEMU_GNUC_PREREQ(3, 4) +# define ignore_value(x) \ + (__extension__ ({ __typeof__ (x) __x = (x); (void) __x; })) +#else +# define ignore_value(x) ((void) (x)) +#endif + #if QEMU_GNUC_PREREQ(4, 0) #define QEMU_SENTINEL __attribute__((sentinel)) #else
On GCC versions 3.4 and newer, simply using (void) in front of a function that has been declared with WUR will no longer suppress a compilation warning. This commit brings the ignore_value() macro from GNULIB's ignore_value.h, licensed under the terms of LGPLv2+. See the link below for the original author's comment: https://lists.nongnu.org/archive/html/qemu-devel/2016-09/msg05148.html Signed-off-by: Felipe Franciosi <felipe@nutanix.com> --- include/qemu/compiler.h | 8 ++++++++ 1 file changed, 8 insertions(+)