Commit Graph

12942 Commits

Author SHA1 Message Date
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
orbitcowboy c4fc2181a7 std.cfg: Added support for <csignal> (signal.h) functions. 2015-01-13 23:13:25 +01:00
orbitcowboy da1389880a std.cfg: Documented <csetjmp> (setjmp.h) functions. No functional changes. 2015-01-13 21:55:43 +01:00
orbitcowboy b10a082ba5 std.cfg: Added support for <clocale> (locale.h) functions. 2015-01-13 21:49:08 +01:00
orbitcowboy c8678c90f4 std.cfg: Fixed missing attributes of <ctime> (time.h) functions. 2015-01-13 19:29:44 +01:00
orbitcowboy 3f6933c7e3 std.cfg: Added support for <cfenv> (fenv.h) functions. 2015-01-13 19:21:22 +01:00
Thomas Jarosch c92d861b1e Fix typo in "internal error" message 2015-01-12 23:09:17 +01:00
Robert Reif 68bb197bcb Destructor detected as constructor resulting in false variable not initialized warnings 2015-01-12 06:11:22 +01:00
Martin Ettl 910af75e3a testmemleak: Added missing () in test case. 2015-01-11 10:27:37 +01:00
Martin Ettl 37c89a6b70 Fixed #6311: Add support for GNU get_current_dir_name(). 2015-01-11 10:12:39 +01:00
Martin Ettl 6f000fb16b Fixed #6407: Add support for C++11 float_t and double_t types. 2015-01-11 09:58:15 +01:00
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 70ace39a80 Implemented changes from 787cbcb02e in GUI 2015-01-10 22:51:45 +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
Alexander Mai b30f03709a Remove <use-retval/> for feclearexcept() and getwchar() 2015-01-10 18:16:07 +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
Thomas Jarosch c971387ccd Suppress one new message to fix travis 2015-01-09 23:05:29 +01:00
Thomas Jarosch 0c21f77873 MC: Add ability to show skipped (=non-compiled) patterns 2015-01-09 22:50:42 +01:00
Thomas Jarosch 5b4f543c3b Match compiler: Support match patterns with escaped quotes
This allows us to compile patterns like 'extern "C"'.
Fixes long standing open issues in the MC unit test.
2015-01-09 22:41:40 +01:00