7106 Commits

Author SHA1 Message Date
Thomas Jarosch
059f9d056c Move to global variables to file scope
Putting them in the anonymous namespace
is the same effect as making them "static".
2015-01-11 12:37:11 +01:00
PKEuS
787cbcb02e Accept unknown elements in Library files, but print a warning. This fixes backward compatibility of libraries with older cppcheck versions 2015-01-10 22:18:57 +01:00
PKEuS
fd2f93bb80 Two small refactorizations:
- Avoid leaving and entering again critical section without doing anything
- Use isPointer() in checkbufferoverrun.cpp instead of string comparison
2015-01-10 21:03:21 +01:00
PKEuS
d019b7f9a6 Fixed wrong condition in library.cpp 2015-01-10 20:51:14 +01:00
Aneesh Azhakesan S
fe5d2fc245 Fixed #5906 (false negative: 'else if' expression is always false (use library to determine if function is pure)) 2015-01-10 12:21:55 +01:00
Thomas Jarosch
332254e0af Make patterns compilable (mini refactoring) 2015-01-09 23:43:45 +01:00
PKEuS
d110d715ba Refactorization: Use Token::link() when stringifying template argument list in symboldatabase.cpp 2015-01-09 22:03:43 +01:00
PKEuS
4da314b2e4 Declared recently added helper functions as static 2015-01-09 21:40:50 +01:00
PKEuS
25cd3794ac Refactorization: Simplified and unified SymbolDatabase printing 2015-01-09 21:35:16 +01:00
PKEuS
7452613479 Refactorization:
- Merged messages exceptThrowInNoexecptFunction, exceptThrowInNoThrowFunction, exceptThrowInAttributeNoThrowFunction and exceptThrowInDeclspecNoThrowFunction into a single message.
- Merged Token::fIsDeclspecNothrow into Token::fIsAttributeNothrow
2015-01-09 20:18:09 +01:00
PKEuS
4d5bf28b33 Refactorization: Removed code for copying attributes from function declaration to implementation in symboldatabase as it is neither tested nor necessary 2015-01-09 19:46:04 +01:00
Robert Reif
6998c55680 Symboldatabase: function return token (#6244) 2015-01-09 16:08:34 +01:00
Thomas Jarosch
374af15bd4 Fix parsing linkage specifier from global function declaration
Our very own "tools/dmake.cpp" had a function declaration
featuring "static void foobar()" while the function implementation
did not have the 'static' keyword (which is perfectly legal code).
2015-01-09 00:38:25 +01:00
Daniel Marjamäki
2375f1c46d CheckBufferOverrun: Fix FN when multifile checking is used. 2015-01-08 21:01:22 +01:00
Daniel Marjamäki
6a8293a8b7 Library: More strict matching of functions 2015-01-08 19:31:41 +01:00
Robert Reif
ba1c24ee65 Fixed #6422 (symbol database: put function flags into a single flag variable) 2015-01-08 05:45:31 +01:00
Thomas Jarosch
4248c94d87 Silence compiler warning about unused parameter
PKEuS should decide if we can drop the parameter altogether.
2015-01-07 16:30:30 +01:00
Thomas Jarosch
2cb2161c5d Fix unmatched local suppression error message for "unusedFunction" (#6228)
This fixes a regression from commit
e35329aba334059737407063d8780d82d30232f6
(fix for #4946)
2015-01-07 15:40:12 +01:00
orbitcowboy
cd98471398 Merge branch 'master' of https://github.com/danmar/cppcheck 2015-01-07 08:30:17 +01:00
Thomas Jarosch
4bec2b58fd Unused function check: Fix detection of func.usedOtherFile
Check if function is called from another file or not.
2015-01-07 11:29:37 +01:00
orbitcowboy
c07b07b8fe Fixed #6415 - FP stringCompare memcmp(ptr, ptr+offset, length). 2015-01-07 08:30:05 +01:00
orbitcowboy
ba837a6f2d Added support for strpbrk to std.cfg. Running astyle. 2015-01-07 02:34:41 +01:00
Daniel Marjamäki
8a6bb46958 Tokenizer: only print AST in debug output if --verbose is used 2015-01-07 06:46:04 +01:00
Daniel Marjamäki
b0cc46e98b reverted 840b2fb0, it caused FN. tweaked the Tokenizer::simplifyAssignmentBlock to fix the FP it caused. 2015-01-07 06:38:42 +01:00
Daniel Marjamäki
840b2fb035 Tokenizer: Removed simplification Tokenizer::simplifyAssignmentBlock. This fixes a fp in linux. 2015-01-06 20:44:58 +01:00
Daniel Marjamäki
a87fb96eaf Uninitialized variables: fix fp when 'a=((b)=c)' is used 2015-01-06 18:03:40 +01:00
Daniel Marjamäki
88e7b55a2d CheckSizeof: only report warnings when --enable=warning has been used 2015-01-06 15:20:42 +01:00
Daniel Marjamäki
1068e095e7 Fixed cppcheck warning about iterator post increment 2015-01-06 15:16:29 +01:00
Daniel Marjamäki
6c3b7c1d0e CheckBufferOverrun: only report warnings when --enable=warning has been used 2015-01-06 15:14:15 +01:00
Daniel Marjamäki
228f5960fc CheckIO: only report warnings when --enable=warning has been used 2015-01-06 15:08:25 +01:00
Daniel Marjamäki
eee9183406 ValueFlow: improved handling of conditional noreturn scope in valueFlowForward 2015-01-06 14:12:35 +01:00
Daniel Marjamäki
f2e5fbd30d Uninitialized variables: bailout when ({..}) are used to avoid fp. it can be handled better. 2015-01-06 07:44:04 +01:00
Daniel Marjamäki
1f698ca493 ValueFlow: Fixed valueFlowForward, when condition is false and else-block returns dont set values below the else-code 2015-01-05 16:39:47 +01:00
Daniel Marjamäki
fe8d04e840 CheckNullPointer: Fix FP when x is NULL and address is calculated with expression '&x->y.z[0]' 2015-01-05 14:54:24 +01:00
Daniel Marjamäki
c5467766e2 ValueFlow: Fix for valueflow analysis after for loop 2015-01-05 14:00:12 +01:00
Daniel Marjamäki
a80101f277 CheckMemoryLeak: Fix FP for allocation functions that register memory before returning it 2015-01-05 13:23:38 +01:00
Daniel Marjamäki
fb685f096a CheckOther:checkNegativeBitwiseShift: Fix FP when shift is protected by ?: 2015-01-05 10:01:04 +01:00
Thomas Jarosch
1ef1143609 Make local functions static 2015-01-05 01:25:49 +01:00
Daniel Marjamäki
d1927e3492 Removed Tokenizer::simplifyStructInit simplification. 2015-01-04 16:48:52 +01:00
PKEuS
432ff8fa7b Fixed GCC warnings in checkstl.cpp 2015-01-04 14:32:20 +01:00
Daniel Marjamäki
7bafbfbd6e Tokenizer: cleanup simplification of '!= 0' to avoid FP in 'x[(y & 0x80) != 0]' (linux) 2015-01-04 13:50:54 +01:00
PKEuS
e06a4cdf00 Refactorized CheckStl::if_find():
- Added support for find()-like functions to Library::Container
- Use <container> information from library
- Fixed false positive #6402
2015-01-04 12:43:50 +01:00
Daniel Marjamäki
f94243f85e CheckMemoryLeak: Fix fp for allocation function that returns success value 2015-01-04 11:46:26 +01:00
Daniel Marjamäki
b3c2ea2c4f CheckUninitVar: Fix fp for 'int x=2+x();' when x() is an unseen preprocessor macro 2015-01-04 11:13:20 +01:00
Zachary Blair
22bd20c94a New check: Use make_shared/make_unique (#5673) 2015-01-04 11:07:53 +01:00
PKEuS
016e89e422 Refactorizations:
- Disabled some parts of setVarId() for C code.
- Fixed mistake in <contaier> documentation
2015-01-04 10:52:11 +01:00
Daniel Marjamäki
8dd569b9e1 Refactoring: Use AST in CheckUninitVar::isVariableUsage() to determine if & operator is address-of. This fixes FP in linux. 2015-01-04 09:23:24 +01:00
PKEuS
11fa185cae Fixed crash on range-based for-loop 2015-01-03 22:36:39 +01:00
PKEuS
7ece58c3a0 CheckStl::stlOutOfBounds() now uses <container> information from Libraries 2015-01-03 22:18:33 +01:00
PKEuS
e39729ffcc Library: Add <container> tag to Libraries, provide configuration for std::vector, std::deque, std::array and STL strings
Token: Added function to jump to the next template argument
2015-01-03 22:18:33 +01:00