Commit Graph

287 Commits

Author SHA1 Message Date
Robert Reif f97424b242 start adding Windows ASCII TCHAR conversion support 2011-09-24 14:51:03 -04:00
Robert Reif 3f364a3b2f fix width of platform help text 2011-09-19 07:31:09 -04:00
Robert Reif b5d22fda0d fix #2888 (Allow defining sizes of base types) 2011-09-17 19:40:52 -04:00
Daniel Marjamäki e8daaa69d6 CLI: --enable=style has always been the same as --enable=style,portability,performance so keep it that way. Ticket #3074 2011-09-03 17:25:39 +02: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 3765a7f8f8 Update VS2008/2010 project files. 2011-08-22 20:13:03 +03:00
Kimmo Varis 80ba3d6a92 Merge pull request #32 from rpavlik/qmake-configure-rules
Qmake configure rules
2011-08-19 13:00:34 -07:00
Kimmo Varis 9ca4524aa7 Update VS2008/2010 project files.
Ticket: #3025 (Visual Studio projects needs updating for new lib/checkunusedvar files)
2011-08-19 22:37:51 +03:00
Daniel Marjamäki 8bc7b5c5b9 cmdlineparser: removed BOM 2011-08-18 23:46:31 +02:00
Ryan Pavlik 6cbcf65339 cli pro doesn't force HAVE_RULES anymore. 2011-08-18 12:13:37 -05:00
Daniel Marjamaki 232007b3c0 --std=posix : simplified help text. might still need further updates 2011-08-17 22:19:19 +02:00
Daniel Marjamäki afed93d7d6 Command line: Added --std option. Right now only --std=posix is possible but other options might be added later. 2011-08-17 20:08:55 +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
Daniel Marjamäki 3a260822ad 1.50: Updated version 2011-08-14 08:08:37 +02:00
Kimmo Varis 9e2dd553fb Add "ExtraVersion" version number information.
The "ExtraVersion" can be used for things like Git commit Id,
release tag (version control), release date etc. If the string
is empty, nothing is printed.
2011-08-11 17:34:59 +03:00
Kimmo Varis 04d4215116 CLI: Fix misalign of "posix" in help text.
Ticket: #2992 (Little misalignment of '* posix' by one space in CLI command help)
2011-08-11 17:01:13 +03:00
Kimmo Varis 1b6dbedd98 CLI: Fix word-wrapping of the help text. 2011-08-11 15:54:20 +03:00
Kimmo Varis d93e741092 CLI: Reword the help text for -i.
New help text emphasizes we are ignoring/excluding source files.
The header files (include via source files) are not touched.

Ticket: #2965 (CLI: need better description for -i option (applies only to source files))
2011-08-11 15:47:34 +03:00
Kimmo Varis c6c5ada8da CLI: Fix problem building in Windows. 2011-08-07 00:11:53 +03:00
Daniel Marjamäki 01ae5fb593 help: clarify --suppress a little in the --help output. Ticket: #2964 2011-08-06 17:09:49 +02:00
Kimmo Varis 371838b9cb CLI: Warn if user tries to exclude header files.
Filename exclusion (with -i) works only for the source files.
Print a warning if user tries to exclude header file. The warning
instructs user to use --suppress for ignoring warnings from the
header files.
2011-08-06 17:24:10 +03:00
Kimmo Varis b976445be7 CLI: Strict check if exclude path is file.
Initially I added logic that checked if excluded path was a file
we would accept. This works for source files, but when file with
"unknown" extension was given it was determined as a directory
name and ending slash was added. E.g. -ifile.h would end up
having ignored path file.h/.

This commit adds per-platform checks if the path points to the
file and if the file also exists.
2011-08-06 16:47:57 +03:00
Kimmo Varis 57a51128a4 CLI: Couple of messages missing cppcheck-prefix. 2011-08-04 23:45:50 +03:00
Kimmo Varis a9153dc317 CLI print warning for deprecated options.
We don't want to keep these deprecated options for ever. So lets
print a clear warning for the users and give also specific release
number when they will be removed. Users have a plenty of time to
update their scripts and environments before removal.

Ticket: #2515 (Print warning for deprecated command line options)
2011-08-04 23:39:47 +03:00
Kimmo Varis e86abfdc5f No unmatched suppressions list in quiet output.
When user wants to see only errors printed (--quiet in CLI) we
must obey that. And not print unmatchedSuppressions list.

Ticket: #2895 (Cannot suppress unmatchedSuppression reports)
2011-08-04 12:04:38 +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
Daniel Marjamaki 6dc7554310 Visual Studio: Updated project files 2011-08-02 17:29:02 +02:00
Kimmo Varis a50f75ef86 Add --posix CLI option.
Part of ticket #2949 (new check: (style) finding non-reentrant functions)
2011-07-29 20:17:02 +03:00
Daniel Marjamäki c1138cf7f9 Fixed #2941 (False positive: unused function (individual checking of files)) 2011-07-25 13:25:09 +02:00
Daniel Marjamäki c4c4994d9e cmdlineparser: changed unusedFunctions to unusedFunction to make it work 2011-07-20 18:38:53 +02:00
Daniel Marjamäki c5064e4591 Cmdlineparser: Removed deprecated flag --unused-functions 2011-07-20 06:59:27 +02:00
Kimmo Varis 0db45a30e5 CLI: Improve and clarify help text. 2011-07-16 11:19:35 +03:00
Kimmo Varis 7cf84cb92b Update Visual Studio 2008/2010 project files. 2011-07-06 11:31:20 +03:00
Daniel Marjamäki a8cb7b445f 1.49: updated version 2011-06-12 18:24:31 +02:00
Greg Hewgill 4cc13f497d Allow suppression of the 'cppcheckError' error reported by the threaded CLI executor.
This is related to commit 5bbf39d094.
2011-05-22 20:47:55 +12:00
Daniel Marjamäki c971fa0d4b cmake: cleanup unmaintained cmake files 2011-05-19 17:16:04 +02:00
Daniel Marjamaki b55147a29e updated error message. --check-includes has been renamed to --check-config 2011-05-04 18:52:03 +02:00
Daniel Marjamäki d998477c69 renamed --check-includes to --check-config 2011-05-02 21:28:33 +02:00
seb777 aa85866bc0 add include-header to use EXIT_FAILURE 2011-05-02 19:56:35 +02:00
Daniel Marjamäki d7927bbb61 update help screen about --check-includes 2011-05-02 18:49:40 +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
Ville Skyttä 5144b0e657 cmdlineparser: Update list of file extensions, expand EXIT_FAILURE, don't list --rule* if built without support for rules. Ticket: #2761 2011-05-01 11:44:47 +02:00
Kimmo Varis c7d99fe9a7 Remove ErrorLogger::reportStatus() method.
The ErrorLogger::reportStatus() is not lib code interface. The CLI
code does the looping through file list and gives one file at a
time for the core code. Hence lib has no any idea about the
progress and it can't provide such information.

Also the recent commit (6d858b6) caused a GUI build failure by
adding CLI code dependency to GUI. Which is big no-no.

This is admittedly a hack. But it allow us to build all modules
again.
2011-04-27 23:27:02 +03:00
Greg Hewgill b0ed595e24 FileLister: don't assume that all files have nonzero size in test case 2011-04-27 07:38:53 +12:00
Greg Hewgill 6d858b63a1 Report percentage complete based on file size
This patch makes the (reasonable) assumption that the total size of all checked
files fits in a 'long' type.
2011-04-26 22:26:23 +12:00
Kimmo Varis f240574107 Modify the Cppcheck class to check one file at a time.
Unify usage and API of CppCheck class. Allow only one file checked
at a time, instead of list of files. Clients can then handle file
lists more naturally and as they see fit. Also clients have better
knowledge of how checking status should be handled.

The single-threaded CLI checking was only one using the file list.
Other clients were giving files (to list) one file at a time.
2011-04-24 19:17:52 +03:00
Kimmo Varis 903769a388 CLI: Give files to Cppcheck class one at a time.
When doing single-threaded checking give checked files to Cppcheck
class one file at a time. Like GUI and multithreaded checking
already do. This unifies how we call Cppcheck class from different
clients.
2011-04-24 19:17:52 +03:00
Daniel Marjamäki b7e14223b3 astyle formatting 2011-04-16 12:08:26 +02:00
Stefan Weil 882d4d95a4 CppcheckExecutor: Code cleanups and fixes 2011-04-16 11:19:56 +02:00
Daniel Marjamäki 58dbbb0cab Inconclusive checking: Report inconclusive errors with reportInconclusiveError. It takes the same parameters as reportError. 2011-04-14 18:02:01 +02:00
Daniel Marjamäki 1178d47a9b --inconclusive : Added command line flag that enable inconclusive checking. It is added for experimental purposes. 2011-04-10 12:52:59 +02:00
Daniel Marjamäki e75acd7476 Release: Updated versions to 1.48 2011-04-09 07:55:07 +02:00
Markus Elfring 796761d582 Conditional inclusion of TinyXML source files in the CLI CMake script (bug #2679, #2524)
The source files for the class library "TinyXML" will only be included into
the build of the command line interface if the library "PCRE" was found before.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2011-04-06 16:30:23 +02:00
Markus Elfring 8cde24597f Determination of rule support in CMake scripts (bug #2679, #2524)
The support for check rules will be automatically included in the generated
software if build settings were accordingly selected for PCRE.
https://sourceforge.net/apps/trac/cppcheck/ticket/2679

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2011-04-02 13:25:18 +02:00
Kimmo Varis 38f5267ba8 CLI: Simplify ignore paths.
Fixes #2656 (-i Give path to ignore does not ignore if start of the
path is different than checked path)

Simplify paths given as -i options. This makes it easier to match
the paths as simplifying removes redundant parts.
2011-03-29 20:53:18 +03:00
Kimmo Varis b95e9c110c CLI: Remove quotation marks from user-given paths.
Ticket #2686 (regression/bug in path handling)

There are situations that paths given to command line can contain
quotation marks. In normal situations shell removes them. For
these cases they don't get removed add code to check paths from
quotation marks and remove them.
2011-03-28 22:26:14 +03:00
Daniel Marjamaki c6b176014b cmake: removed the non-working pcre. ticket: #2679 2011-03-26 19:03:11 +01:00
Kimmo Varis 139fbf57e0 Ticket #2688 (Missing include path shouldn't exit the program)
Non-existing include path is not a fatal problem requiring exiting
the program. Instead we just print a warning and remove the non-
existing include path from the list.
2011-03-26 18:44:22 +02:00
Sebastien Debrard 29b7d4b9c3 sync cmake files with the master branch 2011-03-26 02:03:52 +01:00
Daniel Marjamäki 5058cc6aa1 Reverted non-CMake changes in previous 'Added CMake files' commit 2011-03-25 07:59:48 +01:00
Markus Elfring 9301ee28a8 Added CMake files 2011-03-25 07:14:53 +01:00
Robert Reif 3c5134bb21 run astyle 2011-03-21 19:59:53 -04:00
Daniel Marjamäki 9f21e13c39 FileLister: Fixed compile error with Qt Creator + MinGW 2011-03-20 15:21:45 +01:00
Daniel Marjamäki 6dd9676d43 FileLister: Updated Visual Studio files 2011-03-20 14:47:15 +01:00
Daniel Marjamäki c60edb5af6 FileLister: updated qmake files 2011-03-20 14:37:28 +01:00
Daniel Marjamäki 8caf96be63 FileLister: Moved back the code into a single cpp file 2011-03-20 14:25:11 +01:00
Greg Hewgill 5bbf39d094 Refactor ThreadExecutor::check() to handle child failures more gracefully 2011-03-05 16:43:22 +13:00
Greg Hewgill 957bb5c0f2 Normalise threading support checking into a single #define 2011-03-05 11:27:29 +13:00
Greg Hewgill b26777c962 Merge branch 'cmdline-suppress' 2011-02-23 21:34:09 +13:00
Greg Hewgill ec4e0c8bf5 add documentation for --suppress= option 2011-02-23 20:59:30 +13:00
Greg Hewgill 22210e0255 add --suppress= command line option 2011-02-23 20:10:32 +13:00
Kimmo Varis d4786066a5 CLI: Fix CLI help text to fit in 80-char terminal. 2011-02-22 21:51:52 +02:00
Daniel Marjamäki 0ee583e324 Fixed gcc compiler warnings (signedness) 2011-02-16 20:56:02 +01:00
Greg Hewgill 5d74325015 implement unmatchedSuppression information message 2011-02-16 23:02:37 +13:00
Daniel Marjamäki 3bb2850c5c Renaming HAVE_DEPENDENCIES to HAVE_RULES 2011-02-14 19:50:16 +01:00
Daniel Marjamäki 805773663e Build: Renamed HAVE_DEPENDENCIES to HAVE_RULES 2011-02-14 19:37:58 +01:00
Raphael Geissert b3e19c24d3 Fix build when PATH_MAX is not defined
POSIX says it _may_ be defined. Alternative implementation follows
POSIX.1-2008.
2011-02-12 15:43:36 -06:00
Daniel Marjamäki 27febb062b cppcheck: Added HAVE_DEPENDENCIES define. Cppcheck cli can be compiled without dependencies. 2011-02-12 08:06:59 +01:00
Daniel Marjamäki 90bf801c83 Visual Studio 2010: Updated project files for cli and test 2011-02-10 22:10:45 +01:00
Daniel Marjamäki ce9f9ee6c6 Visual Studio 2008: Updated project files for cli and test 2011-02-10 22:08:10 +01:00
Reijo Tomperi a71204b8e3 Change "tinyxml/tinyxml.h" includes into <tinyxml.h> and modify dmake to work with it.
This should allow usage of libtinyxml-dev or such libraries without modifications to code or makefile.
2011-02-10 22:35:48 +02:00
Daniel Marjamäki 4a7c56f970 1.47: Updated versions 2011-02-06 12:05:42 +01:00
Reijo Tomperi 2bded1091b Improve --help listing by removing duplicate options list and using lt and gt characters for option arguments. 2011-02-05 22:59:26 +02:00
Daniel Marjamäki 2fa2157543 Cppcheck: Added short info about --rule and --rule-file to --help output 2011-02-05 20:15:22 +01:00
Stefan Weil 40b8c1d83f Add missing \n in CLI help. 2011-02-04 22:01:17 +02:00
Kimmo Varis 2d6d8580d7 Allow to exclude filenames (with paths).
This expands the CLI exclude feature to also allow excluding
filenames (with paths). When filename with recognized extension
is given to -i option then matching filenames (with paths) are
ignored when checking.

Ticket #2538 (Allow excluding files from the checking)
2011-02-03 14:43:42 +02:00
Kimmo Varis 96d62553bc Make FileLister::acceptFile() a static method.
We don't need different acceptFile() implementations per platform
so it is better to have one static method.
2011-02-03 11:48:16 +02:00
Kimmo Varis f65fa338a5 Tighten the directory name mathing with -i.
Only match full directory names as parts of whole paths. So -isrc
matches src/file.cpp and proj/src/file.cpp. But does not match
mysrc/file.cpp or proj/srcfiles/file.cpp.
2011-02-03 09:01:43 +02:00
Raphael Geissert 61435684b2 Support multiple rules in a single XML file 2011-02-02 13:27:00 -06:00
Kimmo Varis ffc4bb481b Merge branch 'ignore-paths-cli' 2011-02-02 21:09:22 +02:00
Daniel Marjamäki 9a383388be xml2: added <errors> element 2011-02-02 18:46:07 +01:00
Kimmo Varis 1a83e3ef81 Use different way to remove items from vector.
The way I was using caused a debug error in Visual Studio 2008. Probably
because the iterator got invalidated. So access items as array instead.
2011-02-02 14:37:48 +02:00
Kimmo Varis 51a1f64531 Don't check empty paths for path ignore. 2011-02-02 14:37:48 +02:00
Kimmo Varis 84a988ec50 Update VS2008/VS2010 project files. 2011-02-02 14:37:48 +02:00
Kimmo Varis 6401271ceb Add CLI support for ignoring paths.
Add support for giving list of ignored paths from CLI. This way
user can define paths one doesn't want to check (like generated
code). This first simple implementation only does exact matching,
no support for wildcards etc. And matching is always agains dir
names.

If the filtered dir name is part of the checked filename then the
file is ignored.

Ticket #1690 (Ability to exclude files and directories from checks)
2011-02-02 14:34:04 +02:00
Kimmo Varis 1da88de932 Imrove --xml-version option parsing.
Allow --xml-version parsing to recognize also version 1 and print
errors about invalid values.
2011-02-02 14:04:50 +02:00
Kimmo Varis fe57d50328 Expose --xml-version=version cmd line option.
Make the --xml-version=version command line option public by
adding it to the command line help.
2011-02-02 13:28:14 +02:00
Pete Johns 8298c07d60 Astyle formatting. 2011-02-01 19:56:05 +11:00
Kimmo Varis 250149300d Move FileLister* to CLI doxygen-module.
I forgot to update the doxygen module when moving FileLister* to
CLI. Also add CLI doxygen group for ThreadExecutor.
2011-02-01 08:33:02 +02:00