orbitcowboy
f27baf0956
cli: stop processing in case an invalid or non-existant rule-file is provided.
2018-07-25 08:25:18 +02:00
bwoester
9b28499412
Import BCB6 projects ( #1245 )
...
* added support for reading borland c++ builder 6 projects
* add: fetch sysdefines from project
add: start providing bcb6 predefines (WIP)
* configure all the internal defines for BCB6
* make sure define strings don't start with ';'
* improvements on bwoesters BCB6 project support
- improved `*.bpr` XML handling by reducing the number of loops
- added `const` where aplicable
- optimized compiler argument parser performance
- reformatted code with provided astyle config
* - undo looping (keep it the same as the other implementations)
- keep parsing of cflags simple and separate from the synonym cleanup (no need for micro optimization in this place)
- move input validation to FileSettings::setDefines
- re-run astyle
* use [] instead of at() when comparing characters
2018-05-20 18:19:20 +02:00
Daniel Marjamäki
cdf7ea0a33
daca2: remove {code} in results
2018-04-24 16:16:45 +02:00
Daniel Marjamäki
cf4367d013
daca2: remove 'inconclusive' keyword
2018-04-24 11:06:25 +02:00
Daniel Marjamäki
7c5058a42d
Refactoring. Rename methods
2018-04-23 12:39:47 +02:00
Daniel Marjamäki
f058d9ad08
CLI: Added more fields for --template and added a new --template-location. The gcc predefined template now matches latest gcc better.
2018-04-23 12:21:18 +02:00
PKEuS
b596b0d549
Refactorization: pass std::string directly to std::*fstream
2018-04-11 09:50:42 +02:00
Daniel Marjamäki
a0906140a6
Suppressions: New extensible Suppressions xml format that allow more attributes. To start with it also allows symbolName.
2018-04-09 06:43:48 +02:00
jrp2014
b813a6d407
Refactoring
2018-04-04 21:11:23 +02:00
jrp2014
07b5afcdc6
Improve constness
2018-04-04 21:02:13 +02:00
Daniel Marjamäki
7e4dba6a7e
Updated copyright year
2018-03-31 20:59:09 +02:00
Daniel Marjamäki
e9fefcac46
gcc 4.5 compatibility
2018-03-30 21:04:32 +02:00
Daniel Marjamäki
46307df9b6
Renamed method
2018-03-11 15:06:08 +01:00
Daniel Marjamäki
780bd7e63e
More flexible loading of platform files, when using --platform it should not be necessary to provide the full path
2018-02-09 16:22:22 +01:00
Daniel Marjamäki
c4caee6b18
Updated copyright year
2018-01-14 15:37:52 +01:00
amai2012
2f2172e1a7
#8178 Remove all references to XML version 1
2017-11-22 10:49:59 +01:00
Daniel Marjamäki
9f306cf3aa
Added C++14 option
2017-09-22 22:00:00 +02:00
Dmitry-Me
b6c218b7af
Resolve CID 1365360
...
Do not ignore failures to load windows.cfg
2017-08-22 18:09:02 +03:00
Ayaz Salikhov
3e7f4c214d
minor code cleanup
2017-08-13 13:27:32 +02:00
orbitcowboy
61e47208eb
Removed hard coded avr8 platform and moved it into a platform file (avr8.xml).
2017-08-09 11:58:27 +02:00
Daniel Marjamäki
91eb0f1fad
Removed XML version 1
2017-07-29 18:56:22 +02:00
Daniel Marjamäki
1f48b082d1
CLI: Add --output-file flag so results can be written to file directly.
2017-05-30 15:04:28 +02:00
Ayaz Salikhov
28aa939d69
iwyu - include what you use
2017-05-27 04:33:47 +02:00
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
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
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
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
9ff3e85899
Added --cppcheck-build-dir flag
2016-10-29 12:18:11 +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
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
09d6f4f0a4
1
2016-08-06 21:04:50 +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
b5d3ecb942
Updated TinyXML, make use of second argument of XMLElement::Attribute()
2016-07-09 11:56:07 +02:00
Daniel Marjamäki
85c7456546
http://cppcheck.sourceforge.net => http://cppcheck.net
2016-06-05 18:17:47 +02: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
1f16e72b19
Removed --debug-fp. The reduce tool should be used instead.
2015-12-10 10:44:36 +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
Alexander Mai
03ecb980a5
Small refactoring of stacktrace printing code
2015-11-25 22:37:38 +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
PKEuS
958f2ac091
Removed special error messages when removed options --exitcode-suppressions or --suppressions are used
2015-11-15 10:03:20 +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
PKEuS
eec6914e44
Removed deprecated options --exitcode-suppressions and --suppressions, print an error when they are used
2015-09-05 12:13:58 +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
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
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
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
Daniel Marjamäki
ff11ba9847
Updated copyright year to 2015
2015-01-03 12:14:58 +01:00
PKEuS
4d81945ac5
Fixed a couple of #6276 integer over/underflow issues
2014-12-09 23:28:22 +01:00
Robert Reif
e2f72b4cb1
Fixed #6215 (Move Windows platform types into library)
2014-10-19 07:34:40 +02: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
Matthias Krüger
c70425c06e
showtime: print possible options when invalid mode is given.
2014-09-17 12:49:59 +02:00
Daniel Marjamäki
8db5836e3f
Fixed #5982 (Add xml dump)
2014-07-14 15:51:45 +02:00
PKEuS
f7f639465a
Fixed remaining VS warnings (hopefully all of them, this time)
2014-06-05 10:45:25 +02:00
Daniel Marjamäki
ed78d3e148
Library: Better error reporting when loading fails
2014-05-26 17:00:41 +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
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
PKEuS
e9411e05ba
Refactorized inefficient usage of std::string and const char[].
2014-04-02 13:56:34 +02:00
Troshin V.S
840fba7672
CLI: Add -l command line option
2014-03-25 18:35:59 +01:00
Alexander Mai
825bb0f027
Fixed #5286 (Add signal/exception handling to cppcheck and cppcheck-gui)
2014-03-16 12:04:13 +01:00
Julian Santander
fae8ef48b8
Fixed #5529 (Further control in selecting what configurations to consider)
2014-03-10 15:49:02 +01:00
Daniel Marjamäki
fd3a8a2a18
Update copyright
2014-02-15 07:45:39 +01:00
Daniel Marjamäki
30cae358d8
Removed the --value-flow flag. ValueFlow analysis will always be enabled from now on.
2014-01-17 18:07:05 +01:00
Daniel Marjamäki
d8270c710a
Add new experimental value flow analysis
2014-01-04 20:57:02 +01:00
Alexander Mai
b411efa33f
Fixed #5302 (Invalid parameter for --showtime should cause an error)
2014-01-03 10:00:47 +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
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
43b40b7465
Refactoring: Reordered includes. Put local ones before system includes.
2013-09-04 06:18:22 +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 Marjamäki
75f6013d13
Fixed #4755 (buggy --xml reports in 1.59)
2013-05-20 16:19:31 +02: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
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
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
PKEuS
16a58d1c11
Use reference instead of copying string in cmdlineparser.cpp
2012-11-03 20:42:32 +01: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
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
Daniel Marjamäki
7122aeff58
Fixed #3617 (CLI: '-DMACRO' should be considered as '-DMACRO=1')
2012-07-05 19:35:41 +02:00
PKEuS
367c02f066
Fixed #3883 : 80-char overflow in help text.
2012-06-11 02:05:18 -07: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
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
25167b58a9
Implemented #2990 : Print relative paths if -rp or --relative-paths is given
2012-04-06 10:49:21 +02: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
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