Commit Graph

918 Commits

Author SHA1 Message Date
Daniel Marjamäki 0262020707 --template: Removed 'clang' and renamed 'cppcheck2' to 'daca2' 2017-05-25 05:24:42 +02:00
Daniel Marjamäki a3c0eecccf Added --template=cppcheck2 output format 2017-05-23 12:19:11 +02:00
orbitcowboy ffe6582e6b Added platform support for Atmel AVR 8 bit microcontrollers. 2017-05-22 14:46:19 +02:00
Daniel Marjamäki b53a2ff9eb Command line: Added --template=clang formatting 2017-05-19 17:09:49 +02:00
Daniel Marjamäki 6967d68137 Add --plist-output argument 2017-05-16 14:07:23 +02:00
PKEuS 3432257390 Removed deprecated command --append 2017-05-14 11:57:04 +02:00
PKEuS fda1f67da6 Set version to 1.79.99/1.80 dev 2017-05-14 10:07:38 +02:00
PKEuS fb94ad21fa Updated Visual Studio solution to VS2017. 2017-05-14 10:04:25 +02:00
Daniel Marjamäki e5e5a5e4b8 1.79: Set version 2017-05-13 11:25:16 +02:00
Daniel Marjamäki bc7799dccd Fixed #7888 (false positive from knownConditionTrueFalse with sizeof(int) == sizeof(long)) 2017-05-01 12:23:28 +02:00
PKEuS b1f4bd7504 Refactorization: Reimplemented Settings::_enabled as a bitfeld instead of std::set (#7995) 2017-04-11 11:49:26 +02:00
PKEuS 47570f5791 Set version to 1.78.99/1.79 dev 2017-04-05 11:24:26 +02:00
Benjamin Fovet 1f83c014d5 Remove redundant word in --library description (#886) 2017-04-04 01:40:37 +02:00
Daniel Marjamäki c2a6ee3ea1 Use 'endsWith' 2017-04-01 18:27:53 +02:00
Daniel Marjamäki 2eda59eb72 Update version 2017-04-01 11:03:45 +02:00
Daniel Marjamäki 633ed23c0d Fix Cppcheck warnings about mismatching function argument names 2017-04-01 09:31:27 +02:00
PKEuS 8ba9ce4924 Set version to 1.77.99/1.78 dev 2017-01-01 11:58:39 +01:00
Daniel Marjamäki bf5fa90952 updated version info 2016-12-31 18:35:08 +01:00
Daniel Marjamäki e9d950d4f5 Cppcheck build dir: Better handling when --project is used 2016-12-08 22:46:44 +01:00
PKEuS cfac3b457d Several small refactorizations 2016-12-06 22:12:02 +01:00
Neszt Tibor 4bd6a75c48 execinfo.h is part of glibc
On systems where glibc is not available, execinfo.h should not be
included.
2016-11-29 09:44:50 +01:00
Stefan Weil 57b57428c2 Fix some typos in comments (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-11-27 11:40:42 +01:00
Matthias Krüger 2832b61a7c --cppcheck-build-dir: --help was telling about --analyze-dir while the actual flag according to code is --cppcheck-build-dir.
Fix --help.
2016-11-16 01:33:39 +01:00
Daniel Marjamäki 7d7212c465 --cppcheck-build-dir: generate unique analyzeinfo filenames when source files have same names 2016-11-14 20:50:08 +01:00
Daniel Marjamäki 350e5a7142 UnusedFunctions: Perform checking using analyzeinfo 2016-11-05 21:26:56 +01:00
Daniel Marjamäki 9ff3e85899 Added --cppcheck-build-dir flag 2016-10-29 12:18:11 +02:00
Daniel Marjamäki 324f68ca36 rename function 2016-10-28 12:10:19 +02:00
PKEuS e417e15567 Set version to 1.76.99/1.77 dev 2016-10-09 10:33:03 +02:00
PKEuS 29e1fe136a Fixed Visual Studio build after pathmatch.h/cpp was moved to lib, fixed compiler errors about getcwd 2016-10-02 15:48:03 +02:00
Daniel Marjamäki 3605457cbe CLI: Fix exclude of absolute path. #4399 2016-10-02 12:38:44 +02:00
orbitcowboy a50405b8ab cli: Added documentation for --doc option. 2016-09-09 14:03:12 +02:00
Daniel Marjamäki 606e31602c Fixed #7177 (Support compile_commands.json) 2016-08-13 10:50:03 +02:00
Daniel Marjamäki c586ae8cbe Revert 'project' - it is not ready yet 2016-08-07 17:10:37 +02:00
Daniel Marjamäki f45dc345a9 Merge branch 'master' into project 2016-08-07 15:47:41 +02:00
Daniel Marjamäki 78fc307c73 1 2016-08-07 15:45:36 +02:00
Matthias Krüger 45e600f71c Only warn about XML 1 if XML output is desired. 2016-08-07 15:37:06 +02:00
Daniel Marjamäki f83661b206 Merge branch 'master' into project 2016-08-07 15:36:35 +02:00
Daniel Marjamäki 4dbdb50317 split 2016-08-07 15:35:41 +02:00
Daniel Marjamäki fab2c96622 j2 2016-08-07 14:30:09 +02:00
Daniel Marjamäki e0f4ce9358 vs 2016-08-07 13:55:27 +02:00
PKEuS ec4a85ecef Added deprecation warning for XML format 1, which will be removed in cppcheck 1.81 2016-08-07 13:50:52 +02:00
Daniel Marjamäki f0727f2148 Merge branch 'master' into project 2016-08-06 21:05:29 +02:00
Daniel Marjamäki 09d6f4f0a4 1 2016-08-06 21:04:50 +02:00
Frank Zingsheim 47c063e13f Fixed #7660 (cmake build does not handle simplecpp) 2016-08-06 18:21:54 +02:00
Daniel Marjamäki 2f1c80560a 1.75: Set versions 2016-08-06 11:47:27 +02:00
Daniel Marjamäki 3f3fc3d232 1 2016-08-05 19:46:24 +02:00
PKEuS 63aa2fbed0 --append is deprecated now and will be removed in cppcheck 1.80. 2016-07-29 10:50:37 +02:00
PKEuS eafed235a6 Attempt to fix build on Unix systems, ran AStyle. 2016-07-26 16:50:32 +02:00
PKEuS 9a6569fde1 Always set ErrorMessage::file0 to ensure that the source file that cppcheck is checking when an error occurs can be identified
Removed unused function and unused includes from preprocessor.h/cpp
2016-07-26 16:28:40 +02:00
PKEuS 12e3cf584c Visual Studio solution:
- Fixed include paths
- Export simplecpp to cppcheck-core.dll
- Added /Zc:rvalueCast
2016-07-21 20:38:58 +02:00
Daniel Marjamäki 8b69d61d34 update AdditionalIncludeDirectories in vcxproj files 2016-07-20 22:01:53 +02:00
Daniel Marjamäki 03d2829fb9 Merge simplecpp branch 2016-07-20 12:21:00 +02:00
PKEuS b5d3ecb942 Updated TinyXML, make use of second argument of XMLElement::Attribute() 2016-07-09 11:56:07 +02:00
PKEuS 321d2aeafb Set version to 1.74.99/1.75 dev 2016-06-07 19:19:58 +02:00
Daniel Marjamäki e7f1318d4b 1.74: set version 2016-06-05 18:21:33 +02:00
Daniel Marjamäki 85c7456546 http://cppcheck.sourceforge.net => http://cppcheck.net 2016-06-05 18:17:47 +02:00
Alexander Mai 80f445bf6f #7425 Broken XML output due to information about missing include paths. Use stdout for warning message (in alignment with other warnings messages). Minor refactoring (move some function from anon. namespace to static,etc.) 2016-05-20 21:32:59 +02:00
Gleydson Soares 99a03b4d2a fix build on OpenBSD 2016-05-08 19:48:20 -03:00
PKEuS 7ff90e7fae Set version to 1.73.99/1.74 dev 2016-04-22 16:55:19 +02:00
Daniel Marjamäki b6d3aefba6 1.73: Set versions 2016-04-08 20:46:59 +02:00
Lau bakman 53f07c1423 Determine if path is directory for XFS filesystem
The dir_result->d_type == DT_DIR does not work on XFS file systems.

This is fixed by using the FileLister::isDirectory when dir_result->d_type == DT_UNKNOWN.

According to readdir_r documentation, the case where d_type == DT_UNKNOWN should be handled.
2016-01-20 12:55:48 +01:00
PKEuS f47e05b6a7 Set version to 1.72.99/1.73 dev 2016-01-10 10:10:33 +01:00
Daniel Marjamäki 890ceea3bf 1.72: Set version 2016-01-09 14:41:54 +01:00
Daniel Marjamäki e038dd9663 Fixed #7271 (Suppress warning about non-existing path given to -I with --quiet.) 2016-01-09 11:19:51 +01:00
Daniel Marjamäki ec733e7e71 CLI: added --platform=<file> interface 2016-01-07 20:19:08 +01:00
Daniel Marjamäki 79e663dd6f Settings: Remove '_' prefix for public member variables 2016-01-03 16:18:17 +01:00
Daniel Marjamäki 599327bfb1 cmdlineparser: Added -E option 2016-01-02 11:48:36 +01:00
Lauri Nurmi 996c9244d8 Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
Daniel Marjamäki 3082612e6d astyle formatting 2015-12-14 10:41:04 +01:00
Daniel Marjamäki 2ad159a45a FileLister: minor update, append char instead of string 2015-12-13 15:16:00 +01:00
Pavel Bibergal e4dc97c81c faster recursive file collection on huge codebases (posix systems), was 47sec to collect all files, now its only 3 2015-12-13 15:21:01 +02:00
Daniel Marjamäki 1f16e72b19 Removed --debug-fp. The reduce tool should be used instead. 2015-12-10 10:44:36 +01:00
Alexander Mai 5cf923d091 Don't run SymbolDatabase::validate on --debug. Replace some NULL by nullptr 2015-12-05 21:07:03 +01:00
Alexander Mai f762affea0 Small refactoring: replace NULL by nullptr, remove redundant static keyword, Tokenizer::setVarId() uses const variable 'notstart' 2015-11-30 22:13:49 +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 8bb8290a6f Fixed GCC warnings. unused variable, shadow variable. 2015-11-28 18:15:47 +01:00
PKEuS ac17541ca9 Refactorizations:
- Fixed a few more MSVC warnings by using correct types
- Store severity as enum instead of string in Settings::Rule
2015-11-28 12:30:21 +01:00
PKEuS 93c02ce826 Fixed compiler error introduced in previous commit and several MSVC warnings 2015-11-28 10:49:08 +01:00
Frank Zingsheim 70c20515a9 Cmake object linkage. Fix #7128: (cppcheck 1.70 doesn't report any warnings) 2015-11-26 20:25:09 +01:00
Alexander Mai fe7d5cd242 Fix small glitch in previous commit - causing a compile error on Windows 2015-11-25 22:45:06 +01:00
Alexander Mai 03ecb980a5 Small refactoring of stacktrace printing code 2015-11-25 22:37:38 +01:00
Alexander Mai 9757f5b5f4 Improve exception handling on un*x: try to print a callstack in out-of-memory situations as well 2015-11-21 16:50:57 +01:00
PKEuS 6235515889 Refactorized cmdlineparser.cpp:
- Added const char* overload for PrintMessage()
- Call Path::removeQuotationMarks() before any other path formatting functions
- Fixed --help output on terminal outputs with 80 columns
- Hide -l option on systems where it does not do anything
- Added pre-check for "-" at the beginning to distinguish between options and files early
2015-11-20 12:01:04 +01:00
Daniel Marjamäki 0f9d90d2be Changed Copyrights. Removed my name. 2015-11-18 20:04:50 +01:00
PKEuS 4e5b9dc692 Refactorization: Removed lengthy comment and actually check std::ifstream::operator bool(). 2015-11-15 11:21:48 +01:00
amai2012 b788d96bb9 Repair build with VS2010 2015-11-15 10:45:01 +01:00
PKEuS 958f2ac091 Removed special error messages when removed options --exitcode-suppressions or --suppressions are used 2015-11-15 10:03:20 +01:00
PKEuS 80c89e7a38 Set Version to 1.71.99/1.72 dev 2015-11-15 09:57:57 +01:00
Alexander Mai bda9c8c2d5 --exception-handling now prints callstack on SIGINT, allows to debug program hangs. Also add handler for some more signals. 2015-11-14 19:59:22 +01:00
Daniel Marjamäki 5df2f9c6cf 1.71: Set version 2015-11-14 18:57:42 +01:00
Daniel Marjamäki 6545172d8c Revert "Add a dynamic rule enable/disable system"
This reverts commit 231b486e49.

There was regressions reported in tools/generate_and_run_more_tests.sh.
2015-10-09 21:56:19 +02:00
Albert Aribaud 231b486e49 Add a dynamic rule enable/disable system 2015-10-09 19:57:05 +02:00
Alexander Mai ba2671e19a Fix possible segmentation fault in un*x signal handler. Use SIGUSR1 for debugging purposes 2015-09-29 12:56:13 +02:00
Dmitry-Me 41c38eb1fc Remove useless check 2015-09-09 18:45:22 +03:00
PKEuS eec6914e44 Removed deprecated options --exitcode-suppressions and --suppressions, print an error when they are used 2015-09-05 12:13:58 +02:00
Philipp Kloke 687bde8af5 Set version to 1.70.99/1.71 dev 2015-09-04 21:10:05 +02:00
Daniel Marjamäki dafba604ff 1.70: Set versions 2015-09-04 19:36:34 +02:00
PKEuS 1aa958d60c Updated VS solution with VS2015 as default. Added flags /Zc:inline and /Zc:throwingNew. 2015-09-04 14:30:54 +02:00
Daniel Marjamäki 93f2a56e0c doxygen: minor updates to mainpage 2015-08-16 21:57:07 +02: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
PKEuS 9f9e0b9478 Convert path from native seperators before using it in PathMatcher (#6926) 2015-08-11 12:49:18 +02:00
Dmitry-Me 544932734f VS: Disable 4482 warning 2015-07-28 18:33:45 +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 cfde690bb2 Fixed two comments and GUI build 2015-07-25 19:17:40 +02:00
PKEuS 92b867dd2c Fixed behaviour of --quiet/-q and its description 2015-07-25 17:55:12 +02:00
PKEuS 8ed0180279 Use C++11 string.back() instead of string[string.length()-1] 2015-07-25 17:19:53 +02:00
PKEuS 40a6941577 Warn about usage of --suppressions or --exitcode-suppressions (they are deprecated)
Removed two redundant strncmp calls
2015-07-25 17:17:52 +02:00
Dmitry-Me 05a318f9e7 Resolve CID 1312126 and maybe also CID 1288510 2015-07-23 16:35:47 +03:00
PKEuS ce9272a4ed Refactorized file listing code (CLI):
- Apply PathMatch in FileLister::recursiveAddFiles() already to avoid touching directories that are ignored (#5775)
- Simplified code to warn about header exclusion; use Path::isHeader() instead of custom header filename detection
2015-07-23 14:28:17 +02:00
Alexander Mai 8b97f04de4 Try to address some Coverity issues. Add TODO testcase for #5783. Introduce TODO_ASSERT macro. 2015-07-19 15:03:35 +02:00
Martin Ettl 7ff4d10c43 Astyle formatting, no functional changes. 2015-06-28 19:25:13 +02:00
amai2012 5814c3b84c Fix some compiler warnings with VS
Minor refactoring on Windows SEH code.
2015-06-28 19:20:16 +02:00
PKEuS 70a1e11ada Set version to 1.69.99/1.70 dev 2015-05-03 08:15:13 +02:00
Daniel Marjamäki a79791cb81 1.69: Set versions 2015-05-01 18:51:33 +02:00
Alexander Mai 9f7c71d840 Small documentation fixes 2015-04-08 21:08:18 +02:00
Alexander Mai bacc5ac1cc Fix false positives ignoredReturnValue about some posix interfaces. Remove redundant strsignal() output from signal handler 2015-04-06 18:16:37 +02:00
Alexander Mai 4048c50a69 Minor improvements on signal handler 2015-04-01 21:17:13 +02:00
Dmitry-Me 618c038448 Resolve CID 1288510 2015-03-24 17:59:24 +03:00
PKEuS 0d127f15a5 Fixed grammar mistake; fixed two VS2013 code analysis messages; removed redundant Token::Match call 2015-03-15 10:06:56 +01:00
PKEuS 3d83b9e4a6 Added flag --platform=native to avoid performing platform specific code 2015-03-15 10:02:39 +01:00
Daniel Marjamäki 92de2a3ca3 More verbose help text about --library=<cfg> 2015-03-08 15:25:00 +01:00
Alexander Mai 39633ef26f Add more interfaces to posix.cfg 2015-03-08 14:24:54 +01:00
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