Coding-style document asks not to use C99 ( '//' ) comments.
Signed-off-by: Ilya Maximets <[email protected]>
---
tests/checkpatch.at | 23 +++++++++++++++++++++++
utilities/checkpatch.py | 11 +++++++++++
2 files changed, 34 insertions(+)
diff --git a/tests/checkpatch.at b/tests/checkpatch.at
index 3c321633f..17976dfbb 100755
--- a/tests/checkpatch.at
+++ b/tests/checkpatch.at
@@ -287,3 +287,26 @@ try_checkpatch \
"
AT_CLEANUP
+
+
+AT_SETUP([checkpatch - comments])
+try_checkpatch \
+ "COMMON_PATCH_HEADER
+ + a = 1; /* C style comment. */
+ "
+
+try_checkpatch \
+ "COMMON_PATCH_HEADER
+ + /* http://URL/inside/the/comment.html */
+ "
+
+try_checkpatch \
+ "COMMON_PATCH_HEADER
+ + a = 1; // C99 style comment.
+ " \
+ "ERROR: C99 style comment
+ #8 FILE: A.c:1:
+ a = 1; // C99 style comment.
+"
+
+AT_CLEANUP
diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
index 57ef5e6f3..8eab31f60 100755
--- a/utilities/checkpatch.py
+++ b/utilities/checkpatch.py
@@ -163,6 +163,7 @@ __regex_ends_with_bracket = \
__regex_ptr_declaration_missing_whitespace = re.compile(r'[a-zA-Z0-9]\*[^*]')
__regex_is_comment_line = re.compile(r'^\s*(/\*|\*\s)')
__regex_has_comment = re.compile(r'.*(/\*|\*\s)')
+__regex_has_c99_comment = re.compile(r'.*//.*$')
__regex_trailing_operator = re.compile(r'^[^ ]* [^ ]*[?:]$')
__regex_conditional_else_bracing = re.compile(r'^\s*else\s*{?$')
__regex_conditional_else_bracing2 = re.compile(r'^\s*}\selse\s*$')
@@ -298,6 +299,11 @@ def has_comment(line):
return __regex_has_comment.match(line) is not None
+def has_c99_comment(line):
+ """Returns TRUE if the current line contains C99 style comment (//)."""
+ return __regex_has_c99_comment.match(line) is not None
+
+
def trailing_operator(line):
"""Returns TRUE if the current line ends with an operatorsuch as ? or :"""
return __regex_trailing_operator.match(line) is not None
@@ -545,6 +551,11 @@ checks = [
'check': lambda x: has_xxx_mark(x),
'print': lambda: print_warning("Comment with 'xxx' marker")},
+ {'regex': r'(\.c|\.h)(\.in)?$', 'match_name': None,
+ 'prereq': lambda x: not is_comment_line(x),
+ 'check': lambda x: has_c99_comment(x),
+ 'print': lambda: print_error("C99 style comment")},
+
{'regex': r'(\.c|\.h)(\.in)?$', 'match_name': None,
'prereq': lambda x: has_comment(x),
'check': lambda x: check_comment_spelling(x)},
--
2.17.1
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev