On Tue, Aug 19, 2025 at 04:06:45PM +0100, Peter Maydell wrote: > On Tue, 19 Aug 2025 at 16:04, Pierrick Bouvier > <pierrick.bouv...@linaro.org> wrote: > > > > On 8/19/25 6:24 AM, Peter Maydell wrote: > > > On Fri, 8 Aug 2025 at 07:55, Mohamed Mediouni <moha...@unpredictable.fr> > > > wrote: > > > Can you follow the QEMU coding style, please (here and elsewhere)? > > > Variables and function names should be all lower case, > > > and variable declarations go at the start of a C code > > > block, not in the middle of one. > > > > > > > In some cases, including in this function, I feel that the rule to > > declare variables at the start of a block is not really helpful, and is > > more related to legacy C than a real point nowadays. > > As well, it sometimes forces to reuse some variables between various sub > > blocks, which definitely can create bugs. > > > > Anyway, I'm not discussing the existing QEMU coding style, but just > > asking if for the current context, is it really a problem to declare > > variable here? > > The point of a coding style is to aim for consistency. QEMU > is pretty terrible at being consistent, but we should try. > The rule about variables at start of block is not because > some compilers fail to compile it, but because we think > it's overall more readable that way.
There are also potential[1] functional problems with not declaring at the start of block, because if you have a "goto cleanup" which jumps over the line of the declaration, the variable will have undefined state when the 'cleanup:' block is running. This is something which is very subtle and easily missed when reading the code flow. With regards, Daniel [1] I say "potential" because we unconditionally build with -ftrivial-auto-var-init=zero to mitigate this danger in practice. -- |: 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 :|