mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:10 +00:00
scripts/checkpatch: ignore spaces required around some operators in C++
C++ has a different style when it comes to space around references,
dereferences, so don't report it.
Also, closing templates with >> gets wrongly confused with >> operator,
so just relax this check.
Some examples:
ERROR: spaces required around that '&' (ctx:WxV)
+ auto &[counter, p] = *static_cast<TbData*>(udata);
^
ERROR: spaces required around that '*' (ctx:VxO)
+ auto &[counter, p] = *static_cast<TbData*>(udata);
^
ERROR: spaces required around that '>>' (ctx:VxW)
+ std::vector<std::pair<Vaddr, uint64_t>> v; ^
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Link: https://lore.kernel.org/qemu-devel/20260615193526.2883349-25-pierrick.bouvier@oss.qualcomm.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
This commit is contained in:
@@ -2621,6 +2621,31 @@ sub process {
|
||||
if ($op eq '::') {
|
||||
$ok = 1;
|
||||
}
|
||||
|
||||
# Ignore * in C++: templates and
|
||||
# pointer types are incorrectly
|
||||
# flagged. Example:
|
||||
# static_cast<T*>
|
||||
if ($op eq '*') {
|
||||
$ok = 1;
|
||||
}
|
||||
|
||||
# Ignore & in C++: & means a
|
||||
# reference, and this create
|
||||
# issues with some constructions.
|
||||
# Example:
|
||||
# auto &[first, second] = pair;
|
||||
if ($op eq '&') {
|
||||
$ok = 1;
|
||||
}
|
||||
|
||||
# Ignore >> in C++
|
||||
# checkpatch is confused by
|
||||
# >> closing templates. Example:
|
||||
# vector<pair<A, B>>
|
||||
if ($op eq '>>') {
|
||||
$ok = 1;
|
||||
}
|
||||
}
|
||||
|
||||
# Ignore email addresses <foo@bar>
|
||||
|
||||
Reference in New Issue
Block a user