Daniel Marjamäki
|
70a7915173
|
CppCheck: Improve output when first configuration is not empty.
|
2017-04-06 19:52:21 +02:00 |
Daniel Marjamäki
|
50da7d4919
|
Tokenizer: Write syntax error if there is C++ code in C file.
|
2017-04-06 08:50:35 +02:00 |
Daniel Marjamäki
|
fd2651909c
|
Fixed #7978 (ValueType: container type not set properly)
|
2017-04-06 07:07:20 +02:00 |
Daniel Marjamäki
|
fee86b9684
|
ValueType: Better handling of 'new Container'
|
2017-04-05 22:05:29 +02:00 |
PKEuS
|
47570f5791
|
Set version to 1.78.99/1.79 dev
|
2017-04-05 11:24:26 +02:00 |
Daniel Marjamäki
|
e6ed08c4d8
|
Fixed #7976 (Internal error. Token::astOperand1() cyclic dependency. (ticket nr 2, new regression))
|
2017-04-05 11:00:02 +02:00 |
Daniel Marjamäki
|
9c5a136f04
|
Fixed #7975 (crash: Tokenizer::createLinks2 problem with enable_if<x&&y,C*>)
|
2017-04-03 21:48:22 +02:00 |
Matthias Krüger
|
79010eecea
|
lib: fix a bunch of warnings about differing function arguments in definition and declaration.
[lib/token.h:72] -> [lib/token.cpp:36]: (style, inconclusive) Function 'Token' argument 1 names different: declaration 'tokensBack' definition 't'.
[lib/token.h:445] -> [lib/token.cpp:497]: (style, inconclusive) Function 'multiCompare' argument 1 names different: declaration 'needle' definition 'tok'.
[lib/checkio.h:73] -> [lib/checkio.cpp:1385]: (style, inconclusive) Function 'ArgumentInfo' argument 3 names different: declaration 'isCPP' definition '_isCPP'.
[lib/checkother.h:216] -> [lib/checkother.cpp:2136]: (style, inconclusive) Function 'checkComparisonFunctionIsAlwaysTrueOrFalseError' argument 2 names different: declaration 'strFunctionName' definition 'functionName'.
[lib/errorlogger.h:214] -> [lib/errorlogger.cpp:51]: (style, inconclusive) Function 'ErrorMessage' argument 2 names different: declaration 'file0' definition 'file0_'.
[lib/errorlogger.h:215] -> [lib/errorlogger.cpp:65]: (style, inconclusive) Function 'ErrorMessage' argument 2 names different: declaration 'file0' definition 'file0_'.
[lib/library.h:327] -> [lib/library.cpp:1043]: (style, inconclusive) Function 'ignorefunction' argument 1 names different: declaration 'function' definition 'functionName'.
[lib/mathlib.h:112] -> [lib/mathlib.cpp:1275]: (style, inconclusive) Function 'isNullValue' argument 1 names different: declaration 'tok' definition 'str'.
[lib/preprocessor.h:91] -> [lib/preprocessor.cpp:122]: (style, inconclusive) Function 'setDirectives' argument 1 names different: declaration 'tokens' definition 'tokens1'.
[lib/symboldatabase.h:860] -> [lib/symboldatabase.cpp:1801]: (style, inconclusive) Function 'argsMatch' argument 1 names different: declaration 'info' definition 'scope'.
[lib/symboldatabase.h:1171] -> [lib/symboldatabase.cpp:2048]: (style, inconclusive) Function 'addClassFunction' argument 1 names different: declaration 'info' definition 'scope'.
[lib/symboldatabase.h:1174] -> [lib/symboldatabase.cpp:2208]: (style, inconclusive) Function 'addNewFunction' argument 1 names different: declaration 'info' definition 'scope'.
[lib/symboldatabase.h:1090] -> [lib/symboldatabase.cpp:3648]: (style, inconclusive) Function 'findVariableType' argument 2 names different: declaration 'type' definition 'typeTok'.
[lib/symboldatabase.h:1101] -> [lib/symboldatabase.cpp:4308]: (style, inconclusive) Function 'findType' argument 1 names different: declaration 'tok' definition 'startTok'.
[lib/symboldatabase.h:1176] -> [lib/symboldatabase.cpp:4349]: (style, inconclusive) Function 'findTypeInNested' argument 1 names different: declaration 'tok' definition 'startTok'.
[lib/symboldatabase.h:1193] -> [lib/symboldatabase.cpp:4501]: (style, inconclusive) Function 'setValueType' argument 2 names different: declaration 'enumerators' definition 'enumerator'.
[lib/path.h:159] -> [lib/path.cpp:247]: (style, inconclusive) Function 'isCPP' argument 1 names different: declaration 'extensionInLowerCase' definition 'path'.
[lib/path.h:145] -> [lib/path.cpp:266]: (style, inconclusive) Function 'acceptFile' argument 1 names different: declaration 'filename' definition 'path'.
|
2017-04-03 00:06:46 +02:00 |
Daniel Marjamäki
|
abb43b6a81
|
Fixed #7934 (Wrong AST for 'for (i=0;cond;({min(x,10);}))')
|
2017-04-02 19:44:33 +02:00 |
Daniel Marjamäki
|
de80d41ef4
|
CheckFunctions::checkIgnoredReturnValue: Dont warn in C++11 initializer lists in function arguments
|
2017-04-02 19:44:27 +02:00 |
Daniel Marjamäki
|
6f2db1a312
|
CHECK_WRONG_DATA: restore debug macro so crashes are seen.
|
2017-04-02 17:23:30 +02:00 |
Daniel Marjamäki
|
d403a6a883
|
Preprocessor::getConfigs: Remove bad configurations when #error is seen
|
2017-04-02 12:15:53 +02:00 |
Daniel Marjamäki
|
7eb95aac2a
|
Preprocessor::getConfigs: Handle #error in '#if !A' better
|
2017-04-02 10:06:39 +02:00 |
Daniel Marjamäki
|
87bc667289
|
astyle formatting
[ci skip]
|
2017-04-02 09:26:14 +02:00 |
Daniel Marjamäki
|
edd1c32e5b
|
Preprocessor::getConfigs: Better handling of ! in #if
|
2017-04-02 09:03:43 +02:00 |
Daniel Marjamäki
|
b7dcdc00d0
|
Fixed #7970 (ValueType: no types set below 'new std::string')
|
2017-04-01 22:22:37 +02:00 |
Daniel Marjamäki
|
1faca91c1d
|
Added 'endsWith' utility function. This will make compiling the democlient easier.
|
2017-04-01 18:14:18 +02:00 |
Daniel Marjamäki
|
2eda59eb72
|
Update version
|
2017-04-01 11:03:45 +02:00 |
Daniel Marjamäki
|
1dbf485e02
|
Fix Cppcheck warnings. Remove redundant null pointer check.
|
2017-04-01 10:51:45 +02:00 |
Daniel Marjamäki
|
279b66003b
|
Fix Cppcheck warnings about mismatching argument names
|
2017-04-01 10:34:53 +02:00 |
PKEuS
|
ea215c3b7b
|
Fixed false positives in CheckClass::checkConst() due to unmatched function overloads
Fixed function matching if constness mismatches
|
2017-04-01 10:19:32 +02:00 |
Daniel Marjamäki
|
633ed23c0d
|
Fix Cppcheck warnings about mismatching function argument names
|
2017-04-01 09:31:27 +02:00 |
Roberto Martelloni
|
35d1479d05
|
CWE mapping of funcArgOrderDifferent, funcArgNamesDifferent (#885)
Add an optional extended description…
|
2017-04-01 08:36:46 +02:00 |
Daniel Marjamäki
|
164df2aa7b
|
Fixed #7966 (ValueType: wrong type for gcc initialization {[1]=..})
|
2017-03-31 09:41:38 +02:00 |
Daniel Marjamäki
|
8fe7ee1012
|
Fixed #7886 (ValueFlow: endless forloop 'for (i = 0, j = 0; i < sz && j < 9; i++)')
|
2017-03-30 22:02:36 +02:00 |
Daniel Marjamäki
|
a8788d7fc7
|
Fix Cppcheck warning
|
2017-03-30 11:20:04 +02:00 |
Daniel Marjamäki
|
2da3123db2
|
Fix ValueType. The '[' in variable declaration is not a dereference.
|
2017-03-30 11:01:29 +02:00 |
Daniel Marjamäki
|
cc3ef7bbe8
|
Fix so array access out of bounds for external arrays are detected again
|
2017-03-30 10:14:17 +02:00 |
IOBYTE
|
7cae057615
|
Add missing varid or variable for member variables.
Add an optional extended description…
|
2017-03-30 10:07:58 +02:00 |
Daniel Marjamäki
|
c9eb7f4556
|
minor update of 64-bit checker
|
2017-03-30 10:07:25 +02:00 |
PKEuS
|
3c8f5b85ae
|
Refactorization: Allocate Token::_values (ValueFlow information) dynamically, reducing size of each token by around 10%
|
2017-03-27 18:48:34 +02:00 |
PKEuS
|
2938278f00
|
Refactorization: Store minsizes in vector instead of list which has less overhead
|
2017-03-27 17:53:43 +02:00 |
PKEuS
|
63d39390b4
|
checkbufferoverrun.cpp: refactorizations
|
2017-03-27 16:09:51 +02:00 |
PKEuS
|
83b1e1c329
|
CheckBufferOverrun: Refactorizations
- Improved/Optimized conditions in checkBufferAllocatedWithStrlen()
- Avoid copying strings for checkScope()
|
2017-03-27 11:48:34 +02:00 |
PKEuS
|
680828788b
|
Fixed false negative in CheckBufferOverrun::checkInsecureCmdLineArgs(), removed redundant tests
|
2017-03-27 11:30:07 +02:00 |
PKEuS
|
171e1b8244
|
Fixed false negatives in CheckBufferOverrun::arrayIndexThenCheck()
|
2017-03-27 11:07:49 +02:00 |
Daniel Marjamäki
|
62d4077dd0
|
Fix Cppcheck warning
|
2017-03-26 11:40:53 +02:00 |
Daniel Marjamäki
|
6874f27e73
|
Added CHECK_WRONG_DATA() that can be used to avoid crashes/hangs in release binaries
|
2017-03-26 11:23:39 +02:00 |
Daniel Marjamäki
|
4a1c04cb33
|
Preprocessor: Removed redundant initialization
|
2017-03-26 11:10:48 +02:00 |
Robert Reif
|
c96e8daebc
|
Don't change varid of member variables.
|
2017-03-25 10:59:35 -04:00 |
Daniel Marjamäki
|
f5d56fd303
|
Fixed #7961 (Hang in CheckOther::checkFuncArgNamesDifferent)
|
2017-03-24 22:01:05 +01:00 |
Daniel Marjamäki
|
5fb0f46a3a
|
ValueType: Hide assignment operator
|
2017-03-24 13:38:45 +01:00 |
PKEuS
|
f4c0ab5dd5
|
SymbolDatabase: Match function overloads by using ValueType information by running a second pass of the function pointer assignment routine.
|
2017-03-24 12:19:29 +01:00 |
Alexander Alekseev
|
abba762d42
|
New check: checking for copy ctor and eq operator co-existence
|
2017-03-24 12:00:20 +01:00 |
Robert Reif
|
bc87e874e9
|
Add variable and type information for auto and auto variables in range based for loops of containers.
|
2017-03-23 20:14:49 -04:00 |
Robert Reif
|
7adfb6e0e4
|
Add variable and type information to tokens for C array range based for loops.
|
2017-03-23 19:48:20 -04:00 |
PKEuS
|
97fa9e9d1b
|
ValueFlow: Stop on inline assembly
|
2017-03-23 20:01:16 +01:00 |
PKEuS
|
9225bff31d
|
Added (back) support for enums to CheckCondition::checkIncorrectLogicOperator() (#7794)
|
2017-03-23 18:57:48 +01:00 |
PKEuS
|
996501a449
|
Fixed false positive #7953: Support type conversion operators returning pointers
|
2017-03-23 18:12:46 +01:00 |
Daniel Marjamäki
|
c280bcedb4
|
Merge pull request #880 from IOBYTE/master
Update symbol database with new auto type and variable information for assignment to auto.
|
2017-03-23 08:51:06 +01:00 |
Robert Reif
|
662bc6f846
|
Add variable or type information to auto and auto variable tokens. Changing the auto variable type requires rerunning the variable pointer pass to correct the symbol database for the new type.
|
2017-03-22 22:09:40 -04:00 |
Robert Reif
|
fda1f02dab
|
long double is a floating point type.
|
2017-03-22 19:11:40 -04:00 |
Daniel Marjamäki
|
865588950a
|
Preprocessor: quick fix for #7939
|
2017-03-22 10:53:21 +01:00 |
Robert Reif
|
f099c6a110
|
Refactor symbol database value type support by making setValueTypeInTokenList and setValueType member functions of SymbolDatabase. Class variables are no longer passed around as parameters but accessed directly which simplifies the code. There should be no functional change.
|
2017-03-21 21:55:22 -04:00 |
orbitcowboy
|
a7f1188151
|
Astyle run.
|
2017-03-21 14:22:28 +01:00 |
Simon Martin
|
fb2b29dc7d
|
Update TemplateSimplifier::getTemplateNamePosition to handle out-of-line template methods.
Add an optional extended description…
|
2017-03-19 20:44:20 +01:00 |
Daniel Marjamäki
|
c18fe8262b
|
Fixed #7934 (Wrong AST for 'for (i=0;cond;({min(x,10);}))')
|
2017-03-19 07:26:11 +01:00 |
PKEuS
|
7c0aa4464c
|
Fixed travis build by replacing Token::Match by simpleMatch()
Added missing files to cppcheck.vcxproj.filters
|
2017-03-16 21:15:10 +01:00 |
PKEuS
|
8a3fb4dd6c
|
SymbolDatabase: Fixed return type token detection for template member functions (#7945)
|
2017-03-16 20:47:24 +01:00 |
PKEuS
|
ca3e3b3cdb
|
Fixed false positive multiCondition when & is used in both conditions (#7827)
|
2017-03-15 19:37:14 +01:00 |
PKEuS
|
c638180753
|
Fixed crash in clang test suite introduced in b27ba72fdd
|
2017-03-15 19:22:42 +01:00 |
PKEuS
|
816106560a
|
More conservative check for non-commutative operator+ in isSameExpression() (#7938)
|
2017-03-15 19:17:40 +01:00 |
PKEuS
|
bcba27fbb9
|
SymbolDatabase: Removed unnecessary bailout in function matching for pointers in function overload matching
|
2017-03-15 18:45:33 +01:00 |
PKEuS
|
b27ba72fdd
|
SymbolDatabase: Support function overload matching for member variables (#7932)
|
2017-03-15 18:37:22 +01:00 |
PKEuS
|
92414b923a
|
Library: Support variadic functions which are not a formatstr-function
|
2017-03-14 17:41:34 +01:00 |
Daniel Marjamäki
|
263c3596d5
|
known conditions: dont warn about 0 or 1 conditions as those look intentional
|
2017-03-08 18:39:19 +01:00 |
Daniel Marjamäki
|
8c707876ed
|
Tokenizer: Don't simplify '({..})' wrongly
|
2017-03-08 11:41:18 +01:00 |
Daniel Marjamäki
|
5d7fa590af
|
Don't check ignored function return value in ({..}). Ticket: #7934
|
2017-03-08 10:23:38 +01:00 |
PKEuS
|
00904ba32a
|
Fixed false negatives in CheckOther::checkPassByReference() when assignment operator is used.
|
2017-03-07 21:49:28 +01:00 |
PKEuS
|
3da1de7893
|
Do not exclude std::shared_ptr and std::unique_ptr from checkPassByReference() (#7834)
These two types are larger than one pointer. Hence, passing by reference is faster.
|
2017-03-07 21:18:08 +01:00 |
PKEuS
|
1c3f010935
|
Fixed false positive: Exclude STL shared pointers from checkPassByReference() (#7834)
|
2017-03-07 21:04:19 +01:00 |
Daniel Marjamäki
|
5ea9519586
|
UseRetVal: Fix FN for methods
|
2017-03-05 22:23:16 +01:00 |
Daniel Marjamäki
|
2daf7f5430
|
Merge pull request #874 from simartin/ticket_7912
Ticket #7912: Properly preprocess files with decreasing line numbers, due to #line directives
|
2017-03-05 20:33:53 +01:00 |
Daniel Marjamäki
|
e560ad1616
|
update std::string config
|
2017-03-05 18:19:49 +01:00 |
Simon Martin
|
43e4364675
|
Ticket #7912: Properly preprocess files with decreasing line numbers, due to #line directives.
|
2017-03-05 16:46:43 +01:00 |
Daniel Marjamäki
|
6c1096bf71
|
ValueType: First change to handle 'for (auto i : container)'
|
2017-03-05 15:40:29 +01:00 |
Daniel Marjamäki
|
ab7cf5d215
|
ValueType: set ValueType for method that returns iterator
|
2017-03-05 14:53:32 +01:00 |
Daniel Marjamäki
|
fa7501d3a5
|
ValueType: stl variables should now be handled
|
2017-03-05 10:33:17 +01:00 |
Daniel Marjamäki
|
f3c0461001
|
ValueType: handling scoped types in 'new ...'
|
2017-03-05 10:24:51 +01:00 |
Daniel Marjamäki
|
e0dd0a82ed
|
ValueType: refactor and improve handling of 'new ...'
|
2017-03-05 10:02:47 +01:00 |
Robert Reif
|
e02b2c4483
|
ValueType: handle new nothrow
|
2017-03-05 02:13:00 +01:00 |
Daniel Marjamäki
|
115ea08544
|
ValueType: Allow that type is library-container
|
2017-03-05 02:09:52 +01:00 |
Daniel Marjamäki
|
c832b2f40b
|
ValueType: Fixed bug
|
2017-03-05 01:39:56 +01:00 |
Daniel Marjamäki
|
920398615d
|
ValueType: handle scoped types in parsedecl
|
2017-03-05 01:21:02 +01:00 |
Daniel Marjamäki
|
2f2ac46243
|
Replaced hardcoding for char16_t and char32_t with configuration
|
2017-03-04 16:30:42 +01:00 |
Daniel Marjamäki
|
12fe4a8b3e
|
Fixed #7885 (ValueType: Wrong type for large hexvalue (platform=win32A))
|
2017-03-04 14:19:14 +01:00 |
Daniel Marjamäki
|
ecc59859e1
|
Don't simplify _Bool in TokenList
|
2017-03-04 11:13:28 +01:00 |
Daniel Marjamäki
|
f0c353abcb
|
TokenList: append 'U' if needed on hexvalues
|
2017-03-04 08:47:53 +01:00 |
Daniel Marjamäki
|
1c6c209353
|
Fixed #7890 (1.77 false positive from knownConditionTrueFalse with function-like macros)
|
2017-03-03 19:53:16 +01:00 |
Daniel Marjamäki
|
b1ce229006
|
Small refactoring
|
2017-03-03 19:09:32 +01:00 |
Daniel Marjamäki
|
59c1c76a97
|
Fixed #7466 (Reference variable does not count side-effects (FP variableScope))
|
2017-03-03 19:07:00 +01:00 |
Daniel Marjamäki
|
b5f2fd3c55
|
Fixed #7738 (False positive deallocret - delete and return NULL pointer)
|
2017-03-03 18:36:06 +01:00 |
Daniel Marjamäki
|
d1c66edb03
|
ValueFlow: Known values in conditional code
|
2017-03-03 01:29:34 +01:00 |
Daniel Marjamäki
|
45c5860ca4
|
Fixed #7926 (Memory Leak with auto not detected)
|
2017-03-02 22:24:26 +01:00 |
Daniel Marjamäki
|
9dc219f1ba
|
CheckIO: Use ValueType more
|
2017-03-01 22:33:31 +01:00 |
Daniel Marjamäki
|
995d875cb2
|
SymbolDatabase: Refactoring
|
2017-03-01 18:09:50 +01:00 |
Daniel Marjamäki
|
51b5f1c286
|
Fixed #7931 (crash: SymbolDatabase: Variable::setFlag)
|
2017-03-01 17:13:22 +01:00 |
PKEuS
|
7eee6af4ce
|
Fixed broken condition
|
2017-03-01 11:42:14 +01:00 |
PKEuS
|
2f0db369f0
|
Refactorization: Avoid construction of empty strings by using emptyString
|
2017-03-01 10:50:50 +01:00 |
PKEuS
|
d501e488ca
|
Refactorization: Reordered conditions in Scope::findFunction()
|
2017-03-01 10:27:01 +01:00 |