qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Hacks for building on gcc 7 / Fedora 26


From: Peter Maydell
Subject: Re: [Qemu-devel] Hacks for building on gcc 7 / Fedora 26
Date: Mon, 17 Jul 2017 18:36:14 +0100

On 17 July 2017 at 18:29, Eric Blake <address@hidden> wrote:
> On 07/17/2017 11:46 AM, Dr. David Alan Gilbert wrote:
>
>>> +++ w/hw/usb/bus.c
>>> @@ -407,8 +407,9 @@ void usb_register_companion(const char *masterbus,
>>> USBPort *ports[],
>>>  void usb_port_location(USBPort *downstream, USBPort *upstream, int portnr)
>>>  {
>>>      if (upstream) {
>>> -        snprintf(downstream->path, sizeof(downstream->path), "%s.%d",
>>> -                 upstream->path, portnr);
>>> +        int l = snprintf(downstream->path, sizeof(downstream->path),
>>> "%s.%d",
>>> +                         upstream->path, portnr);
>>> +        assert(l < sizeof(downstream->path));
>>
>> You may find this doesn't help in some windows builds;  the assert
>> functions aren't always marked as noreturn (because they pop up a dialog
>> that asks you whether you want to run into a debugger etc).
>
> How would it not help?  Are we using gcc 7 on windows builds?

At some point in the future we are likely to, because my
w32/w64 test setups use the Ubuntu gcc-mingw-w64-x86-64
packages, and so as I upgrade my desktop they will move
forward to newer gcc versions. (More generally our users
may do so before me ;-))

We should be consistent -- if we can't trust assert() to
be marked nonreturn, as it seems we can't, then we shouldn't
write new code that assumes it always is, even if today
it doesn't happen to bite us on the compiler/host combinations
we're testing right now.

thanks
-- PMM



reply via email to

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