diff mbox

[1/4] CODING_STYLE: update mixed declaration rules

Message ID 1441619584-17992-2-git-send-email-pbonzini@redhat.com
State New
Headers show

Commit Message

Paolo Bonzini Sept. 7, 2015, 9:53 a.m. UTC
Mixed declarations also do exist at the top of #ifdef blocks.
Reluctantly allow this particular usage and suggest an alternative.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 CODING_STYLE | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

Comments

Stefan Hajnoczi Sept. 9, 2015, 9:20 a.m. UTC | #1
On Mon, Sep 07, 2015 at 11:53:01AM +0200, Paolo Bonzini wrote:
> Mixed declarations also do exist at the top of #ifdef blocks.
> Reluctantly allow this particular usage and suggest an alternative.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  CODING_STYLE | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Alex Bennée Sept. 9, 2015, 10:43 a.m. UTC | #2
Paolo Bonzini <pbonzini@redhat.com> writes:

> Mixed declarations also do exist at the top of #ifdef blocks.
> Reluctantly allow this particular usage and suggest an alternative.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  CODING_STYLE | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/CODING_STYLE b/CODING_STYLE
> index d46cfa5..3c6978f 100644
> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -87,10 +87,15 @@ Furthermore, it is the QEMU coding style.
>  
>  5. Declarations
>  
> -Mixed declarations (interleaving statements and declarations within blocks)
> -are not allowed; declarations should be at the beginning of blocks.  In other
> -words, the code should not generate warnings if using GCC's
> --Wdeclaration-after-statement option.
> +Mixed declarations (interleaving statements and declarations within
> +blocks) are generally not allowed; declarations should be at the beginning
> +of blocks.
> +
> +Every now and then, an exception is made for declarations inside a
> +#ifdef or #ifndef block: if the code looks nicer, such declarations can
> +be placed at the top of the block even if there are statements above.
> +On the other hand, however, it's often best to move that #ifdef/#ifndef
> +block to a separate function altogether.
>  
>  6. Conditional statements

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
diff mbox

Patch

diff --git a/CODING_STYLE b/CODING_STYLE
index d46cfa5..3c6978f 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -87,10 +87,15 @@  Furthermore, it is the QEMU coding style.
 
 5. Declarations
 
-Mixed declarations (interleaving statements and declarations within blocks)
-are not allowed; declarations should be at the beginning of blocks.  In other
-words, the code should not generate warnings if using GCC's
--Wdeclaration-after-statement option.
+Mixed declarations (interleaving statements and declarations within
+blocks) are generally not allowed; declarations should be at the beginning
+of blocks.
+
+Every now and then, an exception is made for declarations inside a
+#ifdef or #ifndef block: if the code looks nicer, such declarations can
+be placed at the top of the block even if there are statements above.
+On the other hand, however, it's often best to move that #ifdef/#ifndef
+block to a separate function altogether.
 
 6. Conditional statements