Daniel Marjamäki
1d5e3e4f0c
Fixed #8247 (False positive knownConditionTrueFalse)
2017-10-20 17:31:58 +02:00
Daniel Marjamäki
86c84029e3
New check: Check public interface of classes ( #8248 )
2017-10-20 02:02:51 +02:00
Daniel Marjamäki
afbfc914bc
astyle formatting
...
[ci skip]
2017-10-20 01:53:20 +02:00
Dmitry-Me
5040491ee6
Size computation code not required outside this translation unit
2017-10-19 19:01:41 +03:00
Dmitry-Me
606e28a3c5
Extract and reuse size computation
2017-10-19 00:25:21 +03:00
Dmitry-Me
34a8d2431f
Extract and reuse size computation
2017-10-19 00:20:04 +03:00
Dmitry-Me
8709490903
Clarify expressions with parentheses
2017-10-18 23:40:43 +03:00
Dmitry-Me
e356ccca22
Revert "Clarify expression with parentheses"
...
This reverts commit bbf0a81c2d
.
2017-10-18 23:31:44 +03:00
Dmitry-Me
bbf0a81c2d
Clarify expression with parentheses
2017-10-18 23:24:31 +03:00
Sign Bit
aaafa72bc8
Use a 'negative cache' for tokens / enumerator checks ( #980 )
...
Checking whether a token is an enumerator in all the available scopes
is expensive. Once we determined that a token is not an enumerator,
skip all the expensive checks.
2017-10-18 18:01:36 +02:00
Dmitry-Me
151ace2581
Use Platform for char limits computation ( #972 )
2017-10-18 17:30:47 +02:00
Daniel Marjamäki
ad1749738e
Fixed #6153 (ValueFlowBeforeCondition: Handle global variables)
2017-10-17 16:55:37 +02:00
orbitcowboy
f1e5f64690
wxwidgets.cfg: Added support for wxMenu:Append().
2017-10-17 10:59:23 +02:00
Florin Iucha
6e737082da
Store the defined types in a map, for faster lookup
2017-10-17 09:00:14 +02:00
Florin Iucha
cccf035535
Memoize token nature computation
2017-10-17 09:00:14 +02:00
Daniel Marjamäki
4700b75ded
Clarify error message 'condition is always true/false'
2017-10-16 22:05:00 +02:00
Daniel Marjamäki
6d59290858
Fixed #10 (ValueFlow: condition variable has known value in switch case)
2017-10-16 21:51:30 +02:00
Daniel Marjamäki
0425f1d46d
Fixed #8241 (FP: Same expression on both sides of operator)
2017-10-16 17:39:50 +02:00
IOBYTE
352fd7a381
SymbolDatabase: Add support for functions in unions. ( #973 )
2017-10-15 11:49:36 +02:00
Dmitry-Me
e4de220a2d
Only check pointer that can be null at that point
2017-10-14 19:09:42 +03:00
Dmitry-Me
288ee96cc7
Avoid recomputing loop range end
2017-10-14 18:57:27 +03:00
orbitcowboy
db787369b9
#8243 : Changed order of includes. Moved mathlib include at first place.
2017-10-14 16:30:10 +02:00
Daniel Marjamäki
1656ecd73b
Revert changes I committed by mistake
2017-10-11 17:15:28 +02:00
Daniel Marjamäki
cc82288ff6
Travis: Suppress false positive
2017-10-11 17:14:02 +02:00
Dmitry-Me
2d1c47b474
Omit repeated map access
2017-10-11 17:36:43 +03:00
amai2012
e4cdb51f7f
#8240 Fix test error due to path handling
2017-10-11 08:45:29 +02:00
Daniel Marjamäki
fbccb3ae55
Add errorpath for accessMoved message
2017-10-10 15:49:15 +02:00
Daniel Marjamäki
abc3779e61
Tweaked the --check-library output so configured methods will not be shown
2017-10-10 10:18:03 +02:00
Daniel Marjamäki
d3c9d06aa4
astyle formatting
...
[ci skip]
2017-10-08 14:16:45 +02:00
Daniel Marjamäki
9d27917fea
c++98 compatibility
2017-10-08 14:16:18 +02:00
Dmitry-Me
9c0e6986da
Passing string literals into printf as %p is fine
2017-10-08 11:14:10 +03:00
Ayaz Salikhov
be2c65eb58
Simplify int vs bool
2017-10-08 07:54:39 +02:00
PKEuS
a29b33b833
Set version to 1.81.99/1.82 dev
2017-10-07 23:22:31 +02:00
Daniel Marjamäki
cebf34e718
1.81: Set versions
2017-10-07 12:55:36 +02:00
Daniel Marjamäki
b1c730405f
Code cleanup
2017-10-06 22:45:37 +02:00
Daniel Marjamäki
a1053dd7dd
--check-library: Report unconfigured scoped functions also
2017-10-06 11:27:01 +02:00
Daniel Marjamäki
2a6fbe2e3c
astyle formatting
...
[ci skip]
2017-10-05 23:01:42 +02:00
hexcoder
051a18b120
pull request for ticket 8180 (better diagnostic output for bailouts) ( #964 )
...
* sync build instructions from readme.txt
* refactored the patch from ticket 8180. Moved logic from macros to the bailoutInternal function
* adapt to new bailout message format
* adapt to new bailout message format
* adapt to new bailout message format
* compile fix for Microsoft platform
* remove directory part from file locations in bailout message (normalize)
* remove directory part from valueflow message filter
* adapt tests to file format without directory part
* adapt tests to file format without directory part
* new line number agnostic assert_equals methods
* new line number agnostic assert_equals methods
* adapt to new method assertEqualsWithoutLineNumbers()
* adapt to new method assertEqualsWithoutLineNumbers()
* Bugfix: do not replace line number with spaces, remove it
* review changes: const char * -> std::string, size_t -> int, std::to_string() -> MathLib::toString()
* set #line at the beginning to guard against insertions from match compiler
* Bugfix: counting lines can be difficult :-) #line 1 -> #line 2
* added method stripDirectoryPart()
* added method stripDirectoryPart()
* used new method Path::stripDirectoryPart()
* new dependency path.h in lib/valueFlow.cpp
* code cleanup, removing redundant temporary objects and casts
2017-10-05 23:03:13 +02:00
Daniel Marjamäki
13c0b4131b
--check-library: improved function name output
2017-10-05 21:50:24 +02:00
Alexey Eryomenko
22483baf72
missed simplification in parsing of std function declaration resulted in ( #967 )
...
wrong type detection
2017-10-03 22:10:13 +02:00
Oleksandr Redko
2bee664ec9
Return non-const object to enable move compiler optimization ( #966 )
2017-10-03 18:24:18 +02:00
Dmitry-Me
4601e40615
Simplify code for finding string format token
2017-10-02 18:03:55 +03:00
orbitcowboy
d9ef5c5a85
Improved const correctness of local variables.
2017-10-01 14:24:37 +02:00
Daniel Marjamäki
406ddc5c10
cleanup dead code, spotted by dmitry-me!
2017-09-30 23:05:42 +02:00
Daniel Marjamäki
9ce23203cc
Fix includes
2017-09-30 12:45:25 +02:00
Daniel Marjamäki
885f8452e4
reuse case insensitive string comparison function
2017-09-30 11:25:46 +02:00
Dmitry-Me
9fdfada4b5
Compute value earlier and reuse it
2017-09-28 23:41:29 +03:00
Dmitry-Me
7308901add
Omit duplicate and opposite checks
2017-09-28 17:59:55 +03:00
Dmitry-Me
d18e8466a9
Cache and reuse values
2017-09-27 00:51:04 +03:00
Daniel Marjamäki
04c2be33a6
Unit testing visual studio import
2017-09-24 22:57:24 +02:00
Daniel Marjamäki
30e6a05aa0
ImportProject: Macro names in visual studio solutions/projects are case insensitive
2017-09-24 22:36:20 +02:00
Daniel Marjamäki
9f306cf3aa
Added C++14 option
2017-09-22 22:00:00 +02:00
Daniel Marjamäki
5993c40d5b
Improve 'opposite inner condition' check
2017-09-22 14:01:20 +02:00
Daniel Marjamäki
5e618418d5
Refactoring, use early continue in loop
2017-09-21 22:53:15 +02:00
Daniel Marjamäki
411c5e5f7e
Fixed #8190 (False positive constStatement - return (struct media_frames_per_second) {0};)
2017-09-21 22:50:46 +02:00
Daniel Marjamäki
89b9f57759
Fix corrupt Token::Match pattern
2017-09-21 15:01:34 +02:00
Daniel Marjamäki
71d207c034
Fixed #8226 (Tokenizer: Wrong handling of string literal u"abc")
2017-09-21 13:33:14 +02:00
Daniel Marjamäki
aa38556e1c
SymbolDatabase: Simplification of code. My assumption is that start and end of scope is never null.
2017-09-20 23:06:19 +02:00
Daniel Marjamäki
ba8222de1c
ValueFlow: Put 'inconclusive' state in the ValueKind. A value can't be both known and inconclusive.
2017-09-20 22:41:36 +02:00
Daniel Marjamäki
e61222126f
Fixed #8176 (ValueFlow: variable might be changed if it's passed by reference to method)
2017-09-20 22:09:09 +02:00
Daniel Marjamäki
5f4b06c0f4
isVariableChangedByFunctionCall: Fix FN when constructor argument is const reference
2017-09-20 14:03:56 +02:00
Daniel Marjamäki
3e231a9325
Refactoring: Reuse function numberOfArguments() for counting arguments
2017-09-20 13:28:45 +02:00
Daniel Marjamäki
2103726d54
Stop counting arguments properly
2017-09-20 13:00:43 +02:00
Daniel Marjamäki
4318521fc1
Fixed #8187 (isVariableChangedByFunctionCall: Constructor reference argument)
2017-09-20 12:53:25 +02:00
Daniel Marjamäki
87c35cd60e
ValueFlowForward: Refactoring handling of compound assignments
2017-09-20 11:45:28 +02:00
Daniel Marjamäki
3d587d2704
Revert "Fix CID 1368511"
...
This reverts commit 41a79152a9
.
2017-09-19 23:13:40 +02:00
Daniel Marjamäki
1a057bc23a
Revert "Remove redundant safety logic (CID 1368511)"
...
This reverts commit d892031f28
.
2017-09-19 23:13:31 +02:00
Daniel Marjamäki
d892031f28
Remove redundant safety logic (CID 1368511)
2017-09-19 23:07:02 +02:00
Dmitry-Me
41a79152a9
Fix CID 1368511
2017-09-19 22:35:00 +03:00
Dmitry-Me
05d58f5c51
Unify classEnd check for scope
2017-09-19 22:13:50 +03:00
Daniel Marjamäki
840c7eb258
checkFloatToIntegerOverflow: check all calculations, not only in function bodies
2017-09-19 19:30:24 +02:00
Daniel Marjamäki
9268c2034a
checkSignConversion: check all calculations, not only in function bodies
2017-09-19 19:25:33 +02:00
Daniel Marjamäki
f6e30eee19
checkIntegerOverflow: handle long and long long also
2017-09-19 19:14:29 +02:00
Daniel Marjamäki
cac7146cac
checkIntegerOverflow: check all calculations, not only in function bodies
2017-09-19 14:43:48 +02:00
Daniel Marjamäki
6bc0df2908
checkTooBigBitwiseShift: Separate id for signed shift overflow
2017-09-19 09:21:20 +02:00
Daniel Marjamäki
be0ad20a04
checkTooBigBitwiseShift: bitshift overflow when lhs is signed
2017-09-19 09:08:44 +02:00
Daniel Marjamäki
0cf551351b
tooBigBitwiseShift: check all calculations, not only in function bodies
2017-09-19 08:50:19 +02:00
Dmitry-Me
696c5b8100
Reduce duplication, omit building unneeded string
2017-09-18 03:06:35 +03:00
Dmitry-Me
7d6ef71c4d
More selective match pattern
2017-09-18 02:45:02 +03:00
Daniel Marjamäki
2e6d78bd08
Fixed #8184 (Syntax error: case outside switch)
2017-09-15 22:37:31 +02:00
Daniel Marjamäki
1dbcba4dd6
Fixed #8221 (ValueFlow: value for static variable that is not written)
2017-09-15 15:58:19 +02:00
Daniel Marjamäki
d79762cfc3
Fixed #7449 (reademptycontainer (inconclusive) when variable changed in function )
2017-09-15 10:49:58 +02:00
Dmitry-Me
349a28705a
Clarify code with assertions
2017-09-15 01:11:27 +03:00
Dmitry-Me
0fe82335ac
Remove duplicated method call
2017-09-15 00:53:44 +03:00
Dmitry-Me
f28524fefa
Unify variable names
2017-09-15 00:44:59 +03:00
Daniel Marjamäki
ef1f3fbee6
Fixed #8173 (ValueFlow: use AST when setting values in assignment RHS ((n=42) && n=='A'))
2017-09-14 22:49:47 +02:00
Daniel Marjamäki
927b14b60f
Fixed #8217 (Crash in isVariableChanged())
2017-09-14 15:45:15 +02:00
Daniel Marjamäki
bb20c0504e
CheckCondition: Fix FP in daca (iqtree) 'in >> ch'
2017-09-13 22:46:36 +02:00
Daniel Marjamäki
5c7cf584ef
bump simplecpp
2017-09-12 22:42:10 +02:00
Dmitry-Me
37dea8a5cf
Only check the value if it wasn't surely set by previous code
2017-09-12 23:20:07 +03:00
Dmitry-Me
a4c20b3606
Break loop early
2017-09-12 07:48:06 +03:00
Dmitry-Me
4126fab1d5
Simplify code with temporary
2017-09-12 07:46:38 +03:00
Dmitry-Me
caebf137bc
Cache and reuse value
2017-09-12 00:21:36 +03:00
Dmitry-Me
9ff04b4df1
Resolve CID 1368512
...
Wrong pointer was being checked
2017-09-11 23:50:42 +03:00
Dmitry-Me
988de6422e
Omit repeated computations
2017-09-11 18:36:44 +03:00
Daniel Marjamäki
56544ac936
Fixed #8211 (Crash on incomplete code in isVariableChanged ())
2017-09-11 13:45:36 +02:00
Daniel Marjamäki
db321c2617
CheckCondition: Fix FP when there is increment/decrement in condition (daca icu)
2017-09-10 22:58:05 +02:00
Daniel Marjamäki
c34fdd1905
CheckCondition: Fix FP for undeclared variables (daca)
2017-09-10 22:30:41 +02:00
Daniel Marjamäki
b9b47809f9
Fixed #8197 (iscast: '(b)&1' is not a cast)
2017-09-08 22:52:16 +02:00
Daniel Marjamäki
b81b4fcb78
Fixed #8208 (CheckCondition: Use Library to determine if function is const)
2017-09-08 18:08:32 +02:00
Daniel Marjamäki
899ad8479d
CheckCondition: Fixed FP when condition contains global static variable
2017-09-08 15:44:56 +02:00
Daniel Marjamäki
d9adb5432a
astyle formatting
...
[ci skip]
2017-09-08 15:41:14 +02:00
Nekto89
9cbfa0e383
Fix #7803 : false negative: condition is always true 'if (flags & A)' ( #938 )
2017-09-08 14:30:42 +02:00
Daniel Marjamäki
58db814d72
Rephraze /Same/Identical/
2017-09-08 12:41:33 +02:00
Daniel Marjamäki
97125acabd
Fixed #7365 (False positive: Use of erased iterator)
2017-09-08 09:45:30 +02:00
Daniel Marjamäki
57004ed533
Fixed #7663 (False positive: uninitialized variable (multi variables in inner scopes))
2017-09-07 23:08:55 +02:00
Daniel Marjamäki
120d0f86d0
CheckCondition: Fix FP about same condition when switch case is used (daca)
2017-09-07 22:05:01 +02:00
Ayaz Salikhov
1d2b58e828
Correctify explicit usage ( #951 )
2017-09-07 13:03:45 +02:00
Ayaz Salikhov
64eccd780c
Don't use static where not needed ( #952 )
2017-09-07 13:01:07 +02:00
Ayaz Salikhov
f0b5327450
Fix codestyle ( #953 )
2017-09-07 13:00:46 +02:00
Ayaz Salikhov
0fc35c1350
Name all params ( #956 )
2017-09-07 12:59:53 +02:00
Daniel Marjamäki
4c30a5af25
CheckCondition: Break out code to check if function call is non-const
2017-09-06 22:51:21 +02:00
Daniel Marjamäki
e0c7f7f8f2
CheckCondition: Fix FP when there are method calls in condition
2017-09-06 22:26:00 +02:00
Dmitry-Me
68f6cad2aa
Omit repeated search when no insertion occurs
2017-09-06 18:02:27 +03:00
Dmitry-Me
66524ef645
Clarify code using temporary
2017-09-06 18:00:23 +03:00
Dmitry-Me
35f5515931
Fix CID 1360383
2017-09-06 00:12:09 +03:00
Matthias Krüger
58a64702b7
add "internalAstError" id so we can easily track ast errors on daca.
2017-09-05 22:49:16 +02:00
Daniel Marjamäki
35736364f8
Fixed #8199 (false negative: (warning) Same condition '...', second condition is always false)
2017-09-05 22:45:28 +02:00
Daniel Marjamäki
e5e6f37e41
Fixed #7405 (false positive: (warning) Opposite conditions in nested 'if' blocks lead to a dead code block.)
2017-09-05 22:03:29 +02:00
Dmitry-Me
3127fcf429
Omit repeated computations
2017-09-05 17:56:57 +03:00
Dmitry-Me
0e444aa133
Cache and reuse values
2017-09-05 17:50:36 +03:00
Daniel Marjamäki
c1000998f0
CheckCondition: Fix FP found in daca results (ace)
2017-09-05 09:33:35 +02:00
Dmitry-Me
d7b91a9e92
Fix CID 1378763
...
Defensive check recovered from earlier version of this code
2017-09-05 00:17:51 +03:00
Dmitry-Me
7e823e6d8e
Extract repeating checks, break loop early
2017-09-05 00:04:48 +03:00
Dmitry-Me
79f74fc4d3
Break loop early
2017-09-05 00:00:02 +03:00
Dmitry-Me
7c8cb29d14
Extract repeating checks
2017-09-04 23:58:14 +03:00
Daniel Marjamäki
d02d235e5e
Refactoring oppositeInnerCondition checking
2017-09-04 22:54:06 +02:00
Daniel Marjamäki
d82805b7fe
CheckCondition: Improved checking for same conditions
2017-09-04 22:40:34 +02:00
Dmitry-Me
5885988b1f
Cache and reuse value
2017-09-04 23:33:52 +03:00
Dmitry-Me
aece2254d7
Put faster checks first
2017-09-04 23:33:14 +03:00
Daniel Marjamäki
abae5e0156
Fixed #8198 (false positive: (warning) Same condition, second condition is always false)
2017-09-04 22:25:20 +02:00
Dmitry-Me
f7ab8c5ebb
Drop unneeded parentheses
...
Those are a misleading leftover from old code
2017-09-04 22:49:05 +03:00
Dmitry-Me
c29f16a306
Cache and reuse values
2017-09-04 17:55:45 +03:00
Dmitry-Me
5dba8268e7
Better variable name
2017-09-04 17:53:56 +03:00
Daniel Marjamäki
d838dc2129
CheckCondition::multiCondition2: Fix FN for pointers
2017-09-04 15:58:22 +02:00
orbitcowboy
095e435031
wxwidgets.cfg: Added support for some wxTextFile functions.
2017-09-04 14:52:10 +02:00
Daniel Marjamäki
9465dca583
CheckCondition: Fix FPs for aliased variables (daca)
2017-09-04 09:34:03 +02:00
Daniel Marjamäki
a02fd54a69
ValueFlow: Avoid FPs for aliased variables
2017-09-03 23:24:55 +02:00
Daniel Marjamäki
ef4a7ba7f2
Fix FP in CheckCondition::multiCondition2
2017-09-03 14:46:37 +02:00
Daniel Marjamäki
e5c6379d01
CheckCondition: Fix FP in Cppcheck
2017-09-03 11:35:37 +02:00
Daniel Marjamäki
b9849d9e4e
CheckCondition::multiCondition2: Handle loops better
2017-09-03 11:03:01 +02:00
Daniel Marjamäki
01e65d3e00
Improved CheckCondition::multiCondition2 so deeper bugs are found
2017-09-03 10:44:22 +02:00
Daniel Marjamäki
f2ec5f24ce
Fixed #5845 (new check: same condition after noreturn conditional code => second condition is always false)
2017-09-03 10:34:34 +02:00
Hinterwaeldlers
8aa568f085
Corrected noexcept constructor delegating handling ( #948 )
2017-09-02 22:54:23 +02:00
Daniel Marjamäki
1ecefa045a
Fixed #8194 (False positive reademptycontainer - range based loop)
2017-09-02 22:22:32 +02:00
Daniel Marjamäki
30f04a5a96
Fixed #8195 (False positive uninitvar (regression) - valueflow misses variable initialization via istringstream >>)
2017-09-02 21:53:51 +02:00
Daniel Marjamäki
9eed9adf3c
Fixed CID 1361393, logically dead code in return statement
2017-09-02 10:49:29 +02:00
Daniel Marjamäki
0b751dcc1b
Opposite conditions: Better matching when outer condition uses &&
2017-09-01 23:24:15 +02:00
Daniel Marjamäki
3bbcede43b
Fixed #8193 (crash: A = -(-0.2) / (1.0 + B * B) ( daca, lammps))
2017-09-01 22:15:09 +02:00
Dmitry-Me
beba46987d
Remove redundant variable
2017-09-01 18:19:25 +03:00
Dmitry-Me
2133350bf0
More useful default value
2017-09-01 18:17:40 +03:00
Dmitry-Me
4663dc205a
Cache and reuse value
2017-09-01 18:16:08 +03:00
Daniel Marjamäki
3b4f60fd21
Updated error message
2017-09-01 13:33:47 +02:00
Daniel Marjamäki
7fad1b9a36
Improved checking for opposite conditions
2017-08-31 22:53:21 +02:00
Daniel Marjamäki
dce942197c
Fixed #8186 (Inner condition always false inside for loop)
2017-08-31 16:00:12 +02:00
Dmitry-Me
d598a1c278
Fix typo causing two expressions being identical
2017-08-30 22:43:54 +03:00
Daniel Marjamäki
82527422a8
Fixed #5614 (Incorrect syntax error with function pointer typedef and dependent template types)
2017-08-30 19:18:05 +02:00
Daniel Marjamäki
59034e17f1
Refactoring, reuse code to skip lambda functions
2017-08-29 22:35:55 +02:00
Daniel Marjamäki
9c99bc43c2
ValueFlow: Skip wrong handling of lambda functions. TODO: handle lambda functions properly.
2017-08-28 22:39:12 +02:00
Dmitry-Me
017e72d145
Read attribute once, better variable name
2017-08-28 19:11:04 +03:00
Dmitry-Me
7bd3dc5da6
Simplify array access with references
2017-08-28 18:19:03 +03:00
Dmitry-Me
7d19d1ea2e
Better use of temporary
2017-08-28 18:15:15 +03:00
Dmitry-Me
cf6d3ba398
Omit unneeded computations
2017-08-28 18:10:49 +03:00
Daniel Marjamäki
02a1b7cd2d
Fixed #7965 (valueFlowForward: Improved handling of correlated variables)
2017-08-27 19:50:44 +02:00
Daniel Marjamäki
713f607168
Fixed #8156 (wrong ast for 'z = (x & (unsigned)1) | (y & (unsigned)2);')
2017-08-26 23:25:45 +02:00
Daniel Marjamäki
e74e4c6934
Fixed #8030 (False positive 'constStatement' when indexing with {})
2017-08-26 11:59:09 +02:00
Dmitry-Me
cc97834e88
Revert "Combine overlapping patterns"
...
This reverts commit 123f9b67e0
.
2017-08-26 08:18:24 +03:00
Dmitry-Me
123f9b67e0
Combine overlapping patterns
2017-08-26 07:32:02 +03:00
Dmitry-Me
b9c2a996bf
Break loop early
2017-08-26 07:26:28 +03:00
Daniel Marjamäki
46c6620691
Token::takeData: dont keep old values or valuetype
2017-08-25 23:32:26 +02:00
Daniel Marjamäki
ea0db18e0c
Refactor Token::deleteThis()
2017-08-25 23:30:04 +02:00
Daniel Marjamäki
529b255e99
ValueFlow: Better errorpath for increment/decrement
2017-08-25 23:07:26 +02:00
Daniel Marjamäki
b1b8e5270a
ValueFlow: Better errorpath for increment/decrement
2017-08-25 22:15:52 +02:00
Heiko Eißfeldt
bab2b26d10
Fixed #8154 (heap use after free in tokenlist)
2017-08-25 17:17:19 +02:00
Daniel Marjamäki
50636f75ba
ValueFlow: Improved error path for compound assignments
2017-08-24 22:02:49 +02:00
Dmitry-Me
61e290750e
Read attribute once, better variable name
2017-08-24 18:28:52 +03:00
Dmitry-Me
3bcfc33014
Break loop early
2017-08-24 18:26:53 +03:00
Dmitry-Me
45996b1404
Simplify code, read attribute once
2017-08-24 18:23:44 +03:00
Dmitry-Me
eba9ea0ed0
Remove redundant check
2017-08-24 18:11:54 +03:00
Dmitry-Me
2582bbd0f6
Break loop early
2017-08-24 18:10:33 +03:00
Daniel Marjamäki
d160d27417
Fixed #8172 (False positive uninitvar on sizeof *ptr)
2017-08-23 22:17:49 +02:00
Daniel Marjamäki
f10634c021
ValueFlow: Dont try to evaluate '/=0;'
2017-08-23 17:53:05 +02:00
Dmitry-Me
7fba6ecef1
Remove and disallow unused copy constructor
2017-08-23 17:54:20 +03:00
Daniel Marjamäki
167cfb1ac5
valueFlowForward: improve handling of compound assignments
2017-08-23 11:13:47 +02:00
Daniel Marjamäki
71b0370389
Fixed #1793 (CheckType::checkFloatToIntegerOverflow: assignments)
2017-08-23 05:34:47 +02:00
Daniel Marjamäki
b7f9e7ed1d
negativeContainerIndex: avoid crash when AST is wrong
2017-08-22 12:30:43 +02:00
Daniel Marjamäki
2679b576c2
Fixed #1693 (false negative: std::vector, negative index)
2017-08-22 11:04:02 +02:00
Alexander Mai
0cae823c5d
Fix doxygen comments
2017-08-21 21:13:01 +02:00
Daniel Marjamäki
e087156e30
CheckUninitVar: Try to activate the valueflow based checking again
2017-08-20 19:54:06 +02:00
Daniel Marjamäki
3abb62a6d1
Fixed #8036 (valueFlowUninit: strcpy(buf, e = str), free(e);)
2017-08-20 19:47:26 +02:00
Daniel Marjamäki
92e9744020
Fixed #8148 (Tokenizer: Braces are not added properly in do while)
2017-08-16 18:55:34 +02:00
Dmitry-Me
2a4f68ccf8
Resolve CID 1365361
...
* work around possible null pointer dereference in case of missing attributes
2017-08-16 17:53:04 +03:00
Martin Güthle
1d491bd332
Treat noexcept correctly
...
Converts the noexcept to the already correctly handled noexcept(true)
2017-08-16 11:31:19 +02:00
Daniel Marjamäki
5c733c8f22
Fixed #8152 (Garbage code cause crash '0|\0|0>;')
2017-08-15 23:19:42 +02:00
Hinterwaeldlers
705e5e3468
Fix for http://trac.cppcheck.net/ticket/8151 ( #942 )
...
* Taking care of incorrect template syntax (missing close)
Forward the incorrectness via throw, as there is no direct access to the
syntaxError method, without converting the function to a member function
2017-08-15 22:40:55 +02:00
Dmitry-Me
6303437163
Resolve C4800
2017-08-15 17:42:56 +03:00
Dmitry-Me
d3d9c76f01
Fix off by one, resolve C4334
2017-08-14 18:07:36 +03:00
Dmitry-Me
b995e59ff2
No need for counting here
2017-08-14 18:06:23 +03:00
Daniel Marjamäki
ca6109b40c
threadsafety: Fix static data in Token::values()
2017-08-13 14:15:24 +02:00
Daniel Marjamäki
fb37f3503a
Fix GCC compiler warning about missing enum constant PlatformFile in switch
2017-08-12 00:17:55 +02:00
Dmitry-Me
45032f7d3b
Use std mechanism to detect signedness
2017-08-11 18:44:14 +03:00
Gennady Feldman
1c71c789d6
Stop parsing a define with value at the '='. ( #937 )
2017-08-09 20:02:25 +02:00
Ayaz Salikhov
b8cd7dbb5c
Use nullptr instead of 0 or NULL ( #936 )
2017-08-09 20:00:26 +02:00
orbitcowboy
61e47208eb
Removed hard coded avr8 platform and moved it into a platform file (avr8.xml).
2017-08-09 11:58:27 +02:00
Daniel Marjamäki
7a9d4b820f
Fixed #8158 (Custom platform configuration seems to be not used)
2017-08-09 11:06:31 +02:00
Daniel Marjamäki
c0890b5255
ImportProject: Improve cppcheckDefines()
2017-08-08 22:57:11 +02:00
Daniel Marjamäki
9861240e79
ImportProject: Only expose Cppcheck Visual Studio defines for Cppcheck
2017-08-08 22:27:08 +02:00
Nekto89
729af993fe
Fix absolute pathes import from vcxproj ( #934 )
...
Fixed importing vcxproj that contains files with absolute pathes.
2017-08-07 23:51:12 +02:00
Daniel Marjamäki
5fa7a4edc4
GUI: save dumpfiles in buildDir if possible
2017-08-03 22:54:38 +02:00
Daniel Marjamäki
53002e40f6
Fix ImportProject
2017-08-03 20:38:24 +02:00
Daniel Marjamäki
ccea0b17b3
ImportProject: Read system includes and standard from compile database
2017-08-03 20:33:56 +02:00
Daniel Marjamäki
61eccd7070
Fix dump
2017-08-03 18:03:59 +02:00
Daniel Marjamäki
4eb43a5557
Fixed some recent regression in ImportProject for vcxproj projects
2017-08-02 22:51:22 +02:00
Veli-Matti Visuri
da3846f752
Add Timer copy constructor ( #932 )
...
- Satisfy the rule of three
2017-08-02 22:34:28 +02:00
amai2012
39955973e9
Merge pull request #931 from IOBYTE/master
...
Fixed #8142 (false positive: The class 'B' has 'copy constructor' but lack of 'operator='
2017-08-02 21:16:29 +02:00
Daniel Marjamäki
f7514fcd2c
Fix issue detected by Coverity, dereference tok3 and then check if its null.
2017-08-02 08:38:36 +02:00
Daniel Marjamäki
e977cea04c
Fix issue detected by Coverity, either null pointer check is useless or there is null pointer dereference
2017-08-02 08:24:16 +02:00
Daniel Marjamäki
32422c815b
Fix issue found by Coverity, scope cant be null since scope is dereferenced on all paths before the while and also unconditionally inside while
2017-08-02 08:17:29 +02:00
Daniel Marjamäki
462ae455c8
Fix issue detected by Coverity, missing check if _settings is null
2017-08-02 08:04:35 +02:00
Daniel Marjamäki
60f819dbe7
Refactoring, use continue in loop
2017-08-02 08:00:52 +02:00
Daniel Marjamäki
5abf39503a
Fix issue detected by Coverity, in case solution does not specify platform configuration the platform will be uninitialized
2017-08-02 07:59:25 +02:00
Daniel Marjamäki
05cdda3f4c
Fix issue detected by Coverity, XMLElement::Attribute might return null
2017-08-02 07:56:22 +02:00
Daniel Marjamäki
55aec0ef1b
Fix issue detected by Coverity, vt2 is null checked and then dereferenced
2017-08-02 07:48:11 +02:00
Robert Reif
f5044bb65f
Fixed #8142 (false positive: The class 'B' has 'copy constructor' but lack of 'operator='.)
...
Do not count static member variables when trying to figure out if
'operator =' is needed.
2017-08-01 19:52:41 -04:00
Matthias Krüger
9b6d371762
checkbufferoverrun: remove dead store
...
the variable was declared inside a loop and the dead store also took place inside the loop (guarded by a condition) without further access of the value after that store.
Found by clang analyzer.
Was:
lib/checkbufferoverrun.cpp:1223:17: warning: Value stored to 'tok' is never read
tok = tok->next();
^ ~~~~~~~~~~~
2017-08-01 16:53:00 +02:00
Daniel Marjamäki
9ef9d0e4a8
Fixed #8128 (False negative: variable is assigned value that is not read)
2017-08-01 14:56:53 +02:00
Daniel Marjamäki
1758c3b4e7
Fix suspicious code found by Coverity, dont check if scope->function is null and then dereference it
2017-08-01 13:26:35 +02:00
Daniel Marjamäki
058c439b2a
Coverity detected useless function call, cleanup code
2017-08-01 12:45:37 +02:00
Daniel Marjamäki
0c8a899f59
Fix issue detected by Coverity, there was dead code because the wrong variable was used in condition
2017-08-01 11:45:51 +02:00
Daniel Marjamäki
be998773ee
Minor refactoring, fixes FP from Coverity
2017-08-01 11:33:24 +02:00
Daniel Marjamäki
6cc7f46696
Fix issue detected by Coverity, ternary condition is always true
2017-08-01 11:25:28 +02:00
Daniel Marjamäki
267a2e154d
Fixed #8127 (cppcheck 1.80 compilation by MINGW32 gcc 6.3 failed)
2017-07-31 18:30:20 +02:00
Daniel Marjamäki
cdeae918a8
Fix issue detected by Coverity (ternary operator false expression is unreachable)
2017-07-31 17:58:07 +02:00
Daniel Marjamäki
a024f339dd
Fix issue detected by Coverity (ternary operator false expression is unreachable)
2017-07-31 17:55:15 +02:00
Daniel Marjamäki
fec0c46af0
Refactoring, use continue in loop
2017-07-30 14:53:58 +02:00
Daniel Marjamäki
29265cdd49
Refactoring, use continue
2017-07-30 12:46:04 +02:00
PKEuS
9558877458
Set version to 1.80.99/1.81 dev
2017-07-30 08:48:47 +02:00
Daniel Marjamäki
f76ff9e7bf
Tokenizer: Put struct in anonymous namespace
2017-07-29 19:46:18 +02:00
Daniel Marjamäki
91eb0f1fad
Removed XML version 1
2017-07-29 18:56:22 +02:00
Daniel Marjamäki
baedfa6718
1.80: Set versions
2017-07-29 12:55:53 +02:00
Daniel Marjamäki
a78fd23732
Refactoring, skipEnumBody
2017-07-29 12:13:32 +02:00
Daniel Marjamäki
abf525e46d
Fix Cppcheck warning
2017-07-29 11:58:00 +02:00
Simon Martin
aa35462add
Ticket #8091 : Don't replace std types within enum definitions. ( #922 )
2017-07-29 11:56:09 +02:00
Daniel Marjamäki
01f023dc0a
CheckClass: Refactor hasAssignSelf to use AST
2017-07-28 23:49:11 +02:00
orbitcowboy
0e575ce12c
Modernize: make use of 'nullptr' and added a rule-file for finding non-nullptr (zero) initializations.
2017-07-28 15:20:43 +02:00
Daniel Marjamäki
c4bd70210c
GUI: Rename methods in FileList and PathMatch
2017-07-28 10:55:51 +02:00
Daniel Marjamäki
a4dd8f0aa4
modernize, use nullptr
2017-07-27 18:36:33 +02:00
Daniel Marjamäki
5ae962194d
revert mode change for lib/checkstl.cpp
2017-07-26 23:51:30 +02:00
Daniel Marjamäki
27af3edc5b
CheckStl: Safer use of AST
2017-07-26 23:43:39 +02:00
Daniel Marjamäki
eb288ec2a1
CheckStl: Use AST to handle iterator comparisons better
2017-07-26 23:13:01 +02:00
Daniel Marjamäki
a3916c501c
Refactor loop, use continue
2017-07-26 22:03:55 +02:00
Daniel Marjamäki
da26ef0650
Refactoring: Use continue in loop
2017-07-26 21:13:49 +02:00
Daniel Marjamäki
32940c023a
Refactoring: Use continue in loop
2017-07-26 20:32:14 +02:00
Daniel Marjamäki
2d4f64027a
Refactoring: Use continue in loop
2017-07-26 20:29:13 +02:00
Daniel Marjamäki
2f38d3d80e
CheckStl: Use ValueType
2017-07-26 20:19:36 +02:00
Andreas Pokorny
b802b98136
Do not warn when unique pointers are passed by value
...
A unique pointer should only be passed by value or by const reference.
Passing by value means transferring ownership it makes no sense to have a pass by value Warning for unique_ptr
Signed-off-by: Andreas Pokorny <andreas.pokorny@siemens.com>
2017-07-25 11:17:56 +02:00
Daniel Marjamäki
0a03bbb320
Fixed #6315 (false positive - unreadVariable - variable is used via pointer)
2017-07-23 23:32:14 +02:00
Daniel Marjamäki
b41350e8d8
Token::expressionString(): Fixed output of library types
2017-07-22 16:42:42 +02:00
Daniel Marjamäki
bf5040e3d6
Fixed #7701 (ValueFlow: handle 64-bit unsigned values )
2017-07-22 12:19:46 +02:00
Daniel Marjamäki
12b7843937
astyle formatting
...
[ci skip]
2017-07-21 09:17:25 +02:00
Daniel Marjamäki
255d0410a4
Fixed #8085 (Token::expressionString: unsigned long long)
2017-07-21 09:16:42 +02:00
Daniel Marjamäki
76a50e60b9
Merge pull request #926 from mathbunnyru/asalikhov/fix_warnings_macro
...
Fix warnings
2017-07-17 22:46:40 +02:00
Ayaz Salikhov
4bbc830a85
Fix warnings
2017-07-17 10:13:11 +03:00
Robert Reif
354a773bfe
Fix #8020 (ValueType: no value type for iterator + constant)
2017-07-16 11:27:32 -04:00
Daniel Marjamäki
fabe07ffd6
Merge pull request #924 from IOBYTE/master
...
Fixed #6985 (SymbolDatabase: Function pointer not set when calling bas…
2017-07-16 14:04:25 +02:00
Robert Reif
b0aec042a6
Fixed #6985(SymbolDatabase: Function pointer not set when calling base class function)
...
Use using namespace when looking up types.
2017-07-15 19:14:15 -04:00
Daniel Marjamäki
814d2ae2a4
Fixed #7028 (False positive: opposite conditions (const method modifies variable))
2017-07-10 23:12:45 +02:00
rsBNT
fb7230ce05
importSln: Handle absolute paths for vcxproj
2017-07-10 11:12:48 +02:00
Daniel Marjamäki
f85e43d21f
Fixed #8059 (Tokenizer::simplifyWhile0: for loop that modifies local variable)
2017-07-09 22:44:10 +02:00
Daniel Marjamäki
dff9d13758
Fixed #8115 (Tokenizer: links not properly set in r-value template 'Foo<int> && foo')
2017-07-09 13:26:59 +02:00
Daniel Marjamäki
ea598d5284
refactoring, use early return
2017-07-09 13:09:36 +02:00
Daniel Marjamäki
32fe0aba41
Fixed #8037 (ValueFlow: global variable might be modified by function call)
2017-07-09 12:50:17 +02:00
Daniel Marjamäki
0a91ced941
refactoring, use continue in loop instead of nesting
2017-07-09 12:36:33 +02:00
Daniel Marjamäki
ac85b78e2a
Fixed #5619 (false positive: unusedVariable - array accessed by pointer variable only)
2017-07-09 11:19:00 +02:00
Daniel Marjamäki
7161daefbd
Fixed #8040 (False positive resourceLeak - handle assigned to class instead of scalar)
2017-07-08 22:28:31 +02:00
Daniel Marjamäki
6417be4a71
Fixed #8054 (Tokenizer::simplifyKnownVariables(): Wrong simplification for global variables)
2017-07-08 22:12:01 +02:00
Daniel Marjamäki
6c2002a150
minor constness fix
2017-07-08 21:41:57 +02:00
Daniel Marjamäki
6b48781fdc
Fixed #7105 (False positive resourceLeak - socket handle wiped after close)
2017-07-07 21:51:48 +02:00
Daniel Marjamäki
211d8c6020
Refactoring checking for unused variables (avoid FN when not taking address)
2017-07-01 22:45:51 +02:00
Daniel Marjamäki
d6f066482e
Fixed #6542 (FP: Variable 'lcount' is not assigned a value - using address of integer array)
2017-07-01 11:31:51 +02:00
Daniel Marjamäki
db01ea1408
Fixed #6261 (false positive: Variable used in ternary expression within function argument list)
2017-07-01 11:03:49 +02:00
Daniel Marjamäki
4827751b04
improve constness
2017-07-01 09:10:23 +02:00
Daniel Marjamäki
f847631cdb
Fixed #5273 (FP memleak: Unknown if() condition should make error inconclusive)
2017-06-30 23:05:09 +02:00
Daniel Marjamäki
b97f5d909e
Fixed #6570 (False positive unusedFunction - function called from within template function)
2017-06-30 14:34:28 +02:00
Daniel Marjamäki
22919da9a8
Fixed #6246 (Defect: False positive due to ignoring struct initialisation when nested in a loop and assigned to a member)
2017-06-30 13:41:19 +02:00
Daniel Marjamäki
3ab8466415
refactoring, use early continue in for loop
2017-06-30 12:45:48 +02:00
x29a
15b0eb42bd
import solution: Support system environment variables
2017-06-27 12:41:25 +02:00
Daniel Marjamäki
dc37034687
Merge pull request #917 from x29a/unique_includes
...
Unique includes
2017-06-23 20:21:38 +02:00
neheb
ef86ac04b4
Add OpenCL support
...
OpenCL is basically C99.
2017-06-22 17:34:07 -07:00
x29a
b3a747d606
fix brainfart
2017-06-22 16:53:13 +02:00
x29a
cde17935ea
only use each include path once
2017-06-22 16:49:36 +02:00
Daniel Marjamäki
1e12ec241c
reuse simplecpp::simplifyPath
2017-06-21 14:27:46 +02:00
Daniel Marjamäki
f86d8244fa
Fixed #8022 (DacaWrongData: checkIgnoredReturnValue, hana)
2017-06-10 08:23:26 +02:00
Daniel Marjamäki
453058c059
AST: Better handling of C++11 initializer lists
2017-06-09 22:35:46 +02:00
Daniel Marjamäki
fd74d455ce
AST: Better handling of case
2017-06-08 15:32:35 +02:00
Daniel Marjamäki
da87fdbb90
Refactoring TemplateSimplifier::simplifyCalculations, Token::Match patterns
2017-06-08 08:18:40 +02:00
Daniel Marjamäki
c1ea873e1c
TemplateSimplifier::simplifyCalculations: Add some more tests and make sure they pass
2017-06-08 08:15:05 +02:00
Daniel Marjamäki
cb48e63f92
TemplateSimplifier: Fixed bug in simplifyCalculations. Now template58 test case does not throw InternalError
2017-06-08 00:49:46 +02:00
Daniel Marjamäki
d2e7df2c04
TemplateSimplifier: Broke out code into separate function
2017-06-08 00:16:43 +02:00
Daniel Marjamäki
2740736136
Avoid 'deleteThis' in TemplateSimplifier::simplifyCalculations as it can cause 'use after free' see #6021
2017-06-07 20:09:06 +02:00