On Thu, Mar 01, 2018 at 03:40:01PM +0100, Michal Privoznik wrote:
On 03/01/2018 03:29 PM, Daniel P. Berrangé wrote:
> On Thu, Mar 01, 2018 at 03:12:39PM +0100, Michal Privoznik wrote:
>> On 03/01/2018 02:15 PM, Peter Krempa wrote:
>>> On Thu, Mar 01, 2018 at 14:08:29 +0100, Michal Privoznik wrote:
>>>> Signed-off-by: --help <mprivozn(a)redhat.com>
>>>
>>> Hmm.
>>>
>>>> ---
>>>> docs/news.xml | 102
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>> 1 file changed, 102 insertions(+)
>>>>
>>>> + <change>
>>>> + <summary>
>>>> + src: Enable building with GCC 8.0
>>>> + </summary>
>>>> + <description>
>>>> + GCC 8.0 added more warnings which found some genuine problems
with our code.
>>>> + </description>
>>>
>>> I'm not sure whether that improved anything. Also wasn't that gcc
7?
>>
>> It added a lot of cases into our switches which are now safer. The
>> problem with enums in switch() statements is we have to be 100% sure
>> value fits into the enum. For instance:
>>
>> int x = VIR_DOMAIN_DEVICE_LAST + 1;
>>
>> switch ((virDomainDeviceType) x) {
>> ...
>> }
>>
>> is obviously problematic.
>> And no, it's gcc 8.
>
> Well yes & no. GCC complained about cases where we fell-through case:
> statements, due to us not including enough cases. This caused me to
> notice the more general problem with us not handling enum values which
> didn't correspond to named constants.
>
> So the general addition of case/default everywhere was not specifically
> required by gcc 8. It is just something I chose todo to make us more
> robust after realizing the implications of what gcc8 identified. The
> warning flags we use to validate this have existed in ancient gcc versions.
Looks like Peter has opinion on this too. So should I leave this item
out or reword it?
Do we usually document when we just fix compiler warnings ? I'd just
personally leave out, or just say "Fixed some compiler warnings that
appear with GCC 8" and leave it at that.
Regards,
Daniel
--
|:
https://berrange.com -o-
https://www.flickr.com/photos/dberrange :|
|:
https://libvirt.org -o-
https://fstop138.berrange.com :|
|:
https://entangle-photo.org -o-
https://www.instagram.com/dberrange :|