Commit Graph

9667 Commits

Author SHA1 Message Date
Andrew C. Martin 4a73c93750 Fix compiler warnings and comment/string typos
- fix g++ warning:

> lib/checkother.cpp:3779: warning: comparison between signed and unsigned integer expressions

 - fix suncc warning (see [everything2](http://everything2.com/title/C%252B%252B%253A+static+extern+%2522C%2522)):

> "lib/checkmemoryleak.cpp", line 578: Warning (Anachronism): Formal argument __compar of type extern "C" int(*)(const void*,const void*) in call to bsearch(const void*, const void*, unsigned long, unsigned long, extern "C" int(*)(const void*,const void*)) is being passed int(*)(const void*,const void*).

- prefer empty() / isEmpty() over "size() > 0" (cases not caught by stlSize)

- fix word misspellings (mostly comments, a few output lines)

  - Parenthesis => Parentheses (both variations were used in the codebase)

  - fix typo and wording ("never alwayw") in gui/test/data/benchmark/simple.cpp's CheckOther::unsignedPositive():

```
-  "An unsigned variable will never alwayw be positive so it is either pointless or "
+  "An unsigned variable can't be negative so it is either pointless or "
```
2013-01-16 07:37:07 -07:00
Daniel Marjamäki 78f3c5f772 Unused functions: Fixed invalid pattern match 2013-01-16 06:43:19 +01:00
Daniel Marjamäki 27eedcd0a3 Merge pull request #127 from rofl0r/master
sanitize the descriptive text displayed for "varFuncNullUB"
2013-01-15 21:34:03 -08:00
rofl0r 623e30d677 fix unit test for varFuncNullUB 2013-01-15 20:45:53 +01:00
Thomas Jarosch f4227967ce Simplify token string access
"internal" check reported:
[lib/tokenize.cpp:6671]: (style) Call to 'Token::tokAt()' followed by 'Token::str()' can be simplified.
2013-01-15 20:37:02 +01:00
Thomas Jarosch 5c8b05ce94 Use Token::simpleMatch() for simple pattern
"internal" check reported:
[lib/symboldatabase.cpp:945]: (warning) Found simple pattern inside Token::Match() call: "> ("
2013-01-15 20:34:11 +01:00
Daniel Marjamäki 2fa35a6f8d Fixed #4429 (unused functions: handle function declarations better) 2013-01-15 17:00:28 +01:00
rofl0r de72ae9f45 sanitize the descriptive text displayed for "varFuncNullUB" 2013-01-14 18:11:16 +01:00
Thomas Jarosch 9f9c654621 MC: Implement verify mode for compiled Token::findmatch patterns 2013-01-14 11:18:33 +01:00
Thomas Jarosch 63e18d6b1c MC: Split _replaceTokenFindMatch() into two small functions 2013-01-14 11:06:59 +01:00
Thomas Jarosch 017783a77e MC: Save one indentation level 2013-01-14 11:06:55 +01:00
Thomas Jarosch 06a7d301e2 MC: Switch to assertEqual function from python's unittest 2013-01-14 11:06:40 +01:00
Thomas Jarosch 3bb8237cdc MC: Turn MatchCompiler tests into python unit test 2013-01-14 11:06:33 +01:00
Daniel Marjamäki d46789ee4a varFuncNullUB: fixed false positive when non-variadic argument is NULL (#4482) 2013-01-14 06:44:52 +01:00
Erik Lax 723d95597b Fixed #4481 (Simplify %str% [ %num% ]) 2013-01-13 20:52:38 +01:00
Daniel Marjamäki f0ce26a2aa Preprocessor: Let the Tokenizer handle NULL 2013-01-13 15:01:31 +01:00
Daniel Marjamäki dc0ecb1082 ThreadExecutor: include sys/select.h for fd_set 2013-01-13 13:21:46 +01:00
Daniel Marjamäki 2e56928834 Fixed #4482 (add test for UB due to usage of NULL in variadic functions) 2013-01-13 12:02:10 +01:00
Erik Lax b538c50856 Fixed #4484 (1.58: new crash for linux kernel code) 2013-01-13 07:57:46 +01:00
PKEuS 57d67c5883 Merge branch 'master' of github.com:danmar/cppcheck 2013-01-12 17:51:00 +01:00
PKEuS 25e07c2466 Updated copyright year in about dialog 2013-01-12 17:50:09 +01:00
PKEuS c62233643a Set version to 1.59 dev 2013-01-12 17:49:09 +01:00
Daniel Marjamäki 2666ff0be7 htdocs: updated download link to windows installer 2013-01-12 17:35:45 +01:00
Daniel Marjamäki 0e82ca764a Makefile: restore to debug mode 2013-01-12 15:40:59 +01:00
Thomas Jarosch c0044122f4 Add self test for _replaceTokenFindMatch 2013-01-12 15:28:38 +01:00
Thomas Jarosch ff9e864a07 Add self test for replaceTokenMatch 2013-01-12 15:28:38 +01:00
Thomas Jarosch a7377f180a Quote output of _assertEquals()
It's easier to detect trailing spaces this way.
2013-01-12 15:28:38 +01:00
Thomas Jarosch 4038d4b562 Place main code into own function 2013-01-12 15:28:38 +01:00
Daniel Marjamäki 75bb4a96cb 1.58: Updated Makefile for release 2013-01-12 14:51:49 +01:00
Daniel Marjamäki 13b266ebcf 1.58: Updated Changelog 2013-01-12 14:50:55 +01:00
Daniel Marjamäki 3057078571 1.58: Set versions 2013-01-12 14:49:58 +01:00
Daniel Marjamäki 7d31c2257d readme: tell about SRCDIR=build 2013-01-12 14:05:03 +01:00
Daniel Marjamäki b5a3ce8cce Manual: Added chapter about --inconclusive 2013-01-12 11:16:57 +01:00
Daniel Marjamäki 290c6a7009 manual: updated date 2013-01-12 10:53:01 +01:00
Daniel Marjamäki 6bf47212c2 Fixed #4479 (GUI tests fail) 2013-01-12 10:44:13 +01:00
Daniel Marjamäki c834bbad10 manual: removed recommendation to not include standard headers from the manual. I can't provide good reasons to not include the standard headers right now. 2013-01-12 09:24:29 +01:00
Daniel Marjamäki b5dba75c3f manual: updated the Severities chapter. No major changes, just tried to make it more clear. 2013-01-11 18:35:37 +01:00
Daniel Marjamäki 7e61d1f2da manual: Removed chapter about exception safety checks. They are enabled by the normal --enable=all. 2013-01-11 16:55:00 +01:00
Daniel Marjamäki fae5731a68 manual: don't write that threads can't be used in windows. 2013-01-11 06:52:34 +01:00
Daniel Marjamäki 018f6708fc manual: use --include instead of --append in the custom leaks section 2013-01-11 06:50:20 +01:00
Daniel Marjamäki 97b928b2bc Fixed #4476 (Tokenizer: wrong simplification of static anonymous-type struct array declaration) 2013-01-10 18:24:01 +01:00
Thomas Jarosch fdcfbd5ff9 Add missing copyright header 2013-01-10 11:10:45 +01:00
Zachary Blair 309edbbdc5 Fixed #4389 (False positive: Possible null pointer dereference if the default parameter value is used) 2013-01-09 23:22:54 -08:00
Thomas Jarosch 6bd7463c54 Add local copy of argparse module to support python 2.6 / python 3.0 2013-01-09 21:30:53 +01:00
Edoardo Prezioso 6236e1dc38 Token::Match: removed harmless special code for initial '!!foo' patterns. 2013-01-09 20:13:33 +01:00
Thomas Jarosch de36324d62 Match compiler: Add cmdline handling 2013-01-09 19:41:03 +01:00
Thomas Jarosch 97e1e50139 Match compiler: Workaround broken code generation for "!!foo" patterns
This is just meant for the upcoming release.
2013-01-09 19:25:24 +01:00
Thomas Jarosch e1be85a552 Match compiler: Be more user friendly on how to invoke it 2013-01-09 19:22:40 +01:00
Thomas Jarosch ade0b741b7 Match compiler: Create 'build' directory if needed 2013-01-09 19:15:13 +01:00
Thomas Jarosch 982503f457 Match compiler: Workaround broken optimizations in verify mode
If the match compiler uses the 'verify' mode and we
compile with -O2, some tests comparing the on-the-fly-parser
to the compiled match fail.

Small functions are inlined by the -O2 compile flag.
If we disable function inlining and still compile with -O2,
everything is back to normal.

gdb didn't show anything useful during the mismatch
since the needed variables are optimized out. Once
we start printing them, the problem vanishes, too.
-> Can only be diagnosed at the x86 assembly level.

The problem vanished by switching the invocation order
of Token::Match() and the compiled match, so just swap them.

Also add commented out helper code
to better diagnose mismatch problems.
2013-01-09 19:03:42 +01:00