Commit Graph

12682 Commits

Author SHA1 Message Date
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
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
Thomas Jarosch 027ce0e81f Match compiler: Add unit test for C string replacements 2015-01-09 20:20:54 +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
PKEuS c4269b3b44 Fixed #6390, strncmp and similar functions are <pure/> 2015-01-09 14:35:12 +01:00
orbitcowboy a5e3f2889c std.cfg: Added functions from <cfenv>. 2015-01-09 13:39:46 +01:00
orbitcowboy 85bca7e22f std.cfg: Improved documentation for some functions. No functional changes. 2015-01-07 20:15:08 +01:00