1*9e94795aSAndroid Build Coastguard Worker# python3 2*9e94795aSAndroid Build Coastguard Worker# Copyright (C) 2019 The Android Open Source Project 3*9e94795aSAndroid Build Coastguard Worker# 4*9e94795aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 5*9e94795aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 6*9e94795aSAndroid Build Coastguard Worker# You may obtain a copy of the License at 7*9e94795aSAndroid Build Coastguard Worker# 8*9e94795aSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 9*9e94795aSAndroid Build Coastguard Worker# 10*9e94795aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*9e94795aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 12*9e94795aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*9e94795aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 14*9e94795aSAndroid Build Coastguard Worker# limitations under the License. 15*9e94795aSAndroid Build Coastguard Worker 16*9e94795aSAndroid Build Coastguard Worker"""Warning patterns for clang-tidy.""" 17*9e94795aSAndroid Build Coastguard Worker 18*9e94795aSAndroid Build Coastguard Worker# No need of doc strings for trivial small functions. 19*9e94795aSAndroid Build Coastguard Worker# pylint:disable=missing-function-docstring 20*9e94795aSAndroid Build Coastguard Worker 21*9e94795aSAndroid Build Coastguard Worker# pylint:disable=relative-beyond-top-level 22*9e94795aSAndroid Build Coastguard Workerfrom .cpp_warn_patterns import compile_patterns 23*9e94795aSAndroid Build Coastguard Workerfrom .severity import Severity 24*9e94795aSAndroid Build Coastguard Worker 25*9e94795aSAndroid Build Coastguard Worker 26*9e94795aSAndroid Build Coastguard Workerdef tidy_warn(description, patterns): 27*9e94795aSAndroid Build Coastguard Worker return { 28*9e94795aSAndroid Build Coastguard Worker 'category': 'C/C++', 29*9e94795aSAndroid Build Coastguard Worker 'severity': Severity.TIDY, 30*9e94795aSAndroid Build Coastguard Worker 'description': 'clang-tidy ' + description, 31*9e94795aSAndroid Build Coastguard Worker 'patterns': patterns, 32*9e94795aSAndroid Build Coastguard Worker } 33*9e94795aSAndroid Build Coastguard Worker 34*9e94795aSAndroid Build Coastguard Worker 35*9e94795aSAndroid Build Coastguard Workerdef tidy_warn_pattern(description, pattern): 36*9e94795aSAndroid Build Coastguard Worker return tidy_warn(description, [r'.*: .+\[' + pattern + r'\]$']) 37*9e94795aSAndroid Build Coastguard Worker 38*9e94795aSAndroid Build Coastguard Worker 39*9e94795aSAndroid Build Coastguard Workerdef simple_tidy_warn_pattern(description): 40*9e94795aSAndroid Build Coastguard Worker return tidy_warn_pattern(description, description) 41*9e94795aSAndroid Build Coastguard Worker 42*9e94795aSAndroid Build Coastguard Worker 43*9e94795aSAndroid Build Coastguard Workerdef group_tidy_warn_pattern(description): 44*9e94795aSAndroid Build Coastguard Worker return tidy_warn_pattern(description, description + r'-.+') 45*9e94795aSAndroid Build Coastguard Worker 46*9e94795aSAndroid Build Coastguard Worker 47*9e94795aSAndroid Build Coastguard Workerdef analyzer_high(description, patterns): 48*9e94795aSAndroid Build Coastguard Worker return { 49*9e94795aSAndroid Build Coastguard Worker 'category': 'C/C++', 50*9e94795aSAndroid Build Coastguard Worker 'severity': Severity.HIGH, 51*9e94795aSAndroid Build Coastguard Worker 'description': description, 52*9e94795aSAndroid Build Coastguard Worker 'patterns': patterns 53*9e94795aSAndroid Build Coastguard Worker } 54*9e94795aSAndroid Build Coastguard Worker 55*9e94795aSAndroid Build Coastguard Worker 56*9e94795aSAndroid Build Coastguard Workerdef analyzer_high_check(check): 57*9e94795aSAndroid Build Coastguard Worker return analyzer_high(check, [r'.*: .+\[' + check + r'\]$']) 58*9e94795aSAndroid Build Coastguard Worker 59*9e94795aSAndroid Build Coastguard Worker 60*9e94795aSAndroid Build Coastguard Workerdef analyzer_group_high(check): 61*9e94795aSAndroid Build Coastguard Worker return analyzer_high(check, [r'.*: .+\[' + check + r'.+\]$']) 62*9e94795aSAndroid Build Coastguard Worker 63*9e94795aSAndroid Build Coastguard Worker 64*9e94795aSAndroid Build Coastguard Workerdef analyzer_warn(description, patterns): 65*9e94795aSAndroid Build Coastguard Worker return { 66*9e94795aSAndroid Build Coastguard Worker 'category': 'C/C++', 67*9e94795aSAndroid Build Coastguard Worker 'severity': Severity.ANALYZER, 68*9e94795aSAndroid Build Coastguard Worker 'description': description, 69*9e94795aSAndroid Build Coastguard Worker 'patterns': patterns 70*9e94795aSAndroid Build Coastguard Worker } 71*9e94795aSAndroid Build Coastguard Worker 72*9e94795aSAndroid Build Coastguard Worker 73*9e94795aSAndroid Build Coastguard Workerdef analyzer_warn_check(check): 74*9e94795aSAndroid Build Coastguard Worker return analyzer_warn(check, [r'.*: .+\[' + check + r'\]$']) 75*9e94795aSAndroid Build Coastguard Worker 76*9e94795aSAndroid Build Coastguard Worker 77*9e94795aSAndroid Build Coastguard Workerdef analyzer_group_check(check): 78*9e94795aSAndroid Build Coastguard Worker return analyzer_warn(check, [r'.*: .+\[' + check + r'.+\]$']) 79*9e94795aSAndroid Build Coastguard Worker 80*9e94795aSAndroid Build Coastguard Worker 81*9e94795aSAndroid Build Coastguard Workerwarn_patterns = [ 82*9e94795aSAndroid Build Coastguard Worker # pylint does not recognize g-inconsistent-quotes 83*9e94795aSAndroid Build Coastguard Worker # pylint:disable=line-too-long,bad-option-value,g-inconsistent-quotes 84*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('altera'), 85*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('android'), 86*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('abseil-string-find-startswith'), 87*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-argument-comment'), 88*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-branch-clone'), 89*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-copy-constructor-init'), 90*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-fold-init-type'), 91*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-forward-declaration-namespace'), 92*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-forwarding-reference-overload'), 93*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-inaccurate-erase'), 94*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-incorrect-roundings'), 95*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-integer-division'), 96*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-lambda-function-name'), 97*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-macro-parentheses'), 98*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-misplaced-widening-cast'), 99*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-move-forwarding-reference'), 100*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-parent-virtual-call'), 101*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-posix-return'), 102*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-sizeof-container'), 103*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-sizeof-expression'), 104*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-string-constructor'), 105*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-string-integer-assignment'), 106*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-suspicious-enum-usage'), 107*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-suspicious-missing-comma'), 108*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-suspicious-string-compare'), 109*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-suspicious-semicolon'), 110*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-terminating-continue'), 111*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-too-small-loop-variable'), 112*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-undefined-memory-manipulation'), 113*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-unhandled-self-assignment'), 114*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-unused-raii'), 115*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-unused-return-value'), 116*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('bugprone-use-after-move'), 117*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('bugprone'), 118*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-dcl16-c'), 119*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-dcl21-cpp'), 120*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-dcl50-cpp'), 121*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-dcl54-cpp'), 122*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-dcl59-cpp'), 123*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-env33-c'), 124*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-err34-c'), 125*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-err52-cpp'), 126*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-msc30-c'), 127*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-msc50-cpp'), 128*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('cert-oop54-cpp'), 129*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('cert'), 130*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('clang-diagnostic'), 131*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('concurrency'), 132*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('cppcoreguidelines'), 133*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('fuchsia'), 134*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('google-default-arguments'), 135*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('google-runtime-int'), 136*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('google-runtime-operator'), 137*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('google-runtime-references'), 138*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google-build'), 139*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google-explicit'), 140*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google-redability'), 141*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google-global'), 142*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google-redability'), 143*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google-redability'), 144*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('google'), 145*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-explicit-conversions'), 146*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-function-size'), 147*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-invalid-access-moved'), 148*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-member-init'), 149*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-delete-operators'), 150*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-special-member-functions'), 151*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-use-equals-default'), 152*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-use-equals-delete'), 153*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-no-assembler'), 154*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-noexcept-move'), 155*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('hicpp-use-override'), 156*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('hicpp'), 157*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('llvm'), 158*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('llvmlibc'), 159*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('misc'), 160*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('modernize'), 161*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-faster-string-find'), 162*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-for-range-copy'), 163*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-implicit-cast-in-loop'), 164*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-inefficient-string-concatenation'), 165*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-type-promotion-in-math-fn'), 166*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-unnecessary-copy-initialization'), 167*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('performance-unnecessary-value-param'), 168*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('portability-simd-intrinsics'), 169*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('performance'), 170*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('readability'), 171*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('abseil-string-find-startwith'), 172*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('abseil-faster-strsplit-delimiter'), 173*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('abseil-no-namespace'), 174*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('abseil-no-internal-dependencies'), 175*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('abseil'), 176*9e94795aSAndroid Build Coastguard Worker simple_tidy_warn_pattern('portability-simd-intrinsics'), 177*9e94795aSAndroid Build Coastguard Worker group_tidy_warn_pattern('portability'), 178*9e94795aSAndroid Build Coastguard Worker 179*9e94795aSAndroid Build Coastguard Worker tidy_warn('TIMEOUT', [r".*: warning: clang-tidy aborted "]), 180*9e94795aSAndroid Build Coastguard Worker tidy_warn('Long Runs', [r".*: warning: clang-tidy used "]), 181*9e94795aSAndroid Build Coastguard Worker 182*9e94795aSAndroid Build Coastguard Worker # warnings from clang-tidy's clang-analyzer checks 183*9e94795aSAndroid Build Coastguard Worker analyzer_high('clang-analyzer-core, null pointer', 184*9e94795aSAndroid Build Coastguard Worker [r".*: warning: .+ pointer is null .*\[clang-analyzer-core"]), 185*9e94795aSAndroid Build Coastguard Worker analyzer_high('clang-analyzer-core, uninitialized value', 186*9e94795aSAndroid Build Coastguard Worker [r".*: warning: .+ uninitialized (value|data) .*\[clang-analyzer-core"]), 187*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer-optin.performance.Padding', 188*9e94795aSAndroid Build Coastguard Worker [r".*: warning: Excessive padding in '.*'"]), 189*9e94795aSAndroid Build Coastguard Worker # analyzer_warn('clang-analyzer Unreachable code', 190*9e94795aSAndroid Build Coastguard Worker # [r".*: warning: This statement is never executed.*UnreachableCode"]), 191*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer Size of malloc may overflow', 192*9e94795aSAndroid Build Coastguard Worker [r".*: warning: .* size of .* may overflow .*MallocOverflow"]), 193*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer sozeof() on a pointer type', 194*9e94795aSAndroid Build Coastguard Worker [r".*: warning: .*calls sizeof.* on a pointer type.*SizeofPtr"]), 195*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer Pointer arithmetic on non-array variables', 196*9e94795aSAndroid Build Coastguard Worker [r".*: warning: Pointer arithmetic on non-array variables .*PointerArithm"]), 197*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer Subtraction of pointers of different memory chunks', 198*9e94795aSAndroid Build Coastguard Worker [r".*: warning: Subtraction of two pointers .*PointerSub"]), 199*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer Access out-of-bound array element', 200*9e94795aSAndroid Build Coastguard Worker [r".*: warning: Access out-of-bound array element .*ArrayBound"]), 201*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer Out of bound memory access', 202*9e94795aSAndroid Build Coastguard Worker [r".*: warning: Out of bound memory access .*ArrayBoundV2"]), 203*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer Possible lock order reversal', 204*9e94795aSAndroid Build Coastguard Worker [r".*: warning: .* Possible lock order reversal.*PthreadLock"]), 205*9e94795aSAndroid Build Coastguard Worker analyzer_warn('clang-analyzer call path problems', 206*9e94795aSAndroid Build Coastguard Worker [r".*: warning: Call Path : .+"]), 207*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.CallAndMessage'), 208*9e94795aSAndroid Build Coastguard Worker analyzer_high_check('clang-analyzer-core.NonNullParamChecker'), 209*9e94795aSAndroid Build Coastguard Worker analyzer_high_check('clang-analyzer-core.NullDereference'), 210*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.UndefinedBinaryOperatorResult'), 211*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.DivideZero'), 212*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.VLASize'), 213*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.uninitialized.ArraySubscript'), 214*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.uninitialized.Assign'), 215*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-core.uninitialized.UndefReturn'), 216*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-cplusplus.Move'), 217*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-deadcode.DeadStores'), 218*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-optin.cplusplus.UninitializedObject'), 219*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-optin.cplusplus.VirtualCall'), 220*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-portability.UnixAPI'), 221*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-unix.cstring.NullArg'), 222*9e94795aSAndroid Build Coastguard Worker analyzer_high_check('clang-analyzer-unix.MallocSizeof'), 223*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-valist.Uninitialized'), 224*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-valist.Unterminated'), 225*9e94795aSAndroid Build Coastguard Worker analyzer_group_check('clang-analyzer-core.uninitialized'), 226*9e94795aSAndroid Build Coastguard Worker analyzer_group_check('clang-analyzer-deadcode'), 227*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling'), 228*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-security.insecureAPI.bcmp'), 229*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-security.insecureAPI.bcopy'), 230*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-security.insecureAPI.bzero'), 231*9e94795aSAndroid Build Coastguard Worker analyzer_warn_check('clang-analyzer-security.insecureAPI.strcpy'), 232*9e94795aSAndroid Build Coastguard Worker analyzer_group_high('clang-analyzer-security.insecureAPI'), 233*9e94795aSAndroid Build Coastguard Worker analyzer_group_high('clang-analyzer-security'), 234*9e94795aSAndroid Build Coastguard Worker analyzer_high_check('clang-analyzer-unix.Malloc'), 235*9e94795aSAndroid Build Coastguard Worker analyzer_high_check('clang-analyzer-cplusplus.NewDeleteLeaks'), 236*9e94795aSAndroid Build Coastguard Worker analyzer_high_check('clang-analyzer-cplusplus.NewDelete'), 237*9e94795aSAndroid Build Coastguard Worker analyzer_group_check('clang-analyzer-unix'), 238*9e94795aSAndroid Build Coastguard Worker analyzer_group_check('clang-analyzer'), # catch all 239*9e94795aSAndroid Build Coastguard Worker] 240*9e94795aSAndroid Build Coastguard Worker 241*9e94795aSAndroid Build Coastguard Worker 242*9e94795aSAndroid Build Coastguard Workercompile_patterns(warn_patterns) 243