Re: [PATCH 30/30] Prohibit space after cast

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

 



On Wed, Apr 25, 2018 at 03:25:07PM +0200, Martin Kletzander wrote:
Let's make a rule out of it and document it.

Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
---
cfg.mk               | 6 ++++++
docs/hacking.html.in | 9 +++++++++
2 files changed, 15 insertions(+)

diff --git a/cfg.mk b/cfg.mk
index 902178dd1c3a..5f75338aac04 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -1050,6 +1050,12 @@ sc_prohibit_backslash_alignment:
	halt='Do not attempt to right-align backslashes' \
	  $(_sc_search_regexp)

+sc_prohibit_space_after_cast:
+	@prohibit='(\([a-zA-Z _]+ \*+

Both this


|\(((signed|unsigned|long|short|int|char|

[a-zA-Z]+_t

and this should include numbers to catch types like uint64_t

|void|struct) ?)+|switch \(\(vir[a-zA-Z]*Type)\)[[:space:]]+



([^ );,{=\\A-Z])' \

Allowing 'A-Z' here misses some cases of casting NULL and some macros.
The false positives include function declarations from vbox_CAPI header
files and our one-line helpers with no arguments and some ATTRIBUTE_
marker.

Since any attempts to parse C with a regex will have some limitations,
I'd just drop 'void' from the list of types in the first part, since
we don't need to use it that often - only the hal driver and the
viratomic macros use it as ignore_value.

Jano

+	in_vc_files='*\.[chx]$$' \
+	halt='Do not use space after cast' \
+	  $(_sc_search_regexp)
+
# We don't use this feature of maint.mk.
prev_version_file = /dev/null

diff --git a/docs/hacking.html.in b/docs/hacking.html.in
index fbeea3eb751d..bf6f80c0d217 100644
--- a/docs/hacking.html.in
+++ b/docs/hacking.html.in
@@ -579,6 +579,15 @@
      int foo(int wizz);    // Good
</pre>

+    <p>
+      There must not be any whitespace immediately following a cast to any
+      type. E.g.
+    </p>
+    <pre>
+      foo = (int) bar;  // Bad
+      foo = (int)bar;   // Good
+</pre>
+
    <h2><a id="comma">Commas</a></h2>

    <p>
--
2.17.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

Attachment: signature.asc
Description: Digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux