Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
3ff10e1e
Commit
3ff10e1e
authored
Sep 29, 2018
by
Paul
Browse files
Add more checks
parent
a9c48b34
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
200 additions
and
2 deletions
+200
-2
cppcheck.rules
cppcheck.rules
+198
-0
src/opt/memory_coloring_impl.hpp
src/opt/memory_coloring_impl.hpp
+2
-2
No files found.
cppcheck.rules
View file @
3ff10e1e
...
@@ -90,3 +90,201 @@
...
@@ -90,3 +90,201 @@
<summary>
Double negative is always positive
</summary>
<summary>
Double negative is always positive
</summary>
</message>
</message>
</rule>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[if \( \w+ (\||&) \w+ \)]]>
</pattern>
<message>
<id>
BitwiseOperatorInConditional
</id>
<severity>
style
</severity>
<summary>
Bitwise operator found in if statement.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[if \( [^)]+ \) { if \( [^)]+ \) ({[^{}]*(?1)*[^{}]*}) }]]>
</pattern>
<message>
<id>
CollapsibleIfStatements
</id>
<severity>
style
</severity>
<summary>
These two if statements can be collapsed into one.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[catch \( [^())]+ \) { }]]>
</pattern>
<message>
<id>
EmptyCatchStatement
</id>
<severity>
style
</severity>
<summary>
An empty catch statement.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[do { } while \(]]>
</pattern>
<message>
<id>
EmptyDoWhileStatement
</id>
<severity>
style
</severity>
<summary>
Empty do-while.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[else { }]]>
</pattern>
<message>
<id>
EmptyElseBlock
</id>
<severity>
style
</severity>
<summary>
Empty else statement can be safely removed.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[for \( [^()]+ \) { }]]>
</pattern>
<message>
<id>
EmptyForStatement
</id>
<severity>
style
</severity>
<summary>
Empty for statement.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[if \( [^()]+ \) { }]]>
</pattern>
<message>
<id>
EmptyIfStatement
</id>
<severity>
style
</severity>
<summary>
Empty if statement.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[switch \( [^()]+ \) { }]]>
</pattern>
<message>
<id>
EmptySwitchStatement
</id>
<severity>
style
</severity>
<summary>
Empty switch statement.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[while \( [^()]+ \) { }]]>
</pattern>
<message>
<id>
EmptyWhileStatement
</id>
<severity>
style
</severity>
<summary>
Empty while statement.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[ for \( ; [^;]+ ; \)]]>
</pattern>
<message>
<id>
ForLoopShouldBeWhileLoop
</id>
<severity>
style
</severity>
<summary>
For loop should be written as a while loop.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
goto
</pattern>
<message>
<id>
GotoStatement
</id>
<severity>
style
</severity>
<summary>
Goto considered harmful.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[if \( \w+ != \w+ \) ({[^{}]*(?1)*[^{}]*}) else { (?!if)]]>
</pattern>
<message>
<id>
InvertedLogic
</id>
<severity>
style
</severity>
<summary>
It is cleaner to invert the logic.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[if \( ! \w+ \) ({[^{}]*(?1)*[^{}]*}) else { (?!if)]]>
</pattern>
<message>
<id>
InvertedLogic
</id>
<severity>
style
</severity>
<summary>
It is cleaner to invert the logic.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[\w+ != \w+ \?]]>
</pattern>
<message>
<id>
InvertedLogic
</id>
<severity>
style
</severity>
<summary>
It is cleaner to invert the logic.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[! \w+ \?]]>
</pattern>
<message>
<id>
InvertedLogic
</id>
<severity>
style
</severity>
<summary>
It is cleaner to invert the logic.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[\? (true|false) : (true|false)]]>
</pattern>
<message>
<id>
RedundantConditionalOperator
</id>
<severity>
style
</severity>
<summary>
Conditional operator is redundant.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[if \( [^()]+ \) { return (true|false) ; } else { return (true|false) ; }]]>
</pattern>
<message>
<id>
RedundantIfStatement
</id>
<severity>
style
</severity>
<summary>
The if statement is redundant.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = \w+ \[ \1 \] ; }]]>
</pattern>
<message>
<id>
useStlAlgorithm
</id>
<severity>
style
</severity>
<summary>
Considering using std::copy instead.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = \w+ ; }]]>
</pattern>
<message>
<id>
useStlAlgorithm
</id>
<severity>
style
</severity>
<summary>
Considering using std::fill instead.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = (\w+ :: )*\w+ \( \) ; }]]>
</pattern>
<message>
<id>
useStlAlgorithm
</id>
<severity>
style
</severity>
<summary>
Considering using std::generate instead.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = (\w+ :: )*\w+ \( \w+ \[ \1 \] \) ; }]]>
</pattern>
<message>
<id>
useStlAlgorithm
</id>
<severity>
style
</severity>
<summary>
Considering using std::transform instead.
</summary>
</message>
</rule>
<rule>
<tokenlist>
normal
</tokenlist>
<pattern>
<![CDATA[for \( \w+ (\w+) = \w+ ; \1 < \w+ ; (\1 \+\+|\+\+ \1|\1 \-\-|\-\- \1) \) { \w+ \[ \1 \] = (\w+ :: )*\w+ \( \w+ \[ \1 \] , \w+ \[ \1 \] \) ; }]]>
</pattern>
<message>
<id>
useStlAlgorithm
</id>
<severity>
style
</severity>
<summary>
Considering using std::transform instead.
</summary>
</message>
</rule>
src/opt/memory_coloring_impl.hpp
View file @
3ff10e1e
...
@@ -138,11 +138,11 @@ struct memory_coloring_impl
...
@@ -138,11 +138,11 @@ struct memory_coloring_impl
int
len2
=
i2
->
get_end
()
-
i2
->
get_begin
();
int
len2
=
i2
->
get_end
()
-
i2
->
get_begin
();
if
(
len1
!=
len2
)
if
(
len1
!=
len2
)
{
{
return
(
len1
<
len2
)
?
true
:
false
;
return
(
len1
<
len2
);
}
}
else
if
(
i1
->
result
.
bytes
()
!=
i2
->
result
.
bytes
())
else
if
(
i1
->
result
.
bytes
()
!=
i2
->
result
.
bytes
())
{
{
return
(
i1
->
result
.
bytes
()
<
i2
->
result
.
bytes
())
?
true
:
false
;
return
(
i1
->
result
.
bytes
()
<
i2
->
result
.
bytes
());
}
}
else
else
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment