From c868293abc9f1e8ba5af9587ca92526f478de2b1 Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Tue, 26 Jul 2016 14:27:03 -0700 Subject: [PATCH] Add performance* to default global tidy checks. * This enables 5 performance related checks: performance-faster-string-find performance-for-range-copy performance-implicit-cast-in-loop performance-unnecessary-copy-initialization performance-unnecessary-value-param * Recognize these new warnings in warn.py. Bug: http://b/27779618 Change-Id: I7af3fdc262dd44db90d3b62eb37c5eac5a2eaa01 Test: build with WITH_TIDY=1 and run warn.py with build.log --- core/clang/tidy.mk | 8 +++++--- tools/warn.py | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/core/clang/tidy.mk b/core/clang/tidy.mk index 35871f0aa..d50b43d49 100644 --- a/core/clang/tidy.mk +++ b/core/clang/tidy.mk @@ -15,10 +15,12 @@ # # Most Android source files are not clang-tidy clean yet. -# Global tidy checks include only google* and misc-macro-parentheses, -# but not google-readability* or google-runtime-references. +# Global tidy checks include only google*, performance*, +# and misc-macro-parentheses, but not google-readability* +# or google-runtime-references. DEFAULT_GLOBAL_TIDY_CHECKS := \ - -*,google*,-google-readability*,-google-runtime-references,misc-macro-parentheses + -*,google*,performance*,misc-macro-parentheses \ + ,-google-readability*,-google-runtime-references # Disable style rules usually not followed by external projects. # Every word in DEFAULT_LOCAL_TIDY_CHECKS list has the following format: diff --git a/tools/warn.py b/tools/warn.py index 51349af80..c819d7fa6 100755 --- a/tools/warn.py +++ b/tools/warn.py @@ -1773,6 +1773,21 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy misc', 'patterns':[r".*: .+\[misc-.+\]$"] }, + { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', + 'description':'clang-tidy performance-faster-string-find', + 'patterns':[r".*: .+\[performance-faster-string-find\]$"] }, + { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', + 'description':'clang-tidy performance-for-range-copy', + 'patterns':[r".*: .+\[performance-for-range-copy\]$"] }, + { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', + 'description':'clang-tidy performance-implicit-cast-in-loop', + 'patterns':[r".*: .+\[performance-implicit-cast-in-loop\]$"] }, + { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', + 'description':'clang-tidy performance-unnecessary-copy-initialization', + 'patterns':[r".*: .+\[performance-unnecessary-copy-initialization\]$"] }, + { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', + 'description':'clang-tidy performance-unnecessary-value-param', + 'patterns':[r".*: .+\[performance-unnecessary-value-param\]$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy CERT', 'patterns':[r".*: .+\[cert-.+\]$"] },