Commit Graph

17983 Commits

Author SHA1 Message Date
IOBYTE 36f7585798 Fixed (false-positive/regression: confusion between copy constructors of internal classes and lack of explicit keyword) () 2018-05-27 10:53:34 +02:00
orbitcowboy 5b6e6db376 test std.cfg: Added more test cases for strcat() functions. 2018-05-27 10:16:02 +02:00
versat 10292c1202 microsoft_sal.cfg: Add the missing Advanced Annotations
Reference: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383701(v=vs.85).aspx (Advanced Annotations are near the bottom)
2018-05-25 14:26:32 +02:00
orbitcowboy 3407f3e932 windows.cfg: Added test cases for CreateThread(). 2018-05-25 11:50:12 +02:00
versat 6a5bf33b0d microsoft_sal.cfg: Add RPC SAL Annotations from rpcsal.h 2018-05-25 10:28:58 +02:00
orbitcowboy d7c8c46c10 test std.cfg: Improved testing for strcat() and wcscat(). 2018-05-25 08:36:47 +02:00
orbitcowboy ca449a7f27 Running astlye 2018-05-25 08:36:02 +02:00
orbitcowboy 1914d5e630 Running astlye 2018-05-25 08:35:37 +02:00
rebnridgway 42a65c5160 Fix crash bug ()
* Added declaration for deletePrevious function

* Added definition for deletePrevious function

* Fixed crash from deleteThis invalidating pointers

The crash was caused by deleteThis() invalidating the pointer to a constant variable usage.  This happened when a usage followed an assignment.  This fixes bug .

* Added tokensFront to match tokensBack

This means deletePrevious can set the list's front if necessary.

* Initialised tokensFront in appropriate places

* Switched to using default Token constructor

* Switched to using Token default constructor

* Switched to using default constructor for Token

* Added missing argument to Token constructor

* Changed to use default constructor for Tokens

* Switched to using default constructor for Tokens

* Switched to using default constructor for Token

* Added new test for deleting front Token

Also made sure to use the correct constructor for Token in other tests.

* Syntax error

* Replaced tokensFront and tokensBack with a struct

This decreases the size of the Token class for performance purposes.

* Replaced tokensFront and tokensBack with a struct

* Added tokensFrontBack to destructor

* Reworked to use TokensBackFront struct

Also ran astyle.

* Reworked to use TokenList's TokensFrontBack member

* Reworked to use TokensFrontBack struct

* Reworked to use TokensFrontBack struct

* Reworked to work with TokensFrontBack struct

* Removed unnecessary scope operator

* Added missing parentheses

* Fixed syntax error

* Removed unnecessary constructor

* Default constructor now 0-initialises everything

This is safer for not using a temporary TokensFrontBack object, and doesn't use delegating constructors which aren't supported yet.

* Fixed unsafe null check

* Added missing explicit keyword

* Fixing stylistic nits

Removed default constructor as it has been superseded by the single-argument constructor with a default argument value.
Renamed listEnds to tokensFrontBack.
Fixed if statement that was supposed to be adding safety but would actually cause a crash if tokensFrontBack was null.

* Fixing stylistic nits

Removed default constructor and replaced it with a single-argument constructor with a default value.

* Fixing stylistic nits

Renamed _listEnds to _tokensFrontBack.

* Fixing stylistic nits

Renamed _listEnds to _tokensFrontBack.
2018-05-25 07:15:05 +02:00
bwoester 1af983dd95 Gui select bcb6 projects ()
* Allow selecting bcb6 projects in "Analyze" -> "Files..."
This change also splits the filters for files which can be analyzed into multiple entries and includes a helper class to construct filter strings.

* move FilterStringBuilder to its own class and document it

* add new files to .pro

* add missing include for Q_DECLARE_TR_FUNCTIONS macro

* re-run astyle

* allow to import bcb6 project when creating a new cppcheck project
exchange class FilterStringBuilder with a toFilterString() helper method

* add missing include
2018-05-25 07:09:49 +02:00
Swasti Shrivastava 742d6513a1 Modified rule 10.6 ()
* Modified rule 10.6

* Improved rule 10.6
2018-05-24 22:28:36 +02:00
orbitcowboy 9bf604c46c timer.h: Improved const correctness of local variable. 2018-05-24 17:07:40 +02:00
orbitcowboy d013cb2f0d library.h: Improved const correctness of some function arguments. 2018-05-24 17:06:20 +02:00
amai2012 4cb57ebc30 Supply DTD/XSD/RNG for cppcheck XML output. Bugfix/enhancements to xmlV2.rng 2018-05-24 16:52:45 +02:00
amai2012 ceff09d491 Supply DTD/(XSD/RNG for cppcheck XML output. Add target to Makefile to create and validate XML from regular run. Update xmlV2.rng accordingly. 2018-05-24 16:12:43 +02:00
orbitcowboy c07abdd382 windows.cfg: Added more constants from Rpcdce.h. 2018-05-24 16:00:06 +02:00
orbitcowboy 18b452111f windows.cfg: Added constants from Rpcdce.h. 2018-05-24 15:54:01 +02:00
orbitcowboy df8a5966bb windows.cfg: Added constant definitions from AccCtrl.h 2018-05-24 15:49:28 +02:00
orbitcowboy 792d5a7cf4 windows.cfg: Added missing COM macros, defined at https://msdn.microsoft.com/en-us/library/windows/desktop/dd542715(v=vs.85).aspx. 2018-05-24 15:27:40 +02:00
Sebastian 8b94bfaf0a
windows.cfg: Add macros SUCCEEDED() and FAILED(). ()
Somehow the opposite inner condition is not detected when macros are used. I created this ticket: https://trac.cppcheck.net/ticket/8596
2018-05-24 14:52:32 +02:00
orbitcowboy 3311307227 windows.cfg: Added test cases for toupper/tolower functions. 2018-05-24 10:05:56 +02:00
Kyle Chisholm 6ce3571bdd Add --suppress-rules argument for misra.py ()
* Added ignore list

- Added ignore list
- Use argparse to parse arguments
- Source formatting

* misra.py changed argument name

- Changed ` --ignore-rules` to ` --suppress-rules`

* Resolved VERIFY option in misra.py

Resolved broken broken logic in commit to add argparse.

* edit suppression list

Modified names
Hide some arguments

* command line help formatting

* Revert removal of --no-summary argument

* missing text rules no longer reported

* VERIFY scope modified to global
2018-05-24 06:31:20 +02:00
Daniel Marjamäki 9f47d04af6 misra.py: add rule 10.1, partial checking 2018-05-23 16:26:00 +02:00
Swasti Shrivastava ea5417b8af Modified rule 11.9 () 2018-05-23 15:48:07 +02:00
Swasti Shrivastava 8daa8520ba Modified rule 11.6 () 2018-05-23 12:50:35 +02:00
Swasti Shrivastava 684c18f657 Modified rule 11.3 and 11.7 ()
* Modified rule 11.3 and 11.7

* Changed if to elif
2018-05-23 10:14:17 +02:00
Daniel Marjamäki 2ffbb37cee modernize cppcheck.cpp, use range for loops 2018-05-22 23:22:46 +02:00
IOBYTE fc1d62fd45 Fixed (Tokenizer::simplifyTypedef: array typedef used as template parameter) () 2018-05-22 17:31:58 +02:00
Swasti Shrivastava c73dc63537 Modified rule 11.5 () 2018-05-22 14:32:00 +02:00
Daniel Marjamäki 5505cbac26 misra.py: fixed fix for fp so that struct initializers are handled also 2018-05-22 13:27:27 +02:00
Daniel Marjamäki dbe2a42e89 misra.py: Fixed 13.1 fp for struct initialization 2018-05-22 13:11:39 +02:00
umanamente a3b02d6ece Fixed : false positive memleak (`shared_ptr` in function argument) ()
* Fixed .
checkleakautovar.cpp:
* added `isFunctionCall` (supports template functions)
* smart pointer check in `functionCall`
* updated test case

* Renamed "bracket" to "parenthesis"

* () Fixed broken test

* () Code review comments

* () Renamed `tokOpeningBr` to `tokOpeningPar`
2018-05-22 09:08:23 +02:00
Swasti Shrivastava c511b3de20 Modified rule 11.4 ()
* Modified rule 11.4

* Made changes in isEnum()

* Made suggested changes in isEnum()
2018-05-22 09:07:48 +02:00
IOBYTE 8320be203d Fixed (Incorrect diagnostics when using delegating consturctor with default values) () 2018-05-22 06:42:37 +02:00
Richard A. Smith 01cbadc6ed Add --quiet flag to misra.py for cleaner output ()
Output will still be given for style violations.

This allows the build process output to be smaller and cleaner,
making it easier to spot and address problems.
2018-05-21 21:46:58 +02:00
IOBYTE 5c15cd3981 Fix DACA2 SymbolDatabase bailout; unhandled code for final class ()
* Fix DACA2 SymbolDatabase bailout; unhandled code for final class

* Replace Match with simpleMatch
2018-05-21 21:23:21 +02:00
Swasti Shrivastava f78314b613 Updated rule 10 4 ()
* Updated rule 10.4

* Updated rule 10.4

* updated rule 10.4 along with test suite
2018-05-21 12:04:20 +02:00
Daniel Marjamäki 0a0ffcdac6 daca2: skip --exception-handling to avoid hangs () 2018-05-21 08:54:21 +02:00
Paul Fultz II 406aa6cf1c Improve support of using a lambda as a deleter ()
* Improve support of using a lambda as a deleter

* Use simple match
2018-05-21 08:22:18 +02:00
IOBYTE 42ed5a6b98 Fixed (Delegating contructor warns for unintialized variables) ()
* Fixed  (Delegating contructor warns for unintialized variables)

* Replace Token::Match with isStandardType
2018-05-20 22:58:05 +02:00
bwoester 9b28499412 Import BCB6 projects ()
* 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
amai2012 978bc7c150 Activate validation of --errorlist output () 2018-05-20 14:54:38 +02:00
Richard A. Smith e4f10bce6d Show summary of violations ()
- Show a summary of the of the number of violations.  This can be
  disabled with the --no-summary option.

- Return an error code if -verify flag not used and violation exists.
2018-05-20 14:48:01 +02:00
Swasti Shrivastava 00970274b2 Added rule 21.6 and 21.10 () 2018-05-20 14:44:12 +02:00
Richard A. Smith 672d0433a4 Allow per project misra.py addon ()
Use python's __file__ variable to figure out where the checker script is
located.

This allows a customized per project scripts to be used instead of the
one provided in the cppcheck release.
2018-05-20 14:42:25 +02:00
Richard A. Smith a26d73f78f Fix false positive in misra.py rule 20.14 ()
MISRA rule 20.14 is not limited to #if pragmas and also extends to
positives whenever #ifdef/#ifndef is used.
2018-05-20 08:31:59 +02:00
Sebastian aa3722feea
windows.cfg: Add lstrlen() configuration and tests. ()
Reference: https://msdn.microsoft.com/en-us/library/windows/desktop/ms647492(v=vs.85).aspx
2018-05-17 15:43:01 +02:00
amai2012 e2ea82908a : temporarily disable make validateXMLV2 on travis 2018-05-17 13:48:06 +02:00
amai2012 64f0d31280 Supply DTD/XSD/RNG for cppcheck XML output - supply rng for current XML output. Add an automatic check on travis against the --errorlist output 2018-05-17 12:46:15 +02:00
Daniel Marjamäki 2b14b71c93 Updated output when Cppcheck fails to find valid configurations 2018-05-17 10:27:05 +02:00