17894 Commits

Author SHA1 Message Date
IOBYTE
42ed5a6b98 Fixed #8581 (Delegating contructor warns for unintialized variables) (#1250)
* Fixed #8581 (Delegating contructor warns for unintialized variables)

* Replace Token::Match with isStandardType
2018-05-20 22:58:05 +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
amai2012
978bc7c150 Activate validation of --errorlist output (#1248) 2018-05-20 14:54:38 +02:00
Richard A. Smith
e4f10bce6d Show summary of violations (#1244)
- 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 (#1243) 2018-05-20 14:44:12 +02:00
Richard A. Smith
672d0433a4 Allow per project misra.py addon (#1241)
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 (#1240)
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. (#1239)
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 #5718: temporarily disable make validateXMLV2 on travis 2018-05-17 13:48:06 +02:00
amai2012
64f0d31280 #5718 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
amai2012
7062df5d78 #8585 --check-config aborts due to unhandled simplecpp::Output exception 2018-05-17 08:59:10 +02:00
Matthias Krüger
2320034f4a fix -Winconsistent-missing-override warnings reported by clang 6.0. 2018-05-17 08:47:19 +02:00
Alexander Mai
fe1b1d537e Fix compiler warning by useless semicolon 2018-05-16 21:33:26 +02:00
orbitcowboy
3ad8fa5288 windows.cfg: Improved support for more types. 2018-05-16 16:26:40 +02:00
IOBYTE
d567b878ba Fix template instantialion failure for qualified template type. (#1237) 2018-05-16 15:24:23 +02:00
Sebastian
748f50cf85
windows.cfg: Add 32/64 bit time related functions and types. (#1236)
Fix declaration comments for _localtime32_s() and _localtime64_s().
Add functions _time32 and _time64, and types __time32_t and __time64_t.
References: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/localtime-s-localtime32-s-localtime64-s
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/time-time32-time64
2018-05-16 12:42:50 +02:00
Swasti Shrivastava
248e2ef2f8 Modified rule 7.3 (#1232) 2018-05-16 12:04:02 +02:00
Daniel Marjamäki
e0a6ab1a0f activate misra regression tests 2018-05-16 11:13:25 +02:00
Swasti Shrivastava
92fd7d9343 Modified rule 5.1 along with test suite (#1231)
* Modified rule 5.1 along with test suite

* Modified variable name in misra-test.c

* Modified rule 5.1 along with test suite

* Changed variable name
2018-05-16 11:07:44 +02:00
Sebastian
fdc98e5665
std.cfg: Add rsize_t and errno_t configurations. (#1229) 2018-05-16 10:12:37 +02:00
orbitcowboy
4e38627a3d windows.cfg: Improved support for Windows types (ref. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx ). 2018-05-16 09:16:12 +02:00
Daniel Marjamäki
21ab5c7591 Removed the generated cfg tests, these are not used. 2018-05-16 07:09:08 +02:00
orbitcowboy
98e64e76f7 windows.cfg: Improved support for Windows types (ref. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx ). 2018-05-16 00:23:58 +02:00
orbitcowboy
3e3a8af267 windows.cfg: Improved support for Windows types (ref. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx ). 2018-05-16 00:09:45 +02:00
IOBYTE
ce50df8047 Fix override warnings. (#1234) 2018-05-15 16:37:40 +02:00
Daniel Marjamäki
6bd4bdb0f9 Updated 'noValidConfiguration' message. It should not write this message when there is no code. It should be possible to see the preprocessor errors otherwise it is hard to fix the configuration. 2018-05-15 15:42:54 +02:00
Swasti Shrivastava
bb7ffd123d Modified rule 8.12 (#1233) 2018-05-15 13:18:55 +02:00
Daniel Marjamäki
f7746e4fb6 Revert "Missing override specifier warning on a pure virtual function makes no sense. (#1230)"
This reverts commit 348eb1c5c9288a0a59769536f1e4b89ee4efc642.
2018-05-15 10:48:34 +02:00
orbitcowboy
d0089fe305 windows.cfg: Added missing PFLOAT definition. 2018-05-15 09:43:28 +02:00
IOBYTE
348eb1c5c9 Missing override specifier warning on a pure virtual function makes no sense. (#1230)
This fixes a large number of false positives for cppcheck source code.
2018-05-14 23:08:40 +02:00
Daniel Marjamäki
d8622ea5f8 simplifyCalculations: Removed redundant goback variable 2018-05-14 23:06:10 +02:00
Daniel Marjamäki
29dc42ff67 Removed unreachable code 2018-05-14 22:50:30 +02:00
Daniel Marjamäki
66599b4ade astyle formatting
[ci skip]
2018-05-14 22:48:37 +02:00
PKEuS
e8bc955023 Optimized Tokenizer::simplifyFunctionReturn(): Replaced nested loops by two consecutive loops; execute second one only if necessary. 2018-05-14 20:51:09 +02:00
PKEuS
20b2574da8 Fixed false positive unusedPrivateFunction caused by recent commit 2018-05-14 16:20:46 +02:00
PKEuS
0090ae5cf2 Optimization in CheckUninitVar::checkStruct(): Replaced expensive inner loop on all scopes by loop on child scopes for faster lookup for inner unions.
This speeds up checking of very large code files; for example, it reduces checking time for SQLite amalgamation by more than 20%
2018-05-14 15:48:57 +02:00
PKEuS
c4b6beac4d Fixed calculation precedence warning introduced in recent commit 2018-05-14 15:24:32 +02:00
Matthias Krüger
4c8bb9ac6f fix a few typos 2018-05-14 13:11:59 +02:00
Swasti Shrivastava
4b873ed573 Rule 5.3 modified along with test suite (#1227)
* Added rule 5.2

* updated 5.2

request-checks: true

* Added rule 5.3

* Changed rule 5.4, 5.5

* Updated test suite for Rule 5.2

* Changes in Rule 5.4 and 5.5

* Change in function name in test suite and removed type from class token in cppcheck

* Changed the name of function in misra-test.c

* Modified rule 5.3

* Modified misra-test.c for rule 5.3
2018-05-14 13:09:38 +02:00
umanamente
d2d1bf900b (#8262) Added TODO test for "False positive: memory leak with shared_ptr stored in container" (#1228) 2018-05-14 13:08:33 +02:00
PKEuS
3d860e6f36 Bump simplecpp 2018-05-14 13:00:22 +02:00
PKEuS
090a178ed6 Refactorization in SymbolDatabase: Do not redundantly store name in FriendInfo, and store FriendInfo in vector instead of list 2018-05-14 12:18:59 +02:00
PKEuS
4d549553b0 Small optimization in checkmemoryleak.cpp: Allow passing literals to addtoken()
Ran AStyle
2018-05-14 10:15:50 +02:00
Paul Fultz II
7ef714b0c6 Fix FP with duplicate assignments by checking if the expression is unique (#1223)
* Fix FP with duplicate assignments by checking if the expression is unique

* Use array of pointers

* Reorder scope condition
2018-05-13 20:20:55 +02:00
IOBYTE
5c06d08bfb Fix many DACA2 SymbolDatabase bailout; unhandled code false positives (#1225) 2018-05-13 19:00:42 +02:00
Matthias Krüger
9949768d7c travis: install wx-common which is used in test/cfg/runtests.sh 2018-05-13 12:32:19 +02:00
Matthias Krüger
547934b5a5 travis: use $CPPCHECK global containing absolute path to cppcheck executable 2018-05-13 12:32:14 +02:00
PKEuS
513cdc144c Optimization: Save up to 2 of 3 token list iterations in Tokenizer::simplifyKeyword() 2018-05-13 10:12:50 +02:00
IOBYTE
9ee6068e20 Remove duplicate namespace aliases so they don't produce syntax errors. (#1222)
* Remove duplicate namespace aliases so they don't produce syntax errors.

DACA2 results showed new SymbolDatabase syntax errors when duplicate
namespace aliases were simplified improperly. The solution is to remove
them in the tokenizer when found.

* Add tests for deleting namespace aliases at end of token list.

* Use eraseTokens to delete multiple tokens at once.
2018-05-13 08:29:40 +02:00