12613 Commits

Author SHA1 Message Date
PKEuS
d8e282fe76 Refactorization: Made checkUninitVar::isVariableUsage() non-static 2015-01-21 13:52:03 +01:00
PKEuS
346532d312 Fixed false positives in CheckUninitVar::checkStruct() 2015-01-21 13:11:48 +01:00
Matthias Krüger
bd7765e008 gui: cppcheck_es.ts: revert from filemode 755 (exectuable) back to 644. 2015-01-21 13:09:24 +01:00
PKEuS
54de731cac Refactorized CheckUninitVar::checkScope(), fixed false negative 2015-01-21 12:20:03 +01:00
PKEuS
5f36c7c914 Improved detection of Type::needInitialization:
- Implement shortcut for C code - all types need initialization there
- Break out of loop faster if we encounter a type that needs initialization (it is sufficient if one member needs initialization)
2015-01-21 10:34:58 +01:00
PKEuS
3274a00b82 Moved some more tests to testgarbage.cpp 2015-01-21 10:04:46 +01:00
ngosang
f82dcc0523 Updated spanish translations 2015-01-21 06:12:03 +01:00
Martin Ettl
fab34a8382 Fixed a few inconclusive warnings regarding const-correctness in cppcheck code base. 2015-01-20 16:50:16 +01:00
Samir Aguiar
141a071792 * Added Clang-related flag to gui.pro
* Updated external lib location with PWD variable
2015-01-20 19:20:00 +01:00
Thomas Jarosch
ec21134817 Fix false negatives for local suppressions
Introduce a new bool setting jointSuppressionReport
that will be set by the analyseWholeProgram() code path.

When the flag is enabled, unmatched suppressions are
collected after running the final whole program analysis
to prevent false positives for the unusedFunction check.

The check functions in the unit test
for single / multi file suppressions were unified.
2015-01-20 18:47:30 +01:00
orbitcowboy
5a8574cc05 tokenlist::createAst(); should not be const. 2015-01-20 11:22:22 +01:00
orbitcowboy
bf1565bd34 Fixed inconclusive warnings regarding const correctness. 2015-01-20 09:09:16 +01:00
orbitcowboy
ff415871bd Fixed some const correctness issues in the test suite. 2015-01-19 18:00:05 +01:00
Robert Reif
56dc0b02ef Fixed #6432 (cppcheck fails to detect ctor - partial template specialization) 2015-01-19 16:15:11 +01:00
orbitcowboy
81aaa02c76 std.cfg: Added support for swprintf(). 2015-01-19 14:30:58 +01:00
orbitcowboy
91d58a51cb std.cfg: wcsrtombs() is allowed to have a NULL pointer as first argument. 2015-01-19 13:21:47 +01:00
orbitcowboy
7c737f0350 std.cfg: Added more functions and improved documentation. 2015-01-19 11:55:16 +01:00
Robert Reif
3b8540fdc0 Fixed #6424 (false negative: Use of 'class Ns::C' silence Cppcheck) 2015-01-19 06:38:54 +01:00
Martin Ettl
e7a95e68ac std.cfg: Improved documentation. No functional changes. [ci skip] 2015-01-18 16:11:20 +01:00
Martin Ettl
4294e7a2d9 std.cfg: Improved documentation and added support for more functions. 2015-01-18 15:31:16 +01:00
Martin Ettl
8dab677eac std.cfg: Improved documentation and added ilogb function support. 2015-01-18 15:05:06 +01:00
Martin Ettl
7c91dd2da6 std.cfg: Improved function support and documentation. 2015-01-18 14:37:07 +01:00
Matthias Krüger
5fecd85a33 travis: do check clangs test/CXX/temp/temp.decls/temp.mem/p5.cpp 2015-01-18 14:19:02 +01:00
Matthias Krüger
8cf5765012 travis: update clang hash 2015-01-18 14:17:30 +01:00
Matthias Krüger
01dba4062f testrunner: add testcases for fixed crashes in Template code: #5950 #6034 #6108 #6117 #6225 2015-01-18 14:13:59 +01:00
Martin Ettl
b23772381d std.cfg: Improved support for math functions. 2015-01-18 13:35:40 +01:00
Thomas Jarosch
a83fe0e268 Check "var" for null pointer before using it
Reported by covertey -> amai on IRC.
2015-01-18 13:02:58 +01:00
Thomas Jarosch
c0aceb893e Replace custom code with Settings::isWindowsPlatform() 2015-01-18 12:43:43 +01:00
Thomas Jarosch
9a5260a43f Only simplify Windows's DEBUG_NEW macro on Windows platform 2015-01-18 12:20:23 +01:00
Thomas Jarosch
cd4c297dce Fix segfault in template simplifier
When something parsing the template syntax
went wrong, "tok2" was NULL and resulted
in deleting all remaining tokens. Whoops.

Triggered by gcc test suite:
gcc/testsuite/g++.dg/cpp0x/variadic87.C

Tracked down the source of the bug with
valgrind's "--track-origins=yes" switch.
2015-01-18 01:43:43 +01:00
Thomas Jarosch
58cb6cc116 Add new "style" check to catch redundant pointer operations
Doing "&*some_ptr_var" is redundant and might be the remainder
of a refactoring. Warnings for expanded macros are excluded though:
They are often used with and without pointers and
do something like this: "func(&(*macroarg))".

The new check is fully AST based and was given
strong false positive testing on a large code base.
2015-01-18 00:34:07 +01:00
Thomas Jarosch
2bcd675653 Verbose AST dump: Show if token is expanded from macro
I also added the token variable id, but that decreased
readability of the AST tree too much.
2015-01-17 23:20:52 +01:00
Thomas Jarosch
10fffbfce0 Use unsigned int for all flags
Frank Zingsheim reported: With the parameter 'flag_'
and the member variable '_flags' having the type 'int'
produces a lot of warings in clang:

"warning: implicit conversion changes signedness: 'int' to 'unsigned int'".
2015-01-17 16:46:05 +01:00
Thomas Jarosch
fd01cafb1b Clean up redundant pointer operations 2015-01-17 16:29:50 +01:00
Thomas Jarosch
e6f042dadc Multi process check: Sanitize error messages for illegal characters
before sending them across the pipe.

The deserializer died while deserializing
a string containing a binary zero.
2015-01-17 16:12:00 +01:00
Thomas Jarosch
36bcefc39d Don't crash when the deserialization of an error message fails
Found while scanning the code of an
open source project related to onions.
2015-01-17 16:09:58 +01:00
Robert Reif
193645318b Tokenizer: Remove macro in class declaration like 'class DLLEXPORT Fred {}' to be able to handle the class better later 2015-01-17 07:42:49 +01:00
orbitcowboy
42397ee8cb std.cfg: Improved support for <cwchar> (wchar.h). 2015-01-15 23:14:10 +01:00
orbitcowboy
4e549d7d22 std.cfg: Fixed typo in previous commit, where support for wcsftime() from <cwchar> (wchar.h) was added. 2015-01-15 21:11:21 +01:00
orbitcowboy
fb984ab5e9 std.cfg: Added support for wcsftime() from <cwchar> (wchar.h). 2015-01-15 21:09:55 +01:00
Thomas Jarosch
08985bf68a Throw exception in getVariableFromVarId() if called with out_of_range varId
That way we have a chance to catch code bugs at all.
2015-01-15 18:52:11 +01:00
orbitcowboy
20aea9deb3 Merge branch 'master' of https://github.com/danmar/cppcheck 2015-01-15 15:26:10 +01:00
orbitcowboy
4b71e5f9cb std.cfg: Improved support for complex.h functions and improved documentation. 2015-01-15 15:25:50 +01:00
Thomas Jarosch
cf64fd3dad Add more complex variation of the #6406 unit test
This is a false negative right now.
2015-01-15 14:45:10 +01:00
orbitcowboy
4222333785 std.cfg: Added documentation to some functions. 2015-01-15 10:43:15 +01:00
Thomas Jarosch
0286abfb45 Add unit test for #6406 2015-01-14 23:05:33 +01:00
Thomas Jarosch
1cc85bfce3 Add bounds check to getVariableFromVarId()
While poking around the memory leak check,
I managed to trigger an out-of-bounds access
in the symbol database.

Fix it by sanity checking the variable id
passed to getVariableFromVarId().
2015-01-14 23:00:38 +01:00
Thomas Jarosch
ef7f104335 Make sure we have a valid Variable pointer before dereferencing it
All other call sites check the pointer already.
2015-01-14 23:00:28 +01:00
orbitcowboy
823af34c67 std.cfg: Added support for <cwtype> (wtype.h) functions. 2015-01-14 06:54:35 +01:00
orbitcowboy
a26aa1cd16 testmathlib: Fixed typo in comment, no functional changes. 2015-01-14 00:51:50 +01:00