Commit Graph

21791 Commits

Author SHA1 Message Date
Georgy Komarov d977761e76 addons: Reduce memory consumption (#2395)
* addons: Reduce memory consumption

Parse dump files incrementaly using ElementTree.iterparse. Clean unused
resources during parsing.  This method is explained in following
article: https://www.ibm.com/developerworks/xml/library/x-hiperfparse/

Memory consumption was reduced about 30% (measured with mprof),
execution time increased about 5% (measured with time utility).
More description available in PR.

* Switch to lxml and update iterparse routines

Use lxml module instead default xml.etree. Lxml provides convenient
wrappers around iterparse method that accepts `tag` argument. That
easer incremental parsing routines to select specific tags from roottree
like `dump` and `dumps`.

Element.clear() method was replaced by `lxml_clean` because lxml
keeps additional information to nodes that should be removed.

Added note about large consumption RAM on large dump files.
This commit doesn't solve this problem completely, but provides a way
to improve current parser to add incremental Configuration serialization
later.

* Working on iterative parser

* Added iterative Configurations parser

* fix

* Fix varlist iteration

* make sure that standards node was loaded
2019-12-27 08:50:56 +01:00
Daniel Marjamäki ec4668353d Verification; Determine argument number properly 2019-12-26 18:32:59 +01:00
Daniel Marjamäki 31bddb6ae0 astyle formatting
[ci skip]
2019-12-26 15:48:29 +01:00
Paul Fultz II ce1fc56e96 Fix issue 6890: ValueFlow: min/max value for variable, after condition (#2460)
* Set bounds when combining values

* Adust bounds when they are negated

* Try to infer conditional values

* Switch false and true

* Fix checking of conditions

* Fix compare

* Fix remaining tests

* Fix overflows
2019-12-26 15:47:53 +01:00
Daniel Marjamäki 8c652afd6e Verification: Added IntRange::isLessThan and IntRange::isGreaterThan 2019-12-26 15:39:08 +01:00
Dmitry-Me 678560bf0d
Use "override" keyword in clang (#2459) 2019-12-25 18:19:00 +03:00
Paul Fultz II 42d44f02a2 Use lifetime analysis for checking mismatching containers (#2456)
* Use lifetimes to check for mismatching containers

* Fix error messages

* Format

* Remove unused variables

* Fix configuration and track iterators through algorithms

* Fix iterator value types in qt config

* Fix library issue with QStringList

* Remove unused functions

* Fix cppcheck errors
2019-12-25 09:32:50 +01:00
Daniel Marjamäki 0cd2935dc7 Verification; Verify that function call argument values meet annotations 2019-12-25 09:23:07 +01:00
Daniel Marjamäki f0ac19514b Verification: Handle Cppcheck annotations __cppcheck_low__ and __cppcheck_high__ 2019-12-24 21:14:14 +01:00
Daniel Marjamäki 755e2d261c Fixed #9402 (ExprEngine: && and || in condition) 2019-12-24 15:52:02 +01:00
orbitcowboy 81bea120fc wxwidgets.cfg: Added support for more interfaces. 2019-12-24 15:40:54 +01:00
orbitcowboy 01c12ce1d9 wxwidgets.cfg: Added support for more interfaces. 2019-12-24 15:35:53 +01:00
Daniel Marjamäki 747a01f74d Verification; Check function argument values 2019-12-23 22:10:43 +01:00
Daniel Marjamäki 270140f1fa manual; add chapter about verification 2019-12-23 16:34:50 +01:00
Daniel Marjamäki e16395e1e4 test/verify/itc.py: minor tweaks 2019-12-23 11:23:56 +01:00
Daniel Marjamäki eb551728a5 Verification; Avoid FP for known values 2019-12-22 21:24:39 +01:00
Daniel Marjamäki 93f10da981 Verification; Detect errors after bailout 2019-12-22 21:03:43 +01:00
versat 5715ba7ce0 Donate CPU client test scripts: Use Python from shebang 2019-12-22 19:33:10 +01:00
orbitcowboy 92ddaa3acd wxwidgets.cfg: Fixed typo from previous commit. 2019-12-22 12:38:12 +01:00
orbitcowboy 2ca866f781 wxwidget.cfg: Added support for more interfaces. 2019-12-22 11:11:59 +01:00
orbitcowboy a8960e35a4 wxwidgets.cfg: Added support for more interfaces. 2019-12-21 22:47:32 +01:00
Daniel Marjamäki 208950a6a3 createrelease: update daca@home 2019-12-21 20:11:00 +01:00
versat 5d007bb9bb donate_cpu_lib.py: Enable library detection as planned after 1.90 release 2019-12-21 19:26:31 +01:00
versat 7216c3079c donate-cpu-server.py: Set OLD_VERSION to 1.90 2019-12-21 19:12:41 +01:00
orbitcowboy 1e3e270a55
Added OSS-fuzz badge 2019-12-21 13:32:26 +01:00
orbitcowboy 10f0796ff7 wxwidgets.cfg: Added support for more interfaces. 2019-12-21 13:15:38 +01:00
orbitcowboy b6e2fa2bdc wxwidgets.cfg: Added support for more interfaces. 2019-12-21 13:10:41 +01:00
orbitcowboy 37f5e3c16b wxwidgets.cfg: Added support for more interfaces. 2019-12-21 13:04:48 +01:00
orbitcowboy 384c9d884a wxwidgets.cfg: Added support for more interfaces 2019-12-21 12:48:14 +01:00
Daniel Marjamäki cb9381e620 Makefile: Set debug mode 2019-12-21 12:10:10 +01:00
PKEuS 8218120fd5 Moved function from .h to .cpp 2019-12-21 11:55:11 +01:00
Daniel Marjamäki 077e652de4 1.90: Makefile 2019-12-21 11:51:10 +01:00
Daniel Marjamäki 7f110f3ec3 Set version 2019-12-21 11:49:01 +01:00
Daniel Marjamäki 31f5bc8b9b Updated AUTHORS 2019-12-21 11:45:36 +01:00
Daniel Marjamäki 6890757986 Update Copyright year 2019-12-21 11:23:01 +01:00
orbitcowboy ba26807b41 wxwidgets.cfg: Added support for more interfaces. 2019-12-21 10:19:09 +01:00
Georgy Komarov 730ea4163b misra.py: Handle essential type categories for ternary operations (#2455)
This commit will add feature to detect essential type categories
for operators of ternary operation.

This fixes issues with rule 10.1 and close the following ticket:
https://trac.cppcheck.net/ticket/9543
2019-12-21 07:40:15 +01:00
Daniel Marjamäki fe23d017f3 Fixed #8419 (False positive accessMoved on int) 2019-12-21 07:39:14 +01:00
orbitcowboy 3b3016f49e wxwidgets.cfg: Added support for more interfaces. 2019-12-20 21:16:08 +01:00
Daniel Marjamäki c2f8fb5603 Fixed #9405 (false positive: (style, inconclusive) Boolean expression 'dqOpen' is used in bitwise operation. Did you mean '&&') 2019-12-20 19:38:30 +01:00
Daniel Marjamäki 33ec78fe6e Fixed #9036 (false positive: (style) Condition 's.x<127U' is always true) 2019-12-20 19:06:35 +01:00
Daniel Marjamäki bd83630f2e Fixed #8990 (False positive: struct member not used (union)) 2019-12-20 18:31:55 +01:00
Dmitry-Me 9133f9fe75 Improve test coverage for function arguments count 2019-12-20 18:28:32 +03:00
orbitcowboy e53fdc7c76 wxwidgets.cfg: Added support for more interfaces. 2019-12-20 14:56:40 +01:00
orbitcowboy c5ad8b9b03 wxwidgets.cfg: Added support for more interfaces. 2019-12-20 14:50:23 +01:00
orbitcowboy 7486325af5 wxwidgets.cfg: Added support for more interfaces. 2019-12-20 14:44:33 +01:00
Daniel Marjamäki 252c3a17fa Fixed #7107 (False positive iterators - using alias for container) 2019-12-20 12:13:26 +01:00
orbitcowboy 4285e16fe6 wxwidgets.cfg: Added support for more interfaces. 2019-12-20 11:49:58 +01:00
orbitcowboy 0d05707f77 wxwidgets.cfg: Added support for more interfaces. 2019-12-20 11:33:52 +01:00
orbitcowboy 7dff7e9388 wxwidgets.cfg: Added support for more interfaces. 2019-12-20 11:28:18 +01:00