qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH] docs/style: permit inline loop variables


From: Philippe Mathieu-Daudé
Subject: Re: [RFC PATCH] docs/style: permit inline loop variables
Date: Tue, 22 Aug 2023 18:31:50 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.14.0

On 22/8/23 17:50, Alex Bennée wrote:
I've already wasted enough of my time debugging aliased variables in
deeply nested loops. While not scattering variable declarations around
is a good aim I think we can make an exception for stuff used inside a
loop.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
  docs/devel/style.rst | 9 ++++++++-
  1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/docs/devel/style.rst b/docs/devel/style.rst
index 3cfcdeb9cd..2f68b50079 100644
--- a/docs/devel/style.rst
+++ b/docs/devel/style.rst
@@ -204,7 +204,14 @@ Declarations
Mixed declarations (interleaving statements and declarations within
  blocks) are generally not allowed; declarations should be at the beginning
-of blocks.
+of blocks. To avoid accidental re-use it is permissible to declare
+loop variables inside for loops:
+
+.. code-block:: c
+
+    for (int i = 0; i < ARRAY_SIZE(thing); i++) {

ARRAY_SIZE() -> sizeof() -> size_t -> unsigned.

Is it a good example to use 'int' here?

Otherwise, glad to declare variables in loops!

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

+        /* do something loopy */
+    }
Every now and then, an exception is made for declarations inside a
  #ifdef or #ifndef block: if the code looks nicer, such declarations can




reply via email to

[Prev in Thread] Current Thread [Next in Thread]