[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] CODING_STYLE: Section about mixed declarations
From: |
Stefan Weil |
Subject: |
Re: [Qemu-devel] [PATCH] CODING_STYLE: Section about mixed declarations |
Date: |
Mon, 10 Feb 2014 07:09:49 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
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 <address@hidden>
>> ---
>> 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 <address@hidden>
Stefan