Alexander Mai
|
251fc022fa
|
#7490 sizeof('a') should be 4 in C mode
|
2016-05-14 13:05:44 +02:00 |
Kamil Dudka
|
efe98883ab
|
checkleakautovar: do not miss 'throw' followed by ::
|
2016-05-13 21:37:49 +02:00 |
Daniel Marjamäki
|
df6a66deed
|
SymbolDatabase: Add test that makes sure enum constant values are calculated properly. Related with ticket #7493.
|
2016-05-12 12:07:40 +02:00 |
Daniel Marjamäki
|
613311cc57
|
Fixed #7493 (enumMismatch on Enum declaration)
|
2016-05-12 11:46:08 +02:00 |
Daniel Marjamäki
|
b965cf5491
|
Fixed #7444 (Tokenizer::varId: Wrong varid when there is anonumous union in class)
|
2016-05-11 20:43:23 +02:00 |
Daniel Marjamäki
|
bf8471e109
|
Fixed #7491 (Questionable enumMismatch)
|
2016-05-11 15:33:59 +02:00 |
Daniel Marjamäki
|
fb5e6d8a7d
|
Fixed #6960 (New check: enum variable is assigned mismatching value)
|
2016-05-10 20:22:35 +02:00 |
Daniel Marjamäki
|
a167a2d242
|
TestSymbolDatabase: Add some tests for the new enum handling
|
2016-05-09 18:34:24 +02:00 |
Daniel Marjamäki
|
eac3660f46
|
ValueType: Changed type info for enums to 'signed int', that is what checks wants to see mostly.
|
2016-05-09 11:11:13 +02:00 |
Daniel Marjamäki
|
1caa79c45f
|
Tokenizer::simplifyPointerConst: Remove simplification. Its purpose was to avoid crash for garbage code (#6900). This fixes #7485.
|
2016-05-08 21:32:34 +02:00 |
Daniel Marjamäki
|
803b4d4cf8
|
ValueType: Better handling of nested types
|
2016-05-08 14:55:10 +02:00 |
Daniel Marjamäki
|
636e97c272
|
ValueType: Improved debug output for nested types
|
2016-05-08 13:15:20 +02:00 |
Daniel Marjamäki
|
f0953c6916
|
ValueType: better handling of nonstandard types
|
2016-05-08 11:55:25 +02:00 |
Daniel Marjamäki
|
b26dd1ccab
|
ValueFlow: Handle enums
|
2016-05-07 20:18:07 +02:00 |
Daniel Marjamäki
|
be90080976
|
Fixed #7481 (False positive AssignmentAddressToInteger - pointer to enum)
|
2016-05-07 19:51:37 +02:00 |
PKEuS
|
5d5886b464
|
Properly detect binary & in CheckCondition::clarifyCondition() (fixes false positives when self-checking cppcheck)
|
2016-05-06 17:39:41 +02:00 |
PKEuS
|
896582ce56
|
Fixes for CheckStl::string_c_str():
- Fixed false positive #7480
- Fixed false negative: Show performance message also for non-local objects
|
2016-05-06 17:25:00 +02:00 |
PKEuS
|
3366a74bb0
|
Refactorized CheckCondition::clarifyCondition():
- Reimplemented parts of the check based on ValueType
- Merged two loops
Fixed some type conversion messages
|
2016-05-06 15:22:45 +02:00 |
PKEuS
|
0bf85f9aa5
|
ValueType: Support integers defined in libraries (#7394)
|
2016-05-04 15:39:56 +02:00 |
PKEuS
|
6c3f0a7bb8
|
SymbolDatabase: Properly detect lambdas with return type (#7473)
|
2016-05-04 14:10:09 +02:00 |
PKEuS
|
f0fb7a8245
|
Simplify __attribute__ earlier (#7462)
|
2016-05-04 13:51:34 +02:00 |
PKEuS
|
17ccb0fbe6
|
CheckClass::checkMemsetType(): Skip arrays of pointers (#7456)
|
2016-05-04 13:38:36 +02:00 |
PKEuS
|
21b51dd235
|
Check64BitPortability::pointerassignment(): Skip over lambdas (#7451)
|
2016-05-04 13:23:50 +02:00 |
PKEuS
|
b65cacf4b1
|
Tokenizer::simplifyStaticConst(): Support "struct" and operator:: (#7403)
|
2016-05-04 12:33:19 +02:00 |
PKEuS
|
f23668dfcc
|
Fixed false positive doubleFree (#7401)
|
2016-05-04 12:14:42 +02:00 |
PKEuS
|
b7d8cd69f6
|
Fixed false negatives in CheckStl::string_c_str():
- Support more complex patterns (#7385)
- Use same logic for string_c_strReturn() as for string_c_strError()
|
2016-05-04 11:10:12 +02:00 |
amai2012
|
a54ec615f3
|
Run astyle
|
2016-04-25 11:12:35 +02:00 |
amai2012
|
7a8a6695a4
|
Merge pull request #786 from prozak/master
- fix for #5749 defect: internal error
|
2016-04-24 22:19:02 +02:00 |
PKEuS
|
949f1379c2
|
Reverted accidential changes to testrunner.vcxproj
|
2016-04-22 16:52:32 +02:00 |
prozak
|
6592638022
|
- fix for #5749 defect: internal error
typedef expansion in cast operator was not processed correctly
|
2016-04-22 21:39:03 +08:00 |
Daniel Marjamäki
|
dc2a92263a
|
Fixed #7426 (RFC: time to replace simplifyEnum?)
|
2016-04-22 06:02:54 +02:00 |
Bartlomiej Grzeskowiak
|
7e020e1d92
|
- fix for #7428 false negative: Statement is always false
|
2016-04-14 14:50:08 +02:00 |
Matthias Krüger
|
b42feb7b88
|
fix testrunner (sample was not updated in f5e8a72dc2 ).
|
2016-04-08 12:09:16 +02:00 |
amai2012
|
9f4d4bdde7
|
#6167 Refactoring: rename test functions. Rename TestTokenizer::removeCast*. TestTokenizer::varid* doesn't exist (anymore?).
|
2016-03-27 17:36:07 +02:00 |
Robert Reif
|
47634a0ada
|
Fixed #7420 ((debug) Executable scope 'foo' with unknown function.)
|
2016-03-22 14:10:20 +01:00 |
Daniel Marjamäki
|
ac8341e3de
|
keep type suffixes after constant folding using bit operations
|
2016-03-21 21:20:02 +01:00 |
Daniel Marjamäki
|
4e4873772d
|
Fixed #7395 (ValueType: Result type of assignment operators)
|
2016-03-21 19:51:09 +01:00 |
Daniel Marjamäki
|
072120d19f
|
TemplateSimplifier::templateParameters: Handling r-value arguments
|
2016-03-18 11:09:41 +01:00 |
Robert Reif
|
100c4276ea
|
Fixed #7424 (value type: wrong sign)
|
2016-03-18 10:30:57 +01:00 |
amai2012
|
9700dfead0
|
Testcase succeeds on Win32-VC-32bit, only 64bit needs to be fixed.
|
2016-03-01 22:32:27 +01:00 |
Daniel Marjamäki
|
253bfe432c
|
Fixed #7410 (Tokenizer: function pointer with throw())
|
2016-02-29 08:02:02 +01:00 |
Daniel Marjamäki
|
c5c376513b
|
Fixed #7102 (Preprocessor: skip __cplusplus sections in headers when .c file is checked)
|
2016-02-29 07:34:06 +01:00 |
Alexander Mai
|
41dee7f970
|
#7399 CMake error: Cannot specify link libraries for target 'testrunner' (reported by user dbuchholz). Add comment to mathlib.h
|
2016-02-19 21:40:31 +01:00 |
Alexander Mai
|
5c2960713f
|
Correct false positives compareBoolExpressionWithInt (0U)
|
2016-02-19 21:38:54 +01:00 |
Robert Reif
|
0fc59d0228
|
#7069 False positive invalidPrintfArgType_uint - %lu with 0ul
|
2016-02-19 10:12:47 +01:00 |
Daniel Marjamäki
|
1c5eaf8cf9
|
TestSimplifyTemplate: fix syntax /classname/class/
|
2016-02-14 13:32:58 +01:00 |
Dmitry-Me
|
1f27c4b76b
|
Merge pull request #771 from Dmitry-Me/charUsedAsArrayIndex
Portability warning when 'char' type is used as array index
|
2016-02-10 20:11:38 +03:00 |
Daniel Marjamäki
|
1ab5805d98
|
Fixed #6616 (valueFlowForward: for loop, variable in 3rd expression is changed in loop body)
|
2016-02-08 10:43:41 +01:00 |
Dmitry-Me
|
c3399493ef
|
Portability warning when 'char' type is used as array index
|
2016-02-08 10:08:35 +03:00 |
Daniel Marjamäki
|
34b5e0ce99
|
Fixed #6873 (False positive uninitvar - variable initialized via pointer)
|
2016-02-07 18:48:57 +01:00 |
Daniel Marjamäki
|
5fef7cc050
|
Fixed #4973 (wrong enum simplification of shadow struct variable)
|
2016-02-07 15:15:20 +01:00 |
Daniel Marjamäki
|
6c1012a8d6
|
Fixed #4625 (wrong enum simplification in shadowed enum declaration)
|
2016-02-07 13:51:03 +01:00 |
Daniel Marjamäki
|
f781f13997
|
Fixed #6806 (wrong enum simplification in initialization list)
|
2016-02-07 13:34:03 +01:00 |
PKEuS
|
f8bf2b5776
|
Removed rest of variableHidingTypedef and variableHidingEnum checking
|
2016-02-06 20:55:41 +01:00 |
amai2012
|
d25258359a
|
#7251 Remove checks variableHidingTypedef and variableHidingEnum
|
2016-02-06 15:37:58 +01:00 |
Daniel Marjamäki
|
7bd034c009
|
Fixed #7369 (False positive knownConditionTrueFalse - assertions)
|
2016-02-06 14:37:44 +01:00 |
PKEuS
|
0847d3d19a
|
ValueType related bugfixes:
- ptrdiff_t is SIGNED
- Detect pointers to unknown types as pointers
- Do not identify bool* as boolean (#7381)
|
2016-02-05 20:29:17 +01:00 |
PKEuS
|
b4b38fb7ce
|
Use ValueType in CheckOther::invalidPointerCast()
False negative: operator new is currently not supported by ValueType.
|
2016-02-05 20:28:43 +01:00 |
PKEuS
|
6215a48dc9
|
Support member variables in CheckBool::checkAssignBoolToFloat()
|
2016-02-05 20:28:42 +01:00 |
PKEuS
|
e71e9bd538
|
CheckBool: Rely on ValueType, removed a redundant check
|
2016-02-05 15:48:51 +01:00 |
PKEuS
|
618ea498e9
|
ValueType: Support logical operators
|
2016-02-05 15:15:13 +01:00 |
PKEuS
|
35317695d4
|
ValueType: Fixed handling of constness
|
2016-02-05 13:31:31 +01:00 |
PKEuS
|
792835cd9a
|
ValueType: Support ++/--.
|
2016-02-05 12:06:44 +01:00 |
PKEuS
|
2b179dc836
|
ValueType: Properly support ternary operator with pointers (#7378)
|
2016-02-05 09:59:48 +01:00 |
PKEuS
|
3b7948fb4e
|
ValueType: Support ternary operator
|
2016-02-04 21:20:05 +01:00 |
PKEuS
|
a9f52aec04
|
ValueType: Support unary arithmetical/bit operators
|
2016-02-04 21:03:54 +01:00 |
PKEuS
|
cae19cadd3
|
ValueType: Added support for static member variables and simplified code
|
2016-02-04 20:49:13 +01:00 |
PKEuS
|
b801386ac8
|
Fixed bug in Token::findClosingBracket() and broken unit test (#7277)
|
2016-02-04 10:00:54 +01:00 |
PKEuS
|
cc8c498ebb
|
Moved a few tests to testgarbage.cpp
|
2016-02-04 09:10:20 +01:00 |
Alexander Mai
|
d3546ea410
|
#7321 segmentation fault in valueFlowSwitchVariableScope::isVariableDeclaration
|
2016-02-03 22:49:57 +01:00 |
Alexander Mai
|
cfe9c01bf8
|
#7257 segmentation fault in valueFlowSwitchVariable (invalid code). Correct SymbolDatabase::validateVariables() so it does not complain about function arguments for function without body
|
2016-02-03 21:52:02 +01:00 |
Alexander Mai
|
ca2e3b9abb
|
#7370 False positive uselessCallsCompare on unknown type. Ensure related warnings are only issued on STL types
|
2016-02-02 20:26:02 +01:00 |
PKEuS
|
841f17776b
|
Set ValueType for assignment operators, detect division by zero for %= and /= again (#7322)
|
2016-02-02 17:17:55 +01:00 |
PKEuS
|
4b9241f643
|
Removed support for patterns like |a|b and a||b (equal to a|b|)
-> Improved performance by 1,3% (non-matchcompiled build)
|
2016-02-02 11:46:42 +01:00 |
Alexander Mai
|
468a130447
|
Fix compiler warnings introduced by refactoring
|
2016-02-02 09:18:58 +01:00 |
Alexander Mai
|
a288d5eb16
|
#7027 TokenList::validateAst() did not detect broken AST with endless recursion
|
2016-01-31 22:16:58 +01:00 |
Daniel Marjamäki
|
988918c9bc
|
ValueType: Use signed as default sign for short/int/long/longlong
|
2016-01-31 14:34:26 +01:00 |
Daniel Marjamäki
|
e660c55d39
|
TestIO: Refactoring macros
|
2016-01-31 13:49:17 +01:00 |
Daniel Marjamäki
|
b54613a942
|
Fixed #7046 (constexpr value used as template parameter reported as not used)
|
2016-01-31 12:39:43 +01:00 |
PKEuS
|
9d2258677d
|
Improved CheckOther::checkUnusedLabel(): Write a warning instead of a style message if it happens inside a switch()
|
2016-01-31 12:07:24 +01:00 |
Dmitry-Me
|
cdf68353ae
|
Merge pull request #769 from Dmitry-Me/testNoWarningWhenCharIndexInRange
Test for signed char index in positive values range
|
2016-01-31 13:43:18 +03:00 |
Daniel Marjamäki
|
c7f5ca74bd
|
VarId: Set varid for template parameters (#7046)
|
2016-01-31 11:07:30 +01:00 |
PKEuS
|
6d0c2f7253
|
Fixed false positive useClosedFile when noreturn function is called (#7359)
|
2016-01-31 10:39:35 +01:00 |
PKEuS
|
0e8777ec99
|
Fixed crash on garbage code (#7356)
|
2016-01-31 10:25:09 +01:00 |
PKEuS
|
4d01af3fe1
|
Fixed false positive in CheckMemoryLeakStructMember when returning a member that has been allocated (#7302).
|
2016-01-31 10:10:48 +01:00 |
Daniel Marjamäki
|
d5884692df
|
Fixed #7363 (valueflowOppositeCondition - if (size1 > size2) ... else if (size1 < size2) ...)
|
2016-01-30 22:13:03 +01:00 |
PKEuS
|
3b046b42a6
|
Support function pointers in CheckUnusedVar::checkFunctionVariableUsage_iterateScopes() (#7194)
|
2016-01-30 20:59:55 +01:00 |
Daniel Marjamäki
|
b908bb18a9
|
Fixed #5503 (FP: Uninitialized variable - initialize in in if and else branch)
|
2016-01-30 20:48:28 +01:00 |
PKEuS
|
923f7f843d
|
Better distinguishing between possible and known null pointer dereferenciations (#7157)
|
2016-01-30 20:43:40 +01:00 |
PKEuS
|
5d9f275ff8
|
Fixed false positive uninitMemberVar with member function of template (#7205)
|
2016-01-30 20:18:13 +01:00 |
PKEuS
|
23ad881c64
|
Fixed false positive returnLocalVariable (#7180)
|
2016-01-30 20:18:12 +01:00 |
Daniel Marjamäki
|
30f2bb7796
|
ValueFlow: set known value for opposite condition in else if (#5503)
|
2016-01-30 20:03:55 +01:00 |
Matthias Krüger
|
112b35a49e
|
testrunner: add testcode for #6781 (TemplateSimplifier::simplifyTemplateInstantiations causes heap corruption on invalid code)
|
2016-01-30 18:20:45 +01:00 |
Daniel Marjamäki
|
fd67ca146d
|
Fixed #4955 (false positive: Variable 'i' is assigned a value that is never used (only used in template instantiation))
|
2016-01-30 16:49:39 +01:00 |
Daniel Marjamäki
|
0e89620212
|
Fixed #4698 (False positive: Uninitialized member variable warning with confusing namespaces)
|
2016-01-30 14:04:48 +01:00 |
Daniel Marjamäki
|
f3f9ea2d09
|
TemplateSimplifier: One more fix for #3130. Restored max recursion count to 100 and improve pattern for reference template instantiations instead.
|
2016-01-30 11:22:44 +01:00 |
Daniel Marjamäki
|
f116de678e
|
Fixed #3130 (Tokenizer: Doesn't instantiate recursive template correctly)
|
2016-01-30 10:33:25 +01:00 |
Dmitry-Me
|
c74282c258
|
Test for signed char index in positive values range
|
2016-01-29 11:09:25 +03:00 |
Daniel Marjamäki
|
fa31ebf88e
|
Fixed #7349 (checker 'inefficient find()' unintentionally used for find_first_of())
|
2016-01-29 08:55:46 +01:00 |
Daniel Marjamäki
|
b5986f6ad2
|
Fixed #7358 (valueflow: value is not known after conditional assignment)
|
2016-01-27 19:20:00 +01:00 |