Merge pull request #6807 from bfredl/attrindent

[RFC] lint: check indentation of FUNC_ATTR lines
This commit is contained in:
Björn Linse 2017-06-03 21:00:05 +02:00 committed by GitHub
commit 1b2acb8d95
13 changed files with 129 additions and 121 deletions

View File

@ -2600,16 +2600,23 @@ def CheckBraces(filename, clean_lines, linenum, error):
else:
func_start_linenum = end_linenum + 1
while not clean_lines.lines[func_start_linenum] == '{':
if not Match(r'^(?:\s*\b(?:FUNC_ATTR|REAL_FATTR)_\w+\b(?:\(\d+(, \d+)*\))?)+$',
clean_lines.lines[func_start_linenum]):
attrline = Match(r'^((?!# *define).*?)(?:FUNC_ATTR|FUNC_API|REAL_FATTR)_\w+(?:\(\d+(, \d+)*\))?',
clean_lines.lines[func_start_linenum])
if attrline:
if len(attrline.group(1)) != 2:
error(filename, func_start_linenum,
'whitespace/indent', 5,
'Function attribute line should have 2-space '
'indent')
func_start_linenum += 1
else:
if clean_lines.lines[func_start_linenum].endswith('{'):
error(filename, func_start_linenum,
'readability/braces', 5,
'Brace starting function body must be placed '
'after the function signature')
break
else:
func_start_linenum += 1
# An else clause should be on the same line as the preceding closing brace.
# If there is no preceding closing brace, there should be one.

View File

@ -81,7 +81,8 @@ static inline bool equalpos(pos_T, pos_T)
REAL_FATTR_CONST REAL_FATTR_ALWAYS_INLINE;
static inline bool ltoreq(pos_T, pos_T)
REAL_FATTR_CONST REAL_FATTR_ALWAYS_INLINE;
static inline void clearpos(pos_T *) REAL_FATTR_ALWAYS_INLINE;
static inline void clearpos(pos_T *)
REAL_FATTR_ALWAYS_INLINE;
/// Return true if position a is before (less than) position b.
static inline bool lt(pos_T a, pos_T b)