Am 10.02.2014 02:33, schrieb Fam Zheng:
> On Sun, 02/09 07:03, Eduardo Habkost wrote:
>> We had an unwritten rule about declarations having to be at beginning of
>> blocks. Make it a written rule.
>>
>> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com>
>> ---
>>  CODING_STYLE | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/CODING_STYLE b/CODING_STYLE
>> index dcbce28..f6eb319 100644
>> --- a/CODING_STYLE
>> +++ b/CODING_STYLE
>> @@ -84,3 +84,10 @@ and clarity it comes on a line by itself:
>>  Rationale: a consistent (except for functions...) bracing style reduces
>>  ambiguity and avoids needless churn when lines are added or removed.
>>  Furthermore, it is the QEMU coding style.
>> +
>> +5. Declarations
>> +
>> +Mixed declarations (interleaving statements and declarations within blocks) 
>> are
>> +not allowed; declarations should be at beginning of blocks.  In other words,

at the beginning?

>> +the code should not generate warnings if using GCC's
>> +-Wdeclaration-after-statement option.
> 
> What is the reason that we don't use -Wdeclaration-after-statement in 
> Makefile?
> Thanks.
> 
> Fam

Maybe that would be a good idea. I did a short test and added that flag
in configure (where all gcc flags are checked before they are applied):

diff --git a/configure b/configure
index f7c672a..c10a1a8 100755
--- a/configure
+++ b/configure
@@ -331,6 +331,8 @@ ARFLAGS="${ARFLAGS-rv}"
 # default flags for all hosts
 QEMU_CFLAGS="-fno-strict-aliasing $QEMU_CFLAGS"
 QEMU_CFLAGS="-Wall -Wundef -Wwrite-strings -Wmissing-prototypes
$QEMU_CFLAGS"
+QEMU_CFLAGS="-Wdeclaration-after-statement $QEMU_CFLAGS"
+QEMU_CFLAGS="-Wno-error=declaration-after-statement $QEMU_CFLAGS"
 QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
 QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
$QEMU_CFLAGS"
 QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/include"

The first result already shows 194 different violations. See
http://qemu.weilnetz.de/test/declaration-after-statement.txt for the
build protocol. As this test does not cover all source paths, there
might be even more violations. So the code will need some fixes before
this rule can be checked by -Wdeclaration-after-statement. Until this is
one, we could use -Wno-error=declaration-after-statement as I did in my
test.

The patch for CODING_STYLE is still useful.

Reviewed-by: Stefan Weil <s...@weilnetz.de>

Stefan


Reply via email to