Daniel Marjamäki
1f16e72b19
Removed --debug-fp. The reduce tool should be used instead.
2015-12-10 10:44:36 +01:00
Alexander Mai
e69377d5a8
#7183 CheckClass::checkMemset() uint overflow. Plus some minor refactoring
2015-12-05 18:22:01 +01:00
PKEuS
e8522c7883
Small refactorizations:
...
- #include cleanup
- Use std::array instead of std::vector
- Do not create a stringstream to concatenate 4 strings
- Use std::cout instead of printf
2015-11-29 10:56:44 +01:00
Daniel Marjamäki
0f9d90d2be
Changed Copyrights. Removed my name.
2015-11-18 20:04:50 +01:00
PKEuS
1627b19dd6
Refactorizations:
...
- Call std::string::find() with char instead of char* where possible
- Avoid string copying
- Optimized several Token::tokAt/strAt calls
2015-08-16 10:33:51 +02:00
Daniel Marjamäki
a17f4d0a2d
CLI: Added --debug-normal option that will show --debug output after 1st simplifications. This output is relevant for the 'normal' checkers.
2015-07-28 12:46:32 +02:00
PKEuS
92b867dd2c
Fixed behaviour of --quiet/-q and its description
2015-07-25 17:55:12 +02:00
Daniel Marjamäki
fa13179c68
Fixed Cppcheck warning, condition is always true
2015-07-16 20:23:25 +02:00
Alexander Mai
b3c7a3f798
Fix more (potential) multi-threading issues
2015-06-20 22:26:51 +02: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
Daniel Marjamäki
ff11ba9847
Updated copyright year to 2015
2015-01-03 12:14:58 +01:00
Daniel Marjamäki
8db5836e3f
Fixed #5982 (Add xml dump)
2014-07-14 15:51:45 +02:00
PKEuS
9cb544241d
Internal checking is now enabled by the macro CHECK_INTERNAL
2014-05-18 19:50:06 +02:00
PKEuS
d9358de8b4
Refactorization: Use templates and rValue references
...
-> Performance gain of up to 15% on entire checking time (depends on setup; Result was checked with VS12 (x64), matchcompiled version, ran on tinyxml and cppcheck itself)
2014-04-03 15:03:37 +02:00
Troshin V.S
840fba7672
CLI: Add -l command line option
2014-03-25 18:35:59 +01:00
Alexander Mai
825bb0f027
Fixed #5286 (Add signal/exception handling to cppcheck and cppcheck-gui)
2014-03-16 12:04:13 +01:00
Daniel Marjamäki
fd3a8a2a18
Update copyright
2014-02-15 07:45:39 +01:00
Daniel Marjamäki
30cae358d8
Removed the --value-flow flag. ValueFlow analysis will always be enabled from now on.
2014-01-17 18:07:05 +01:00
Daniel Marjamäki
d8270c710a
Add new experimental value flow analysis
2014-01-04 20:57:02 +01:00
Alexander Mai
ea10a722fc
Fixed #5306 (Implement --showtime=top5)
2014-01-03 10:24:57 +01:00
Daniel Marjamäki
5ba02d2fdd
AST: Always use AST
2013-12-09 18:06:19 +01:00
Daniel Marjamäki
bbdfd8b5c7
Make it possible to create AST, by using the --ast flag
2013-11-02 18:37:35 +01:00
Daniel Marjamäki
7d47fd65a2
Renamed --environment to --library. Added --check-library. Renamed Environment to Library
2013-07-08 18:26:18 +02:00
Daniel Marjamäki
1e550f9fdf
Reverted fix for #4547 : It causes fp. See #4573
2013-02-12 16:13:08 +01:00
Frank Zingsheim
d9de7f7052
Travis: Fixed Cppcheck warnings (related to #4547 )
2013-02-05 23:31:53 +01:00
Daniel Marjamki
6bb8dd605a
assign function parameters: only show warning when --enable=warning or --enable=style is used. Ticket: #2930
2013-02-02 15:08:43 +01:00
Reijo Tomperi
5d5f7085bf
Updating year 2012 -> 2013 to .cpp and .h files and man page.
2013-01-01 18:29:08 +02:00
PKEuS
e5ebb49312
Added support for sizeof(wchar_t). Improved <Windows.h> type testing for Win64 platform.
2012-11-11 16:16:17 +01:00
PKEuS
50f9dd52ab
Used enum instead of string in implementation for '--language='.
2012-09-11 08:53:27 +02:00
Edoardo Prezioso
fae40c4782
Change every C version of 'size_t' to C++ 'std::size_t'.
2012-07-09 13:30:18 +02:00
PKEuS
a420a36606
Removed deprecated cmdline options -s, --style, -a, --all, --auto-dealloc, --test-2-pass
2012-04-15 13:10:41 +02:00
PKEuS
7de545f0fe
Refactorizations:
...
- Added forgotten initialization of Settings::_relativePaths
- Some PCRE-Rules specific code hidden behind HAVE_RULES
- Use initialization list in ErrorLogger::ErrorMessage::ErrorMessage() and CppCheck::CppCheck
- Avoided unnecessary copies of std::strings in cppcheck.cpp
- Moved "// Alert only about unique errors"-code to make it work in debugFalsePositive mode
2012-04-06 18:16:59 +02:00
Edoardo Prezioso
a08dab3776
Fixed warning about order of variable initialisations in Settings constructor.
2012-02-17 21:22:42 +01:00
PKEuS
8ea5df62c4
- Improved support for numbers in code:
...
-- Use MathLib::toLongNumber for conversion in tokenizer (Fix #3610 )
-- Handle octal numbers in tokenizer
- Refactorizations in MathLib::toLongNumber and Settings
2012-02-17 15:47:08 +01:00
PKEuS
36479499e7
- Solved FIXME: Made detection of code that is no pointer-dereference more robust, uncommented code (checknullpointer.cpp)
...
- Removed more indendation level counters
- Make use of symbol database more often
- Other refactorizations
2012-01-21 19:55:32 +01:00
Daniel Marjamäki
112873e876
Revert "Fixed #3450 (CLI --report-progress is currently useless)"
...
This reverts commit e769fe6294
.
2012-01-02 07:42:39 +01:00
Daniel Marjamäki
e769fe6294
Fixed #3450 (CLI --report-progress is currently useless)
2012-01-02 07:27:45 +01:00
Reijo Tomperi
8cae17fda8
Update year to 2012
2012-01-01 01:05:37 +02:00
Stefan Weil
00ead7fb2e
support any number of --append=<file> options
...
If one or more append files are given on the command line,
they are simply concatenated.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2011-11-15 19:27:36 +01:00
Stefan Weil
785bc3d04b
Optimize handling of --append=<file> option (execution time, memory)
...
Whitespace was removed from the append data for every configuration
and every file: n(configuration) * n(files).
Removing whitespace immediately after the append data was read can
significantly reduce the execution time and memory usage.
It also allows further improvement because copies to the temporary
object appendCode are no longer needed.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2011-11-15 19:27:36 +01:00
Stefan Weil
d11f18b5df
cmdlineparser: terminate with error message if --append=<filename> fails
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2011-11-15 19:27:36 +01:00
Daniel Marjamäki
ed97b62610
Fixed #3275 (Missing includes always reported)
2011-11-06 08:59:07 +01:00
Thomas Jarosch
ad40586e96
Disable internal checks if NDEBUG is defined (release build)
2011-10-29 12:47:12 +02:00
Thomas Jarosch
f6e68914ea
Add check for cppcheck's internal API usage ( #3263 )
...
First checks:
- Simple pattern used inside Token::Match()
- Complex pattern used inside Token::simpleMatch()
The checks get enabled by passing "--enable=internal".
It's not included in "--enable=all".
If you see something that needs further tweaking, just go for it!
2011-10-28 22:46:07 +02:00
Daniel Marjamäki
ab827e3631
Merge pull request #40 from joshbeck/master
...
Added option to set #ifdef configuration check limit
2011-10-22 00:51:05 -07:00
Marek Zmysłowski
b332ea8222
Fixed #3204 (Refactor standards support in Settings)
2011-10-22 09:45:48 +02:00
Joshua Beck
56561835f8
Add option to set #ifdef configuration check limit
2011-10-18 19:52:55 -05:00
PKEuS
f8074b71d2
Fixed #2470 (False negative: Possible null pointer dereference (C++0x keyword 'nullptr'))
2011-10-16 12:54:58 +02:00
Daniel Marjamäki
6f8e42a5af
changed the astyle formatting flags
2011-10-13 20:53:06 +02:00
Stefan Weil
bf25340fd3
Settings: add missing initialisation for member variable c99 (reported by Valgrind)
2011-10-08 10:29:11 +02:00
Stefan Weil
2193572c9e
test _WIN64 before _WIN32 (64-bit compiler defines both macros)
2011-09-30 14:12:44 -04:00
Robert Reif
f97424b242
start adding Windows ASCII TCHAR conversion support
2011-09-24 14:51:03 -04:00
Robert Reif
2fe182b833
set windows platform type to type executable was compiled on
2011-09-18 13:19:00 -04:00
Robert Reif
be660003ec
start adding conversions from common Windows types to standard types
2011-09-18 13:06:54 -04:00
Robert Reif
3e35ea0972
fix sizeof long double for unix64 for #2888 (Allow defining sizes of base types)
2011-09-18 08:40:08 -04:00
Robert Reif
b5d22fda0d
fix #2888 (Allow defining sizes of base types)
2011-09-17 19:40:52 -04:00
Daniel Marjamäki
d23c58d387
enable: break out 'performance' and 'portability' from the 'style' id. Ticket: #3074
2011-09-03 15:30:30 +02:00
Kimmo Varis
716679ec7d
Move Suppressions class to own source files.
...
I want to use Suppressions class also in GUI. And that is easier
to do when it is not internal class of Settings class. And in
general is it more natural that Settings class only contains list
of suppressions and implementation is separate.
2011-08-22 19:57:28 +03:00
Daniel Marjamäki
fe78e28d70
Cppcheck: Don't show information messages about interrupted checking unless --enable=information has been given.
2011-08-19 22:32:57 +02:00
Reijo Tomperi
dd666b7c1b
Add command line option: --debug-fp ... If used, cppcheck will print out the code generating error into output stream.
...
This is ment to be used for debugging false positive errors in Cppcheck.
Current implementation tries two alternatives. Without all headers or with all headers and prints out the option with
less code. In future versions this could try with individual headers or group of header files.
2011-08-16 22:58:27 +03:00
Daniel Marjamäki
01b9c0707d
Settings: Removed the --enable=posix option. Ticket: #2949
2011-08-14 09:45:53 +02:00
Kimmo Varis
cfcfa3f000
Use "enabled" list for the style checking.
...
Settings-class currently enables style checking via dedicated
boolean attribute. All other CLI's enable-options are handled
through the enable-list. This commit moves style-check enabling
to use the enable-list.
Main advantage is the consistency how options are handled/stored
in the Settings class. Which also unifies using them for the other
code. You need to enable certain type of checks? Use the
addEnabled()-method. You want to check if certain type of checks
are enabled? Use the isEnabled()-method.
2011-08-07 10:28:52 +03:00
Kimmo Varis
f4950ea836
CLI: Rename --posix to --enable=posix.
...
Ticket: #2949 (new check: (style) finding non-reentrant functions)
Ticket: #2952 (CLI option --posix is wrong)
2011-08-03 10:28:36 +03:00
Ettl Martin
6b23dd9928
added a check to detect nonreentrant functions and a --posix switch
2011-07-29 18:27:01 +02:00
Daniel Marjamäki
d76861270a
Fixed #2797 (Inline suppressions do not handle filenames correctly)
2011-06-29 20:23:39 +02:00
Daniel Marjamäki
d998477c69
renamed --check-includes to --check-config
2011-05-02 21:28:33 +02:00
Daniel Marjamäki
8603919b2d
Missing includes - normally just report that there are missing includes. The --check-includes can then be used to check what missing includes there are. Ticket: #2719
2011-05-02 14:58:16 +02:00
Daniel Marjamäki
e5d43d4ed2
Renamed Settings::stupid to Settings::experimental
2011-04-10 15:55:08 +02:00
Daniel Marjamäki
30ee9ba6e4
Added Settings::stupid flag that can be used to hide checking that generates false positives.
2011-04-10 13:23:45 +02:00
Greg Hewgill
256e7dee21
Allow suppressing all warnings (using *) for specified file or files
2011-03-10 22:00:48 +13:00
Greg Hewgill
a4de6a3455
be sure to list unmatched suppressions only for the currently processed file
2011-02-17 21:46:14 +13:00
Greg Hewgill
5d74325015
implement unmatchedSuppression information message
2011-02-16 23:02:37 +13:00
Greg Hewgill
331788246b
factor out addSuppressionLine from file reading function
2011-02-16 22:26:16 +13:00
Greg Hewgill
8a85b18283
use suppression wildcard glob instead of special-case empty filename
2011-02-16 20:19:18 +13:00
Greg Hewgill
1418c12261
astyle formatting
2011-02-13 10:01:32 +13:00
Greg Hewgill
421b32efb4
use std::stack instead of std::list where appropriate
2011-02-13 09:55:45 +13:00
Greg Hewgill
7a219b1fb8
support wildcard characters * and ? in suppression list
2011-02-09 00:19:57 +13:00
Greg Hewgill
a9f2879889
factor out file matching into own class
2011-02-09 00:19:56 +13:00
Reijo Tomperi
226b605774
Change year 2010 -> 2011 in license texts.
2011-01-09 21:33:36 +02:00
Daniel Marjamäki
033e759c39
command line: added 'information' id to enable
2011-01-05 21:20:21 +01:00
Daniel Marjamäki
af80384ae7
xml2: replace --xml2 with --xmlver=2. Ticket: #2106
2010-12-02 17:32:51 +01:00
Daniel Marjamäki
12c8eeff2c
xml2: Added experimental --xml2 result format. Ticket: #2106
2010-12-01 21:24:17 +01:00
Cary R
59139b17cb
Fixed #2138 (Add support for comments in suppression file)
2010-10-26 21:22:11 +02:00
Daniel Marjamäki
f490ebcf88
Fixed #1872 (Confused -v switch)
2010-09-03 13:30:49 +02:00
Daniel Marjamäki
3a8e7b4bf0
Exception safety: Removed the noisy checks and keep the useful checks
2010-08-31 22:22:59 +02:00
Daniel Marjamäki
d45186d645
Added --debug-warnings that we can use to enable various debug warnings
2010-08-27 20:28:00 +02:00
Daniel Marjamäki
6cb7fefdbf
Added command line option --report-progress. ticket: #1926
2010-08-12 21:03:33 +02:00
Daniel Marjamäki
050011d287
Fixed #1881 (false positive: The function '...' can be const (nonconst code is hidden inside #if))
2010-08-07 13:08:36 +02:00
Daniel Marjamäki
c9b1804954
astyle formatting
2010-08-04 20:28:41 +02:00
Daniel Marjamäki
08e2d91372
Fixed #1919 (option '--suppressions file' can not work when filename includes colon)
2010-08-03 17:52:03 +02:00
Daniel Marjamäki
a274cb1015
cleanup headers
2010-07-31 08:52:28 +02:00
Daniel Marjamäki
3ad8f98c61
Refactoring: Settings::addSuppression return error message and callers make sure it's reported properly. Ticket: #1839
2010-07-23 23:12:56 +02:00
Daniel Marjamäki
37c959023a
Refactoring: The Settings::addEnabled will return error message instead of throwing it. Ticket: #1866
2010-07-23 13:29:16 +02:00
Daniel Marjamäki
4b0e3edfa4
Unit Testing: Test that suppressions work
2010-07-09 13:27:15 +02:00
Daniel Marjamäki
abbd557761
Fixed #1836 (--suppresions file.txt fails due to wrong line edings)
2010-07-09 12:42:08 +02:00
Daniel Marjamäki
a60047227d
Settings: added '#include <cctype>'
2010-07-09 10:18:35 +02:00
Daniel Marjamäki
1876cd482b
Suppressions: Validate given id
2010-07-08 12:06:27 +02:00
Daniel Marjamäki
75c9355e9a
Added some multipass checking for the uninitialized variables. It is still experimental. You can activate it with the '--test-2-pass' switch. Some more refactorings are needed to make it truly usable, the main thing is to make it thread safe.
2010-05-21 19:35:18 +02:00
Daniel Marjamki
d7b117402c
Code cleanup: Removed autodealloc handling
2010-05-16 07:15:31 +02:00
Daniel Marjamäki
c0e9a546f7
Refactoring: Refactoring the Settings class
2010-04-17 09:23:54 +02:00
Reijo Tomperi
10a7c3f70c
Fix --template to work again
2010-04-16 17:26:49 +03:00
Daniel Marjamäki
c718a7c595
astyle: Update to astyle 1.24
2010-04-15 20:08:51 +02:00
Reijo Tomperi
35d2a27b9c
Update copyright year in all source files
2010-04-13 22:23:17 +03:00
Oliver Stoeneberg
f992ac7da7
showtime: refactoring and improving. Added summary/file/top5/average options.
2010-04-12 22:13:42 +02:00
Daniel Marjamäki
e9b4ea44a2
Refactoring: Disable inconclusive checks. They can still be activated for debugging/testing purposes
2010-04-10 14:05:33 +02:00
Daniel Marjamäki
0cad22314e
Reverted 'astyle fix'. Those changes are not in sync with my astyle configuration/setup.
2010-04-02 07:30:58 +02:00
Martin Ettl
193aa7d1d3
astyle fix
2010-04-02 02:21:53 +02:00
Daniel Marjamäki
9394816fcf
Refactoring: Use std::string instead of const char *
2010-02-14 19:58:17 +01:00
Daniel Marjamäki
53d036fadf
Added Cppcheck::terminate function that will terminate the checking ASAP
2010-01-18 20:23:50 +01:00
Daniel Marjamäki
6fd74dce47
exitcode suppressions. Partly fixes #1113
2009-12-28 11:26:52 +01:00
Daniel Marjamäki
bbc63b6b5b
twistedwave: Fixed #1055 (Support for inline suppressions)
2009-12-06 19:38:53 +01:00
Daniel Marjamäki
aed06fbd86
Borland C++: fixed compiler error and updated the project file to include iterator debugging
2009-12-05 19:28:20 +01:00
Daniel Marjamäki
7f15fea735
Fixed #1043 (use cppcheck:.. syntax in error messages)
2009-12-05 08:08:28 +01:00
Daniel Marjamäki
052ce15176
--enable: readded code so that parameters can be comma separated
2009-12-04 21:31:14 +01:00
Daniel Marjamäki
737844d652
fix a bug in commit 84a6fe6b54
2009-12-04 20:12:34 +01:00
Daniel Marjamäki
84a6fe6b54
Fixed #1034 (change --enable to --enable=all)
2009-12-04 19:35:58 +01:00
Reijo Tomperi
f5c81429cb
Refactoring: Parse --enable values in Settings class
2009-11-30 23:48:58 +02:00
Daniel Marjamäki
2b1b7f78f5
Fixed #883 (Add new command line argument --enable)
2009-11-15 15:24:33 +01:00
Daniel Marjamäki
543d5cbf45
Fixed #831 (Exception safety: multiple new in a simple execution path)
2009-10-31 18:58:42 +01:00
Daniel Marjamäki
aab1519ab0
simple optimisation
2009-10-27 17:55:27 +01:00
Daniel Marjamäki
09859c1019
refactoring the folder structure
2009-10-25 12:49:06 +01:00