Commit b8265f10 authored by Derek Morris's avatar Derek Morris Committed by LUCI CQ

Add cpplint support for space before [[attributes]]

Cpplint.py supports checking for spaces in front of square brackets;
this is a style violation in most cases (with the typical case being
arrays), but there are already situations where this rule is skipped
for the square bracket used for lambda captures. We add another such
exclusion here for the case of c++ attributes.

Change-Id: I2d4f972be29f5427cb8d855787c90dfa5d610e86
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2151125
Commit-Queue: Derek Morris <demorri@microsoft.com>
Reviewed-by: 's avatarEdward Lesmes <ehmaldonado@chromium.org>
parent cca5c49d
......@@ -3161,8 +3161,11 @@ def CheckSpacing(filename, clean_lines, linenum, nesting_state, error):
line = clean_lines.elided[linenum]
# You shouldn't have spaces before your brackets, except maybe after
# 'delete []' or 'return []() {};'
if Search(r'\w\s+\[', line) and not Search(r'(?:delete|return)\s+\[', line):
# 'delete []' or 'return []() {};', or in the case of c++ attributes
# like 'class [[clang::lto_visibility_public]] MyClass'.
if (Search(r'\w\s+\[', line)
and not Search(r'(?:delete|return)\s+\[', line)
and not Search(r'\s+\[\[', line)):
error(filename, linenum, 'whitespace/braces', 5,
'Extra space before [')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment