[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 38/41] docs/style: permit inline loop variables
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 38/41] docs/style: permit inline loop variables |
Date: |
Thu, 31 Aug 2023 14:56:40 +0200 |
From: Alex Bennée <alex.bennee@linaro.org>
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>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20230822155004.1158931-1-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++) {
+ /* 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
--
2.41.0
- [PULL 30/41] hw/sd: spelling fixes, (continued)
- [PULL 30/41] hw/sd: spelling fixes, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 31/41] hw/usb: spelling fixes, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 32/41] hw/usb/hcd-xhci: Avoid variable-length array in xhci_get_port_bandwidth(), Philippe Mathieu-Daudé, 2023/08/31
- [PULL 33/41] hw/i386: Remove unuseful kvmclock_create() stub, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 35/41] util/fifo8: Fix typo in fifo8_push_all() description, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 34/41] hw/i386: Rename 'hw/kvm/clock.h' -> 'hw/i386/kvm/clock.h', Philippe Mathieu-Daudé, 2023/08/31
- [PULL 36/41] util: spelling fixes, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 40/41] build: Only define OS_OBJECT_USE_OBJC with gcc, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 28/41] hw/display: spelling fixes, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 37/41] ui: spelling fixes, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 38/41] docs/style: permit inline loop variables,
Philippe Mathieu-Daudé <=
- [PULL 39/41] meson: Fix MESONINTROSPECT parsing, Philippe Mathieu-Daudé, 2023/08/31
- [PULL 41/41] tests/tcg/aarch64: Rename bti-crt.inc.c -> bti-crt.c.inc, Philippe Mathieu-Daudé, 2023/08/31