Re: [PATCH] virhostcpu: Fix build with clang and newest kernel headers

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

 



On Tue, Aug 23, 2022 at 15:42:38 +0100, Daniel P. Berrangé wrote:
> On Tue, Aug 23, 2022 at 04:15:54PM +0200, Peter Krempa wrote:
> > The most recent environment e.g. present in our Fedora Rawhide builds
> > fail to build the tree with clang with the following error:
> > 
> > ../src/util/virhostcpu.c:1291:25: error: field 'header' with variable sized type 'struct kvm_msrs' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end]
> >         struct kvm_msrs header;
> >                         ^
> > 
> > The problem seems to be that clang doesn't like the new way the
> > 'entries' field in struct kvm_msrs is declared.
> > 
> > To work around the issue we can simply allocate the variable dynamically
> > and use the 'entries' member as it was intended to to access the
> > members.
> 
> We explicitly only support GCC and CLang, and intentionally rely on
> many GNU extensions to C. CLang is trying to be helpful to people
> who need fully portable C code, but we don't care about that. So
> why not just turn off the warning by adding
> 
>   -Wno-gnu-variable-sized-style-not-at-end
> 
> better than making our code less understandable IMHO

Well I guess mostly because the new code is actually easier to
understand than the old one :-)

Jirka




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux