Loading tools/warn.py +61 −6 Original line number Diff line number Diff line Loading @@ -128,6 +128,9 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.HIGH, 'members':[], 'option':'-fno-builtin', 'description':'Incompatible declaration of built in function', 'patterns':[r".*: warning: incompatible implicit declaration of built-in function .+"] }, { 'category':'C/C++', 'severity':severity.HIGH, 'members':[], 'option':'-Wincompatible-library-redeclaration', 'description':'Incompatible redeclaration of library function', 'patterns':[r".*: warning: incompatible redeclaration of library function .+"] }, { 'category':'C/C++', 'severity':severity.HIGH, 'members':[], 'option':'', 'description':'Null passed as non-null argument', 'patterns':[r".*: warning: Null passed to a callee that requires a non-null"] }, Loading Loading @@ -362,6 +365,9 @@ warnpatterns = [ { 'category':'java', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'Java: Unchecked conversion', 'patterns':[r".*: warning: \[unchecked\] unchecked conversion"] }, { 'category':'java', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'_ used as an identifier', 'patterns':[r".*: warning: '_' used as an identifier"] }, # Warnings from Error Prone. {'category': 'java', Loading Loading @@ -1487,6 +1493,10 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.LOW, 'members':[], 'option':'-Wcomment', 'description':'Comment inside comment', 'patterns':[r".*: warning: "".+"" within comment"] }, # Warning "value stored is never read" could be from clang-tidy or clang static analyzer. { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy Value stored is never read', 'patterns':[r".*: warning: Value stored to .+ is never read.*clang-analyzer-deadcode.DeadStores"] }, { 'category':'C/C++', 'severity':severity.LOW, 'members':[], 'option':'', 'description':'Value stored is never read', 'patterns':[r".*: warning: Value stored to .+ is never read"] }, Loading Loading @@ -1544,7 +1554,7 @@ warnpatterns = [ r".*: warning: wrong type argument to increment"] }, { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'-Wsign-promo', 'description':'Overload resolution chose to promote from unsigned or enum to signed type' , 'patterns':[r".*: warning: passing '.+' chooses 'int' over '.* int'"] }, 'patterns':[r".*: warning: passing '.+' chooses '.+' over '.+'.*Wsign-promo"] }, { 'category':'cont.', 'severity':severity.SKIP, 'members':[], 'option':'', 'description':'', 'patterns':[r".*: warning: in call to '.+'"] }, Loading Loading @@ -1708,6 +1718,12 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'Result of malloc type incompatible with sizeof operand type', 'patterns':[r".*: warning: Result of '.+' is converted to .+ incompatible with sizeof operand type"] }, { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'-Wfor-loop-analysis', 'description':'Variable used in loop condition not modified in loop body', 'patterns':[r".*: warning: variable '.+' used in loop condition.*Wfor-loop-analysis"] }, { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'Closing a previously closed file', 'patterns':[r".*: warning: Closing a previously closed file"] }, { 'category':'C/C++', 'severity':severity.HARMLESS, 'members':[], 'option':'', 'description':'Discarded qualifier from pointer target type', Loading Loading @@ -1793,6 +1809,49 @@ warnpatterns = [ { '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-analyzer Unreachable code', 'patterns':[r".*: warning: This statement is never executed.*UnreachableCode"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Size of malloc may overflow', 'patterns':[r".*: warning: .* size of .* may overflow .*MallocOverflow"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Stream pointer might be NULL', 'patterns':[r".*: warning: Stream pointer might be NULL .*unix.Stream"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Opened file never closed', 'patterns':[r".*: warning: Opened File never closed.*unix.Stream"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer sozeof() on a pointer type', 'patterns':[r".*: warning: .*calls sizeof.* on a pointer type.*SizeofPtr"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Pointer arithmetic on non-array variables', 'patterns':[r".*: warning: Pointer arithmetic on non-array variables .*PointerArithm"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Subtraction of pointers of different memory chunks', 'patterns':[r".*: warning: Subtraction of two pointers .*PointerSub"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Access out-of-bound array element', 'patterns':[r".*: warning: Access out-of-bound array element .*ArrayBound"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Out of bound memory access', 'patterns':[r".*: warning: Out of bound memory access .*ArrayBoundV2"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Possible lock order reversal', 'patterns':[r".*: warning: .* Possible lock order reversal.*PthreadLock"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Argument is a pointer to uninitialized value', 'patterns':[r".*: warning: .* argument is a pointer to uninitialized value .*CallAndMessage"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer cast to struct', 'patterns':[r".*: warning: Casting a non-structure type to a structure type .*CastToStruct"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer call path problems', 'patterns':[r".*: warning: Call Path : .+"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer other', 'patterns':[r".*: .+\[clang-analyzer-.+\]$", r".*: Call Path : .+$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy CERT', 'patterns':[r".*: .+\[cert-.+\]$"] }, Loading @@ -1800,12 +1859,8 @@ warnpatterns = [ 'description':'clang-tidy llvm', 'patterns':[r".*: .+\[llvm-.+\]$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy clang-diagnostic', 'description':'clang-diagnostic', 'patterns':[r".*: .+\[clang-diagnostic-.+\]$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy clang-analyzer', 'patterns':[r".*: .+\[clang-analyzer-.+\]$", r".*: Call Path : .+$"] }, # catch-all for warnings this script doesn't know about yet { 'category':'C/C++', 'severity':severity.UNKNOWN, 'members':[], 'option':'', Loading Loading
tools/warn.py +61 −6 Original line number Diff line number Diff line Loading @@ -128,6 +128,9 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.HIGH, 'members':[], 'option':'-fno-builtin', 'description':'Incompatible declaration of built in function', 'patterns':[r".*: warning: incompatible implicit declaration of built-in function .+"] }, { 'category':'C/C++', 'severity':severity.HIGH, 'members':[], 'option':'-Wincompatible-library-redeclaration', 'description':'Incompatible redeclaration of library function', 'patterns':[r".*: warning: incompatible redeclaration of library function .+"] }, { 'category':'C/C++', 'severity':severity.HIGH, 'members':[], 'option':'', 'description':'Null passed as non-null argument', 'patterns':[r".*: warning: Null passed to a callee that requires a non-null"] }, Loading Loading @@ -362,6 +365,9 @@ warnpatterns = [ { 'category':'java', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'Java: Unchecked conversion', 'patterns':[r".*: warning: \[unchecked\] unchecked conversion"] }, { 'category':'java', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'_ used as an identifier', 'patterns':[r".*: warning: '_' used as an identifier"] }, # Warnings from Error Prone. {'category': 'java', Loading Loading @@ -1487,6 +1493,10 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.LOW, 'members':[], 'option':'-Wcomment', 'description':'Comment inside comment', 'patterns':[r".*: warning: "".+"" within comment"] }, # Warning "value stored is never read" could be from clang-tidy or clang static analyzer. { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy Value stored is never read', 'patterns':[r".*: warning: Value stored to .+ is never read.*clang-analyzer-deadcode.DeadStores"] }, { 'category':'C/C++', 'severity':severity.LOW, 'members':[], 'option':'', 'description':'Value stored is never read', 'patterns':[r".*: warning: Value stored to .+ is never read"] }, Loading Loading @@ -1544,7 +1554,7 @@ warnpatterns = [ r".*: warning: wrong type argument to increment"] }, { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'-Wsign-promo', 'description':'Overload resolution chose to promote from unsigned or enum to signed type' , 'patterns':[r".*: warning: passing '.+' chooses 'int' over '.* int'"] }, 'patterns':[r".*: warning: passing '.+' chooses '.+' over '.+'.*Wsign-promo"] }, { 'category':'cont.', 'severity':severity.SKIP, 'members':[], 'option':'', 'description':'', 'patterns':[r".*: warning: in call to '.+'"] }, Loading Loading @@ -1708,6 +1718,12 @@ warnpatterns = [ { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'Result of malloc type incompatible with sizeof operand type', 'patterns':[r".*: warning: Result of '.+' is converted to .+ incompatible with sizeof operand type"] }, { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'-Wfor-loop-analysis', 'description':'Variable used in loop condition not modified in loop body', 'patterns':[r".*: warning: variable '.+' used in loop condition.*Wfor-loop-analysis"] }, { 'category':'C/C++', 'severity':severity.MEDIUM, 'members':[], 'option':'', 'description':'Closing a previously closed file', 'patterns':[r".*: warning: Closing a previously closed file"] }, { 'category':'C/C++', 'severity':severity.HARMLESS, 'members':[], 'option':'', 'description':'Discarded qualifier from pointer target type', Loading Loading @@ -1793,6 +1809,49 @@ warnpatterns = [ { '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-analyzer Unreachable code', 'patterns':[r".*: warning: This statement is never executed.*UnreachableCode"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Size of malloc may overflow', 'patterns':[r".*: warning: .* size of .* may overflow .*MallocOverflow"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Stream pointer might be NULL', 'patterns':[r".*: warning: Stream pointer might be NULL .*unix.Stream"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Opened file never closed', 'patterns':[r".*: warning: Opened File never closed.*unix.Stream"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer sozeof() on a pointer type', 'patterns':[r".*: warning: .*calls sizeof.* on a pointer type.*SizeofPtr"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Pointer arithmetic on non-array variables', 'patterns':[r".*: warning: Pointer arithmetic on non-array variables .*PointerArithm"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Subtraction of pointers of different memory chunks', 'patterns':[r".*: warning: Subtraction of two pointers .*PointerSub"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Access out-of-bound array element', 'patterns':[r".*: warning: Access out-of-bound array element .*ArrayBound"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Out of bound memory access', 'patterns':[r".*: warning: Out of bound memory access .*ArrayBoundV2"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Possible lock order reversal', 'patterns':[r".*: warning: .* Possible lock order reversal.*PthreadLock"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer Argument is a pointer to uninitialized value', 'patterns':[r".*: warning: .* argument is a pointer to uninitialized value .*CallAndMessage"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer cast to struct', 'patterns':[r".*: warning: Casting a non-structure type to a structure type .*CastToStruct"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer call path problems', 'patterns':[r".*: warning: Call Path : .+"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-analyzer other', 'patterns':[r".*: .+\[clang-analyzer-.+\]$", r".*: Call Path : .+$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy CERT', 'patterns':[r".*: .+\[cert-.+\]$"] }, Loading @@ -1800,12 +1859,8 @@ warnpatterns = [ 'description':'clang-tidy llvm', 'patterns':[r".*: .+\[llvm-.+\]$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy clang-diagnostic', 'description':'clang-diagnostic', 'patterns':[r".*: .+\[clang-diagnostic-.+\]$"] }, { 'category':'C/C++', 'severity':severity.TIDY, 'members':[], 'option':'', 'description':'clang-tidy clang-analyzer', 'patterns':[r".*: .+\[clang-analyzer-.+\]$", r".*: Call Path : .+$"] }, # catch-all for warnings this script doesn't know about yet { 'category':'C/C++', 'severity':severity.UNKNOWN, 'members':[], 'option':'', Loading