Commit Graph

796 Commits

Author SHA1 Message Date
Alexander Mai 521e6c48b5 Minor fixes for signal handling: make global variables static, enhance stack vs. heap detection for recognizing stack overflows 2015-03-07 20:47:27 +01:00
Alexander Mai abde80f0d9 Use alternative stack for signal handler to allow catching stack overflow induced SIGSEGV/SIGILL 2015-03-07 18:15:25 +01:00
Alexander Mai 161f5ff6d2 FileLister now features a non-recursive mode. (files missing from previous changeset) 2015-03-05 06:53:11 +01:00
Dmitry-Me bd3428e039 Reduce code duplication 2015-02-20 10:26:02 +03:00
Luis Díaz Más 22424ba54a Add CMake files 2015-02-13 19:00:14 +01:00
PKEuS bfa16ec258 Set /LARGEADDRESSAWARE flag for Win32 builds
Idea from Kosta-Github (pull-request #501)
2015-01-27 15:43:40 +01:00
PKEuS 26fa994f14 Removed "#pragma warning" from threadexecutor.cpp 2015-01-21 18:46:33 +01: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
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 9e46aabc03 Set version to 1.68.99/1.69 dev 2015-01-03 17:44:47 +01:00
Daniel Marjamäki 6793e96458 1.68: Set versions 2015-01-03 13:20:01 +01:00
Daniel Marjamäki ff11ba9847 Updated copyright year to 2015 2015-01-03 12:14:58 +01:00
Thomas Jarosch 9438b49bfb Fix build on PowerPC
PowerPC does not provide ucontext.gregs or the REG_ERR define.

Found while testing big endian platform.
2014-12-31 01:44:50 +01:00
Ni2c2k 666fa04ed8 don't use USE_UNIX_BACKTRACE_SUPPORT on Qnx 2014-12-16 20:11:25 +05:00
Ni2c2k ab91e3eed2 getloadavg() is unsupported on Qnx 2014-12-16 20:09:40 +05:00
PKEuS 4d81945ac5 Fixed a couple of #6276 integer over/underflow issues 2014-12-09 23:28:22 +01:00
Daniel Marjamäki 0b9d80c95d Refactoring CheckUnusedFunctions so it uses new infrastructure for multifile analysis 2014-12-02 06:41:18 +01:00
Daniel Marjamäki a002654c47 Reverted refactoring 828417c for now. It caused a major slowdown in the unused functions checking. 2014-11-24 06:37:08 +01:00
Daniel Marjamäki 051d42ae6b astyle formatting 2014-11-20 14:20:09 +01:00
orbitcowboy f5d804f71a running astyle 2014-11-20 10:13:03 +01:00
Simon Martin 3ca2a177b5 Restore build on Mac OSX >= 10.7 since the inclusion of ucontext.h 2014-11-15 20:17:25 +01:00
Daniel Marjamäki 828417c934 CheckUnusedFunction: Refactorings to use same infrastructure for whole program analysis as CheckUninitVar and CheckBufferOverrun 2014-11-15 18:44:23 +01:00
Daniel Marjamäki de7e9223b8 Fixed #6272 (Improve check: multifile checking in checkbufferoverrun) 2014-11-15 10:43:49 +01:00
Alexander Mai 5786be99c5 Improve exception handler: detect read or write on SIGSEGV (linux only), create more suitable core dump, reduce usage of fprintf() 2014-11-14 23:40:53 +01:00
PKEuS fafcf40ee6 Set version to 1.67.99/"1.68 dev" in the remaining places 2014-11-13 21:54:34 +01:00
Alexander Mai 5300ba2074 Make single-argument constructors explicit 2014-11-13 21:39:14 +01:00
Alexander Mai 95cd0f396a #6026 backtrace() not portable - linker error on NetBSD 2014-11-02 15:47:55 +01:00
PKEuS 5bc775e43e Refactorization: avoid string copying in Path::getPathFromFilename() 2014-10-30 23:48:23 +01:00
Robert Reif e2f72b4cb1 Fixed #6215 (Move Windows platform types into library) 2014-10-19 07:34:40 +02:00
Daniel Marjamäki de88c10e6b 1.67: set version 2014-10-18 11:35:00 +02:00
Lauri Nurmi c6d9e2b3d4 Fix plural of "child" -- it is not "childs" but "children". 2014-10-01 20:33:02 +03:00
Daniel Marjamäki fbc6323a9b doc: changed --doc output to Markdown syntax 2014-09-30 14:56:12 +02:00
PKEuS cbb8360b30 Added version attribute to .cfg files (#5928) 2014-09-29 16:26:17 +02:00
PKEuS 73171b0bc7 Catch exceptions in main() only if NDEBUG is defined 2014-09-28 09:53:11 +02:00
Lauri Nurmi 17d6903d00 Fix compilation (on Cygwin) after commit f63dc86f, by adding the necessary includes.
No idea why this problem has not shown up on other platforms; the includes are by no means Cygwin-specific.
2014-09-24 22:43:24 +03:00
Dmitry-Me f63dc86f03 Must catch and translate exceptions on top level 2014-09-23 06:10:41 +02:00
Matthias Krüger c70425c06e showtime: print possible options when invalid mode is given. 2014-09-17 12:49:59 +02:00
Dmitry-Me 7342a81ea7 Minor refactorings. rename token. cleanup if/else. 2014-09-02 16:10:51 +02:00
PKEuS e35329aba3 Fixed reporting of unmatched suppressions for unusedFunction (#4946) 2014-09-01 10:13:03 +02:00
PKEuS 59cccb83ce Reimplemented version.h:
- Use macros to form version number and string. CPPCHECK_MAJOR, CPPCHECK_MINOR and CPPCHECK_DEVMINOR now contain the parts of the version number.
- "dev" status is now detected by comparison of CPPCHECK_MINOR and CPPCHECK_DEVMINOR, version string created accordingly.

Fixed two comments.
2014-09-01 08:48:25 +02:00
XhmikosR 7294ae2a88 Fix a C6328 warning.
Potential argument type mismatch.
2014-08-31 10:05:34 +03:00
PKEuS 6d5603af45 Increased version to 1.66.99/1.67 dev 2014-08-02 18:07:01 +02:00
Daniel Marjamäki 1c8c26a488 1.66: Set version 2014-08-02 11:58:30 +02:00
PKEuS e486e8cc62 Updated WiX installer and VS solution to VS12 and Qt5 2014-08-02 11:52:37 +02:00
Daniel Marjamäki 8db5836e3f Fixed #5982 (Add xml dump) 2014-07-14 15:51:45 +02:00
Daniel Marjamäki 6afe9a4fbe astyle formatting
[ci skip]
2014-07-08 06:44:57 +02:00
amai2012 9b38ae73c1 Attempt to fix 2 Coverity messages.
Replace a few unsigned int by std::size_t
2014-07-07 21:25:30 +02:00
amai2012 77095e2b05 Add some more functions to posix.cfg which allow to enable TestBufferOverrun::buffer_overrun_1_posix_functions
Fix some compiler warnings on MSVC
2014-07-05 22:47:10 +02:00
amai2012 6b5f34df4b ix compiler warning on Windows 64bit 2014-06-30 12:48:42 +02:00
Daniel Marjamäki cdf081dbd5 astyle formatting
[ci skip]
2014-06-29 22:53:52 +02:00
amai2012 df988dfff3 Fix cppcheck warning in previous changeset
Signed-off-by: amai2012 <amai@users.sf.net>
2014-06-29 19:12:59 +02:00
amai2012 e60ee4ad3b Print callstack in SEH on Windows 2014-06-29 18:57:48 +02:00
Alexander Mai 4d6c17818d Try to fix configuration of un*x signal handling and backtrace support 2014-06-28 14:05:18 +02:00
amai2012 e124983e11 Improve error message for Windows SEH adding more details if available 2014-06-28 12:14:00 +02:00
Jay Sigbrandt 51fdf3f14f Simplify defines. 2014-06-27 08:03:05 +02:00
Jay Sigbrandt e7210521ac Many platforms don't support backtraces. Fix compile for Solaris platform.
This change was tested with Solaris 10 on X86 and SPARC.

More information on Unix Backtrace Support
 - http://www.gnu.org/software/libc/manual/html_node/Backtraces.html

It is not supported on the following platforms:
 - https://www.gnu.org/software/gnulib/manual/html_node/execinfo_002eh.html

        Mac OS X 10.3,
        FreeBSD 6.0,
        NetBSD 5.0,
        OpenBSD 3.8,
        Minix 3.1.8,
        AIX 5.1,
        HP-UX 11,
        IRIX 6.5,
        OSF/1 5.1,
        Solaris 10,
        Cygwin,
        mingw,
        MSVC 9,
        Interix 3.5,
        BeOS.
2014-06-26 11:41:16 +02:00
Daniel Marjamäki d4bc643ed4 CLI: don't use unix-signals if NO_UNIX_SIGNAL_HANDLING is defined. don't use unix-signals in os/2. 2014-06-15 11:17:44 +02:00
Alexander Mai 0f7071a000 Fix clang and coverity warnings 2014-06-12 20:03:11 +02:00
Daniel Marjamäki d9a3761bfd Merge pull request #331 from Dmitry-Me/DontExitInTheMiddle
Should not call std::exit() in the middle of program
2014-06-06 13:35:29 +02:00
PKEuS f7f639465a Fixed remaining VS warnings (hopefully all of them, this time) 2014-06-05 10:45:25 +02:00
Dmitry-Me 738d05b442 Calling std::exit() in the middle of a C++ program subverts stack unwinding and can introduce subtle bugs. 2014-06-05 11:28:04 +04:00
Alexander Mai 707ee97b9e Fix missing break while handling SIGBUS - fixes clang compiler warning 2014-05-29 16:57:45 +02:00
Daniel Marjamäki ed78d3e148 Library: Better error reporting when loading fails 2014-05-26 17:00:41 +02:00
Alexander Mai 7b36bbbba8 Exception handling: catch SIGBUS. Evaluate siginfo_t::si_code 2014-05-25 15:53:26 +02:00
Alexander Mai 5198c05f35 --exception-handling now takes optional argument to choose between stdout and stderr for its output. stdout is new default value 2014-05-25 08:47:37 +02:00
PKEuS adf38fcfd0 Further include cleanup 2014-05-24 12:50:04 +02:00
PKEuS 1fc1ff1993 Moved implementation of two functions to new file check.cpp -> Don't include <iostream> everywhere 2014-05-24 12:50:04 +02:00
PKEuS 09e03fa6ef Fixed some complaints of PVS Studio 2014-05-19 14:37:54 +02:00
PKEuS 65916e027c Don't complain "could not find or open any of the paths given." if no arguments were passed to cppcheck (and help was shown) 2014-05-18 13:46:01 +02:00
Alexander Mai ed78835020 Cosmetics for print_stacktrace() 2014-05-17 10:40:48 +02:00
Alexander Mai 08c209d4d9 Some cleanup for CppcheckSignalHandler, also some cosmetics for the output 2014-05-11 13:25:36 +02:00
PKEuS 59418e605f Increased version number to 1.65.99/1.66 dev. 2014-05-10 12:57:33 +02:00
Daniel Marjamäki c0131eea9e 1.65: Set version 2014-05-10 12:02:06 +02:00
Daniel Marjamäki 1903d95015 Fixed #5661 (--suppress=missingInclude has no effect) 2014-05-03 19:31:15 +02:00
Alexander Mai 718e42f5ca Fix some clang warnings about type conversions 2014-04-11 23:35:53 +02:00
Daniel Marjamäki 42c8f73bd5 Removed old cli.pro file. The readme file contains instructions for building the CLI. 2014-04-10 17:21:07 +02:00
Alexander Mai a06371e063 Fixes for Doxygen + code formatting 2014-04-07 20:39:19 +02:00
Alexander 2328704ca2 Fix compilation under cygwin since getloadavg() is not available there 2014-04-05 20:47:02 +02:00
PKEuS e9411e05ba Refactorized inefficient usage of std::string and const char[]. 2014-04-02 13:56:34 +02:00
Daniel Marjamäki 22c4d45ca0 astyle formatting 2014-03-31 03:06:57 +02:00
Alexander Mai a12e59dbee Make backtrace resemble gdb bt 2014-03-30 21:29:17 +02:00
PKEuS 63254b33f9 Fixed uncaught exception in testbufferoverrun.cpp 2014-03-27 19:55:11 +01:00
Dmitry-Me d0e51fb5f0 Make use of Visual C++ runtime memory leak tracing 2014-03-26 19:43:12 +04:00
PKEuS 019d4491fb Fixed compilation on Windows.
[ci skip]
2014-03-25 19:20:59 +01:00
Troshin V.S 840fba7672 CLI: Add -l command line option 2014-03-25 18:35:59 +01:00
Daniel Marjamäki fbd607d35d Fixed cygwin compilation 2014-03-22 09:57:43 +01:00
Daniel Marjamäki e48dfb0e6a cygwin: apply cygwin compilation tweaks. thanks ir0nh34d. 2014-03-19 21:20:30 +01:00
Martin Ettl fe1b46c174 Extended std.cfg 2014-03-19 21:08:48 +01:00
Alexander Mai af922aedbf Fix mingw build 2014-03-18 21:14:09 +01:00
Alexander Mai 14386d06dc Enable SEH for Windows using MSVC (not for mingw) 2014-03-17 19:11:00 +01:00
Martin Ettl 80b1271d01 Astyle running and added test cases for functions in std.cfg. 2014-03-10 02:21:44 +01:00
Alexander Mai c2a602a6bd Refactor signal handling code: prepare for demangling names, handle SIGINT w/o backtrace, remove our own signal handler frames from backtrace 2014-03-16 18:37:28 +01:00
Alexander Mai 825bb0f027 Fixed #5286 (Add signal/exception handling to cppcheck and cppcheck-gui) 2014-03-16 12:04:13 +01:00
Julian Santander fae8ef48b8 Fixed #5529 (Further control in selecting what configurations to consider) 2014-03-10 15:49:02 +01:00
PKEuS 470f1579c1 Incremented version to 1.65dev/1.64.99 2014-03-03 15:07:54 +01:00
Daniel Marjamäki 4842115a56 1.64 : Update versions 2014-03-02 09:55:39 +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 2b3fa9957c doxygen: added info about value flow to main page 2014-01-13 19:15:58 +01:00
Kamil Dudka 1f53018b8e Suppress warning about non-existing path given to -I with --quiet. 2014-01-10 21:50:21 +01:00
Daniel Marjamäki 7cfa4c8654 astyle formatting 2014-01-08 06:06:08 +01:00
Daniel Marjamäki f79e1b6d87 Fixed #5317 (failed to load std.cfg) 2014-01-08 05:03:55 +01:00
Daniel Marjamäki d8270c710a Add new experimental value flow analysis 2014-01-04 20:57:02 +01:00
PKEuS 574c27b1b2 Removed VS9 solution 2014-01-04 10:55:27 +01:00
PKEuS 55f68535b2 Set version to "1.64 dev"/1.63.99. Use version.h in cppcheck.cpp. 2014-01-04 10:41:13 +01:00
Daniel Marjamäki 6515691a47 1.63: Set version numbers 2014-01-04 09:32:37 +01:00
Daniel Marjamäki 6ff93a6b36 CLI: Made the 'failed to load std.cfg' nicer and more informative. 2014-01-03 21:59:50 +01:00
Alexander Mai b411efa33f Fixed #5302 (Invalid parameter for --showtime should cause an error) 2014-01-03 10:00:47 +01:00
Daniel Marjamäki a94fccf51a astyle formatting 2014-01-02 21:47:35 +01:00
Sam Truscott 4333dd3c75 Update Qt to support Markup structure 2014-01-02 18:18:24 +01:00
Matthias Krüger 287bc5d284 be more informative when "-j N --enable=unusedFunction" (N>1) is passed.
unusedFunction check is disabled when -j is passed.
2013-12-31 16:31:34 +01:00
Daniel Marjamäki c3f101e043 doxygen: document on the main page that we have access to syntax tree, symbol database and library. 2013-12-27 15:07:42 +01:00
Daniel Marjamäki 562387e3ff library: use extensions when loading std.cfg and posix.cfg 2013-12-26 13:18:54 +01:00
Daniel Marjamäki 4131c621c9 Fixed #5254 (Warn about missing library files (.cfg)) 2013-12-26 11:15:28 +01:00
Daniel Marjamäki 76b907fe65 Fixed #5252 (Improve check: use Library to validate function arguments in invalidFunctionUsage) 2013-12-23 10:06:45 +01:00
Daniel Marjamäki 5ba02d2fdd AST: Always use AST 2013-12-09 18:06:19 +01:00
Daniel Marjamki 8910bae801 Fixed #5137 (Defining empty macro from commandline does not seem to work) 2013-11-03 09:46:03 +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 e446a28b3d Refactoring FileLister and Path so they don't depend on Library 2013-10-31 19:09:01 +01:00
PKEuS f572f3dd81 Fixed typo in __clang__ macro 2013-10-27 13:40:10 +01:00
PKEuS 9790e09e2d Work around clang pretending to be GCC 4.2. Require clang 2.9 2013-10-27 13:34:05 +01:00
PKEuS 0db50dc0f6 Print a warning instead of a message on MSVC < 1600 2013-10-27 12:59:10 +01:00
PKEuS a2ef80b74b Warn about deprecated compilers 2013-10-27 12:55:36 +01:00
Sam Truscott 6806fd8135 Extended Qt support through Library 2013-10-20 14:09:10 +02:00
PKEuS 4cd2fad2bf Set version to 1.63 dev 2013-10-13 09:53:56 +02:00
Daniel Marjamäki 21c537e8d7 1.62: Set versions 2013-10-12 12:22:52 +02:00
Robert Reif 1959377423 Fixed #4963 (cppcheck and testrunner Visual Studio 2008 build failure) 2013-10-08 05:36:52 +02:00
Daniel Marjamäki 43b40b7465 Refactoring: Reordered includes. Put local ones before system includes. 2013-09-04 06:18:22 +02:00
Daniel Marjamäki d2d0f3a292 cli.pro: dont include tinyxml both from lib.pri and cli.pro 2013-08-04 13:05:25 +02:00
PKEuS 4a84195a8c Updated to latest TinyXML
Build TinyXML into core dll once and use it from CLI
2013-08-03 20:29:50 +02:00
PKEuS 219f6546d3 Set version to 1.62 dev 2013-08-03 19:54:39 +02:00
Daniel Marjamäki 2f7fba2087 1.61: Set versions 2013-08-03 08:04:38 +02:00
Daniel Marjamäki 0c5e39a813 Library: Added configuration file std.cfg that clients should load. 2013-07-20 17:12:56 +02:00
Daniel Marjamäki 1a2aaa6780 Library: If load from current path fails, try to load 'default' configuration from cppcheck-executable path. Allow that '.cfg' extension is not used. Allow that multiple configurations are provided (comma separated). 2013-07-20 10:21:05 +02:00
Daniel Marjamäki a216edfd07 updated manual and CLI --help output 2013-07-20 09:38:44 +02:00
XhmikosR 29475d056a Use the full sourceforget.net url. 2013-07-16 09:01:56 +02:00
Daniel Marjamäki 7d47fd65a2 Renamed --environment to --library. Added --check-library. Renamed Environment to Library 2013-07-08 18:26:18 +02:00
Alexander Mai b7bb16ea77 Fixed #4897 (callStackToString is not available when using custom message template) 2013-07-08 06:44:25 +02:00
Daniel Marjamäki de2f959312 CLI: don't crash if summary in rule file is empty 2013-07-06 12:01:46 +02:00
Daniel Marjamäki 61e1dd5096 Environment: Refactoring and cleanup 2013-07-05 20:55:31 +02:00
Daniel Marjamäki d96fb577cd CLI: Added --environment flag 2013-07-02 07:18:19 +02:00
Daniel Marjamäki 6b2bab535b CLI,LIB: Added --std setting for GTK 2013-06-29 12:55:24 +02:00
Daniel Marjamäki 00909486ab unusedFunction: updated help text and manual. it is recommended that this check is only enabled when the whole program is scanned. 2013-06-16 11:57:02 +02:00
Reijo Tomperi ae65a47f5f Add missing line change to CLI help text, near style. 2013-06-13 20:57:15 +03:00
Daniel Marjamäki 537166cf47 Rules: Make it possible run a rule on the 'normal' token list 2013-06-09 14:58:56 +02:00
Daniel Marjamäki 964b6cbd82 help: Improved help text for -D and -U 2013-06-09 13:00:08 +02:00
Daniel Marjamäki c65437c74c manual, help text: updates of --enable text. updates of 'Preprocessor configurations' section, the --force and --max-configs can be used together with -D. 2013-06-09 10:34:45 +02:00
Daniel Marjamki 4e09b06bc1 Fixed #4827 (allow checking multiple configurations when using -D by also using --max-configs or --force) 2013-06-08 16:46:54 +02:00
Daniel Marjamki c83bd7f00f 1.60.1: Set versions 2013-06-02 13:13:40 +02:00
Daniel Marjamäki d36d3d5469 1.60: set version 2013-06-01 15:17:07 +02:00
Daniel Marjamäki a7da65a40b Fixed #4618 (Unmatched suppression: don't show this information message unless --enable=information or --check-cfg is used) 2013-05-31 15:20:58 +02:00
Daniel Marjamäki 75f6013d13 Fixed #4755 (buggy --xml reports in 1.59) 2013-05-20 16:19:31 +02:00
PKEuS 2ec5d8953e Small refactorization in threadexecutor.cpp: Use prefix increment; Reuse iterator. 2013-03-31 01:26:09 -07:00
PKEuS f08a01fb26 Fixed MSVC warning in threadexecutor.h when compiling as x64 2013-03-31 01:11:34 -07:00
Daniel Marjamäki c733928505 1.59: Set versions 2013-03-29 18:06:13 +01:00
Daniel Marjamäki 8f2ca7c9d0 Fixed #4636 (Fails to compile using mxe *-to-windows cross compiler) 2013-03-14 06:45:32 +01:00
Daniel Marjamäki d8fc126cf0 Fixed #4612 (Adding file extensions to Cppcheck analysis) 2013-03-03 07:32:14 +01:00
Daniel Marjamäki bcc0f87b4b Fixed #4612 (Adding file extensions to Cppcheck analysis) 2013-03-01 18:04:10 +01:00
Kamil Dudka e46f0cf124 CLI: Added missing NL in help message 2013-02-20 17:07:54 +01:00
PKEuS 167e11b645 Switch to TinyXml2 2013-02-16 10:01:34 -08:00
Andrew C. Martin bd0d9b9639 fix misspellings & gcc v3.4.6 warnings
1.  fix typos / misspellings
 - Fix misspelling within comments, variable/function names, stdout messages
 - changes the name of an error code: ```stlBoundries``` changed to ```stlBoundaries```.  Alias old name (```stlBoundries```) to the new one.

2.  fix gcc v3.4.6 32bit & 64bit warnings

 - fixes gcc v3.4.6 warnings, except for those in tinyxml and "-Wmissing-declarations" makefile warnings
 - in Preprocessor::handleIncludes(), replace a ```vector <bool>``` with ```stack<bool>``` (see ```vector<bool>``` warning below).
   - this is the only ```vector<bool>``` in the codebase
 - ```vector <bool>``` is actually a case of template specialization, and is not recommended, according to the following links:

http://stackoverflow.com/q/6461487
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2160.html
http://stackoverflow.com/q/670308

 - in the codebase before and after this change, testrunner SEGVs in a number of places on gcc v3.4.6, including ```Check::~Check()```, among others
   - fc42fc95 fixes this particular runtime issue for DJGPP & __sun
2013-02-09 23:43:09 -07:00
Daniel Marjamki fc58c6018c CLI: enable warning messages by --enable=style 2013-02-02 15:48:19 +01:00
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 dc0ecb1082 ThreadExecutor: include sys/select.h for fd_set 2013-01-13 13:21:46 +01:00
Daniel Marjamäki 3057078571 1.58: Set versions 2013-01-12 14:49:58 +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
Simon Kagstrom 66a3e5e313 Ticket 4408: cmdlineparser: Improve description of --include= 2012-12-28 12:43:43 +01:00
Simon Kagstrom 2b698919c4 Ticket #4408: cmdlineparser: Don't force single configuration with --include= 2012-12-28 12:43:43 +01:00
Simon Kagstrom ef28bde3e4 Fixed #4408 (Force inclusion of files (a la -include /.../ in GCC)) 2012-12-27 16:52:31 +01:00
acm4me 7da155c8ba Support for Sun Studio C++ compiler 2012-12-27 11:51:12 +01:00
Daniel Marjamäki bfb82fe3e1 Cppcheck: Show single 'too many configurations' message if --enable=information hasn't been used and there are too many configurations. 2012-12-26 18:35:49 +01:00
Gerhard Zlabinger d149b9b06c Travis: Fixed Cppcheck warnings 2012-12-13 21:03:41 +01:00
PKEuS c4821db796 Updated VS9 solution with qmake (#4397). 2012-12-13 20:38:10 +01:00
Gerhard Zlabinger 4bb62fc8b2 CLI: write status messages 2012-12-13 18:47:13 +01:00
Gerhard Zlabinger 6442938fe9 Fixed #648 (Threads in Windows) 2012-12-12 19:09:37 +01:00
Daniel Marjamäki b107e5e9e8 cppcheckexecutor: removed time info from verbose progress info. the ctime function that is used is not threadsafe. 2012-12-09 09:30:18 +01:00
Daniel Marjamäki 3a44a5ca3c 1.57: Setting version 2012-11-04 13:50:23 +01:00
PKEuS 16a58d1c11 Use reference instead of copying string in cmdlineparser.cpp 2012-11-03 20:42:32 +01:00
PKEuS c84857fc7e Fixed compilation as shared lib with PCRE: Ensure that sizeof(Settings) is the same with and without HAVE_RULES
Fixed VS10 solution when TinyXml is included (define TIXML_USE_STL).
2012-11-03 20:37:23 +01:00
Edoardo Prezioso 6cfb664def Fixed a related issue with the ThreadExecutor fix
Don't call reportErr when the message type is a REPORT_INFO, but call reportInfo instead.
2012-10-19 20:20:29 +02:00
Edoardo Prezioso d459b6acb1 Fixed #4298 (Strange 'missing include' output message when executing '-jn --check-config'). 2012-10-19 19:26:42 +02:00
Edoardo Prezioso eb84c03b01 Related to previous commit: don't hide the main.cpp file and the path to both. 2012-10-19 19:14:40 +02:00
Edoardo Prezioso 81c17b4c3b Fix old paths present in the comments of main.cpp. 2012-10-19 18:51:43 +02:00
Ryan Pavlik a4bc1d8f74 Update cli/version.rc
Forward slashes in include to not break cross-compilation.
2012-10-15 11:28:08 -05:00
PKEuS fc53b15fa4 Refactorized resource files:
- Stored global information about cppcheck version and copyright string in a single resource.h file.
- Use macros of windows.h instead of numeric values for filetype, etc.
- Added versioninfo metadata to lib (#4275)
- Removed VS resource editor code from resource files - these files shouldn't be modified with it to avoid information loss
- Renamed files to version.h/rc
- Encoded files as ANSI again - use escape sequences for unicode characters in literals (#4281)
2012-10-14 10:21:22 +02:00
PKEuS 3c4c547fcf Encoded .rc files as UTF16 LE. (#4279) 2012-10-12 13:13:06 +02:00
Daniel Marjamäki 1e024a9abc cleanup more java/c# code. Thanks amai for telling me about this. 2012-10-03 19:19:49 +02:00
Daniel Marjamäki 3e58472cd3 Fixed #4013 (Several test failures in testcmdlineparser.cpp) 2012-09-14 06:58:14 +02:00
PKEuS 2db1dbe2ce Changed some function prototypes according to cppcheck messages about functions that can be static. 2012-09-11 19:19:11 +02:00
PKEuS 50f9dd52ab Used enum instead of string in implementation for '--language='. 2012-09-11 08:53:27 +02:00
PKEuS 87131f6105 Added new cmdline option --language= (alias of GCC-like -x) to enforce a specific language. Valid values: c, c++, java, c#. (#3994) 2012-09-10 18:51:32 +02:00
XhmikosR 1968b6ffe0 vs2010 projects: consistently use /MP and remove default property 2012-09-09 14:20:49 +02:00
PKEuS 8c70778b70 Refactorization: Fixed several messages when self-checking cppcheck 2012-09-04 15:29:51 +02:00
XhmikosR cd7c4df622 consistency changes 2012-09-03 13:52:06 +03:00
PKEuS dcf997007b Incremented version numbers to 1.57 dev 2012-09-01 13:04:09 +02:00
Daniel Marjamäki b8db27fcd1 1.56: Set versions 2012-09-01 10:54:15 +02:00
Daniel Marjamäki 6fc7f0227c cli: updated example with --std=posux flag 2012-08-27 19:00:00 +02:00
PKEuS 046712aaec Removed --doc formating hack that removes more than three newlines and added format testing of Check::classInfo instead.
- Fixed test failures shown by new test.
Use const_iterator instead of iterator in testcppcheck.cpp when possible
2012-08-26 16:22:46 +02:00
Daniel Marjamäki f127728582 Enable --std=c11 and --std=c++11 by default 2012-08-25 21:57:45 +02:00
Daniel Marjamäki 87eb2d444c cli: add --inconclusive to the help screen 2012-07-26 09:10:39 +02:00
PKEuS 37820af7f8 Committed patch removing unnecessary Unicode-Ansi conversions (fixed #2123) 2012-07-16 02:37:29 -07:00
PKEuS 20005fdad1 Fixed broken rules support in cli under VS10 (HAVE_RULES was not set, but needed in cmdlineparser.cpp) 2012-07-15 02:54:19 -07:00
PKEuS 0ea1124a19 Fixed warning of Intel Compiler:
- standard conformant main function in testrunner.cpp
Fixed warning of Intel and MSVC Compilers:
- commented out unused parameter
2012-07-11 01:26:32 -07:00
PKEuS b5589e41f9 Cleanup of VS10 solutions (As suggested by XhmikosR). Fixed problems:
- UNICODE set correctly
- Fixed path to pcre.lib; use external library directories
- Removed several unnecessary and redundant flags from projects

Thank you for your help, XhmikosR!
2012-07-09 08:09:54 -07:00
Edoardo Prezioso fae40c4782 Change every C version of 'size_t' to C++ 'std::size_t'. 2012-07-09 13:30:18 +02:00
Daniel Marjamäki 42e68550fc fixed doxygen errors 2012-07-08 19:32:33 +02:00
PKEuS dec4844c10 Define _WIN64 in VS10 solution when compiling for x64 2012-07-07 02:41:41 -07:00
Edoardo Prezioso 3c4ce7b43a Fixed (for real) the preprocessor.cpp(1166) warning in #2123. 2012-07-06 13:17:08 +02:00
Daniel Marjamäki 7122aeff58 Fixed #3617 (CLI: '-DMACRO' should be considered as '-DMACRO=1') 2012-07-05 19:35:41 +02:00
Daniel Marjamäki 0bbf2ecd0c CLI: output information messages to error report 2012-07-04 18:21:56 +02:00
PKEuS 2de6ea4627 Incremented version to "1.56 dev" 2012-07-02 11:10:07 -07:00
Daniel Marjamäki 2536746d02 1.55: Set version 2012-06-30 18:08:27 +02:00
Daniel Marjamäki 956a37a382 Fixed compiler errors 2012-06-20 17:39:31 +02:00
Kimmo Varis 68c52ddd69 Refactoring information messages.
Currently the information severity messages are outputted as error
messages with Severity::Information. This causes constant confusion
as people think it as mildest error severity (and rightfully so).
When it was meant to be for printing messages about the checking
procedure itself (like missing header files etc).

So I'm adding a new function for the ErrorLogger for printing these
informative messages. This makes clear the distinction of errors
found from the code and messages related to the checking itself.
It also makes it easier for clients to handle these separately.
2012-06-19 00:16:20 +03:00
Kimmo Varis fe9e6130cf Add general PRO file for console builds.
It is easier to maintain PRO files when we keep all the console-
build specific general options in one file. For example changes to
compiler options affect to all console builds.
2012-06-18 09:28:32 +03:00
PKEuS 8b294a2d4f Disabled C4512 in VS10 (#3882) 2012-06-14 09:39:31 -07:00
PKEuS 367c02f066 Fixed #3883: 80-char overflow in help text. 2012-06-11 02:05:18 -07:00
PKEuS 4b80e91145 Implemented support for building cppcheck lib into a dll
Updated VS9 solution
New VS10 solution that builds cppcheck into a dll used by cli and testrunner.
Functional changes and advantages of new solution:
- Share code between testrunner and cli; ability to share code with gui as well (not yet implemented)
- Files of /lib are no longer compiled twice (should improve build time on single core machines)
- Added configuration for building with PCRE support
- Executables are build into /bin (/bin/debug in debug mode) folder (Should no longer require rebuild when switching between debug and release)
- Completely x64 compatible (contains also x64-debug configuration now)
2012-06-10 05:19:09 -07:00
Daniel Marjamäki 200390e7ad VS: Generated new VS project files 2012-05-26 10:48:04 +02:00
Edoardo Prezioso eacf74be8d Changed the order of some structures in order to improve, even if for a bit, their padding. 2012-05-14 20:49:03 +02:00
Daniel Marjamäki 895ee61ed5 Visual Studio: Updated VS2008 project files 2012-05-13 18:07:22 +02:00
Daniel Marjamäki c3573f7db1 Generated new VS2008/VS2010 project files 2012-05-05 11:10:41 -07:00
PKEuS 92737578ac Refactorizations:
- removed unused function CheckOther::concatNames
- Replaced one indendation counter by Token::link() in checkother.cpp
- Forward declaration of Settings in threadexecutor.h
2012-04-26 15:29:39 +02:00
Dirk Jagdmann eea92d96ec Fixed #3757 (fix command line help and manpage by replacing --max-ifdefs) 2012-04-25 19:58:34 +02:00
PKEuS bac8ed7127 Refactorized stringification of tokens:
- Function that stringifies one token: Token::stringify()
- Functions that stringify a list of tokens: Token::stringifyList()
-- Single and powerful "base" function, used by several "light" functions
Refactorized
- testtokenize.cpp and testsimplifytokens.cpp: Use improved stringification functions instead of several local implementations
- Avoided redundand creation of std::string when using TestTokenizer::tokenizeAndStringify and in cmdlineparser.cpp
2012-04-16 19:51:07 +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 f1692cdefe Set version to "1.55 dev" 2012-04-15 11:40:14 +02:00
Daniel Marjamäki 3ddbcc7fbe 1.54: updated version numbers 2012-04-15 07:23:26 +02:00
PKEuS 3eede5ba8c Fixed/Improved description of -rp/--relative-paths
run astyle
2012-04-14 16:07:37 +02:00
PKEuS 9f054fbb3c Fixed crash when "-rp=" or "--relative-paths=" is given - print Error. 2012-04-14 14:44:15 +02:00
PKEuS 05a6638468 Removed code that became unnecessary after 7be01da8e9.
Fixed wrong comment in cli/pathmatch.h (doxygen warning)
2012-04-13 11:08:46 +02:00
Daniel Marjamäki eea0974a5d fixed compiler errors 2012-04-08 15:22:50 +02:00
PKEuS 772108374e Removed unused variable CppCheck::_errout. 2012-04-08 14:18:13 +02:00
PKEuS ba4945a2fb Improvements to filelister under Windows:
- Passed string parameters as const references
- Give correct string size to WinAPI functions (they take the number of characters, not the size in bytes (as used two times) and not the size in bytes plus 1 (as used one time))
- Fixed compiler warning C4293 by hiding the code for 32bit systems
- store result of wcslen(ffd.cFileName) instead of calculating it twice
2012-04-08 11:50:54 +02:00
PKEuS e8a458edde Fixed crash when --errorlist is given (#3711) 2012-04-08 10:05:44 +02:00
Simon Martin 3ccdd16b01 Avoid clang warning. 2012-04-07 15:36:45 +02:00
PKEuS a399a22b09 Fixed compilation error (#3709) 2012-04-07 13:55:03 +02:00
PKEuS 6643e14d3c Avoid copying Settings in CppCheckExecutor 2012-04-06 14:19:26 +02:00
PKEuS 25167b58a9 Implemented #2990: Print relative paths if -rp or --relative-paths is given 2012-04-06 10:49:21 +02:00
Edoardo Prezioso 28431da0ae Nitpicky style change: use 'for(;;)' construct instead of 'while(true)' in the code. 2012-03-24 21:50:09 +01:00
PKEuS c61762f454 Refactorized doAssignement:
- Enhanced performance by directly iterating through the token list instead of index access
- Added more allocation functions
- Simplified code
Replaced avoidable strlen call in cppcheckexecutor.cpp
2012-02-29 20:57:48 +01:00
PKEuS 9a5f66030c Improved unused private function check:
- Fixed #3628
- Added support for friend
Improved symbol database:
- friend scopes are now set
- Added findScopeByName function
Refactorizations:
- Removed some unnecessary "virtual" keywords
- Removed unnecessary _filename member variable, pass it as argument instead
- Made CppCheck::replaceAll static, since it is independant from a specific CppCheck instance, Pass string to be modified by reference
2012-02-24 20:45:56 +01:00
PKEuS 9f42ce91a1 Refactored STL container usage in CLI.
Pathmatcher masks are converted to lowercase only once when instance is created
2012-02-19 17:22:59 +01:00
PKEuS b1ff900aaa Some refactorizations 2012-02-18 23:43:51 +01:00
PKEuS 4b52df675a Some refactorizations 2012-02-18 14:44:04 +01:00
PKEuS 2ba2a4e6ae Some refactorizations 2012-02-18 11:55:05 +01:00
Daniel Marjamäki c33dbb80fb 1.53: Updated version info 2012-02-11 08:17:07 +01:00
Reijo Tomperi ca5e9740b4 Fix #3578 (--std help text in cli is confusing)
http://sourceforge.net/apps/trac/cppcheck/ticket/3578
2012-02-09 18:34:16 +02:00
Daniel Marjamaki 29e66783fa Fixed #3351 (--includes-file is not working as expected) 2012-02-05 15:28:37 +01:00
Daniel Marjamaki 2ff592e8d9 fixed handling of -i in windows 2012-02-04 19:21:38 +01:00
PKEuS 96ae010e48 - Correctly set Scope::function variable in symboldatabase
- Refactorizations
- Fixed some cppcheck warnings
2012-01-21 10:08:09 +01:00
Reijo Tomperi da09adc583 Fix #3510 (Improve error message for --suppressions-list)
http://sourceforge.net/apps/trac/cppcheck/ticket/3510
Print additional info to error message if we suspect that multiple files were given.
2012-01-12 22:21:51 +02:00
Kimmo Varis 42b7a4fadd Update VS2008 project files. 2012-01-10 19:48:25 +02:00
PKEuS 8378153669 Fixed missing include 2012-01-06 18:11:06 +01:00
Daniel Marjamäki de4a64332e Refactoring: Copy FileLister::acceptFile to Path::acceptFile. Use Path::getFilenameExtension and Path::acceptFile in Tokenizer. Use Path::acceptFile in CppCheck::processFile instead of hardcoded handling. 2012-01-06 17:31:10 +01:00
Reijo Tomperi 1a6894fe25 Fix warnings with -Wconversion in gcc in threadexecutor 2012-01-03 22:21:17 +02:00
Reijo Tomperi 1b03667d5b Refactoring: Replace '1', '2', '3' magic characters with enum names: REPORT_OUT='1',REPORT_ERROR='2', CHILD_END='3' in ThreadExecutor. 2012-01-03 20:51:16 +02:00
Daniel Marjamaki cb22e04a36 Visual Studio: Generated new msvc2010 project files with qmake 2012-01-02 16:28:45 +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
PKEuS f4703e026a Refactoring various issues in cmdlineparser, cppcheckexecutor, check64bit and tokenize. 2012-01-01 21:17:16 +02:00
Reijo Tomperi 8cae17fda8 Update year to 2012 2012-01-01 01:05:37 +02:00
Daniel Marjamäki 47c666308f reformatting cli help text to fit better on normal terminal windows that are 80 characters wide 2011-12-24 11:27:10 +01:00
PKEuS dca03c3ce2 Remove unnecessary includes
Also add a unit test related to #3427
Also improve the description text in checkclass and remove unused variable.
2011-12-23 23:31:48 +02:00
Reijo Tomperi 11242e4045 Fix spelling error: explicitely -> explicitly 2011-12-10 22:58:45 +02:00
Daniel Marjamäki c5a1b5ecab --doc : don't write internal checks in the doc output 2011-12-10 18:39:25 +01:00
Daniel Marjamäki 93b447f7f6 1.52: Updated version 2011-12-10 12:55:40 +01:00
PKEuS 167a7e3e51 Various code cleanups 2011-12-08 21:28:34 +01:00
makulik 04d4e5e32e Run astyle
Signed-off-by: makulik <g-makulik@t-online.de>
2011-11-30 20:35:04 +01:00
makulik 1e8fc71f8e Solution for ticket #3353 'Allow explicit undef's for configuration'
Signed-off-by: makulik <g-makulik@t-online.de>
2011-11-30 20:24:01 +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 9996d38715 Fix #3277 (Other: attempt to copy-construct an iterator from a singular iterator) 2011-11-11 09:19:59 +01:00
Reijo Tomperi 17842394c0 Fix #3324 (Change "--template '<text>'" into "--template='<text>'")
http://sourceforge.net/apps/trac/cppcheck/ticket/3324
https://sourceforge.net/apps/trac/cppcheck/wiki/DesignDecisions
2011-11-11 00:00:15 +02:00
Stefan Weil 76dda36b64 cmdlineparser: add support for --template=
The GNU standard for long command line options is --option=value.
All other long options of cppcheck support this, so add it for
the template option, too.

--template xxx can be made obsolete later.

Should the documentation and tests also be changed now?

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2011-11-10 22:25:49 +02:00
Reijo Tomperi 5fefaf4166 Improve error logging in ThreadExecutor 2011-11-09 22:15:53 +02:00
Daniel Marjamäki ed97b62610 Fixed #3275 (Missing includes always reported) 2011-11-06 08:59:07 +01:00
Zhiyuan Zhang 4c3283738b Fixed #3292 (Error in --suppressions-list silently ignores all subsequent command line options) 2011-11-05 18:15:03 +01:00
Reijo Tomperi e989af3fd5 Fix typo "Cpppcheck" 2011-11-05 18:56:40 +02:00
Edoardo Prezioso 9dd3360cd6 Fix some complainted choices made in my older commits.
Note: probably you should do 'make clean' before using 'make' to rebuild it again. Maybe it's me but 'make' reports various errors when linking.
2011-11-01 13:23:47 +01:00
Ettl Martin ac22f3b798 cli: added 'explicit'-keyword in CmdLineParser and PathMatch ctor 2011-10-31 23:40:37 +01:00
makulik 0b6e7d7dd2 Small fixes for -I and --includes-file help texts 2011-10-30 21:19:16 +01:00
Edoardo Prezioso 433f4640a9 Fix some GCC warnings regarding the sign conversion. 2011-10-30 18:34:49 +01:00
Edoardo Prezioso f1de7497ba Fix little alignment problems for terminals with 80 column length. Related to my previous commit. 2011-10-30 02:29:43 +02:00
Edoardo Prezioso 0bb1ad8782 Little improvements with cli messages and added new '--template' mode: 'edit'.
This option makes it possible opening correctly some editors like 'gedit' or 'vim' by copy-pasting the filename and the line to the command sequence.
2011-10-29 23:50:09 +02:00
Thomas Jarosch 09bdacf31f FileLister (linux): Refactor code to keep only one list of seen directory entries
The list contains filenames and directories now
and is only used for duplicate detection.
2011-10-29 19:57:12 +02:00
Thomas Jarosch a09011630d FileLister (linux): Handle cyclic symbolic links
Keep a list of already seen directories.

The "udev" project f.e. has a directory with
a subdirectory that contains a symbolic link
back to the parent directory.
2011-10-29 19:40:50 +02:00
Thomas Jarosch 0f299aa9bf FileLister (linux): Move absolute path determination to own function
Cleans up the #ifdef hell in the code.
Provide unit test for it.
2011-10-29 19:30:33 +02:00
Daniel Marjamaki 605bd23517 Visual Studio: auto generated new visual studio project files 2011-10-23 15:42:02 +02:00
makulik c7ed1de419 Signed-off-by: Günther Makulik <g-makulik@t-online.de> 2011-10-23 11:15:12 +02:00
unknown abf25fcc69 Signed-off-by: Günther Makulik <g-makulik@t-online.de> 2011-10-23 10:47:18 +02:00
unknown efede199a5 Removed comment lines suggesting to go for XML configuration 2011-10-23 01:13:18 +02:00
unknown 597a37cc32 #3244 'Get include pathes from file'
Signed-off-by: Günther Makulik <g-makulik@t-online.de>
2011-10-22 21:24:23 +02:00
Daniel Marjamäki a9d2d45fbc astyle formatting 2011-10-22 11:11:54 +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
Daniel Marjamäki 618379ffd7 cli: updated help text for --std option 2011-10-16 15:32:40 +02: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 1ec32e27db Borland: Fixed compiler errors 2011-10-16 07:52:54 +02:00