Commit Graph

22284 Commits

Author SHA1 Message Date
Daniel Marjamäki fcd6c62a0d Clang import; Always set Scope::classDef token 2020-01-23 10:33:29 +01:00
Daniel Marjamäki 6a07c2f71a ExprEngine; Check struct member assignment 2020-01-21 20:29:13 +01:00
Daniel Marjamäki 263f80deb8 ExprEngine: Add variable value checker 2020-01-21 20:19:51 +01:00
Daniel Marjamäki 4235a29501 ExprEngine: Handle variable annotations better 2020-01-21 18:55:07 +01:00
Daniel Marjamäki b6db5116c3 Clang import; CXXStdInitializerListExpr 2020-01-21 18:29:04 +01:00
Daniel Marjamäki a20b3a9e2e Clang import; better handling of string literals 2020-01-21 17:47:57 +01:00
Daniel Marjamäki 6386f0e633 Clang import; CXXDeleteExpr 2020-01-21 17:47:57 +01:00
Dmitry-Me 51e775e21e Improve test coverage for reading numbers represented as strings 2020-01-21 19:29:33 +03:00
Sebastian d8e0f40663
donate-cpu/test-my-pr: Minor fixes (PEP 8, old Python 2 code, ...) (#2499)
* donate-cpu/test-my-pr: Minor fixes (PEP 8, old Python 2 code, ...)

* test-my-pr.py: Add Python 3 shebang
2020-01-21 14:27:39 +01:00
Daniel Marjamäki 9f26e8a356 Clang import; CXXNewExpr 2020-01-21 12:16:39 +01:00
Daniel Marjamäki 7fecc17707 Clang import; CXXThrowExpr 2020-01-21 11:16:22 +01:00
Daniel Marjamäki 549df6a80e Clang import; Fixed wrong AST 2020-01-21 11:07:47 +01:00
versat a6deae5f94 htmlreport: Fix source view with leading empty lines
For whatever reason, pygments removes leading empty lines by default.
This results in the error messages being in the wrong line, shifted by
how many empty lines were removed.
Adding the option "stripnl=False" as an option to the lexer constructor
avoids this issue.
2020-01-21 09:13:55 +01:00
Daniel Marjamäki 459e906ae1 Clang import; ConditionalExpr 2020-01-21 07:00:03 +01:00
Daniel Marjamäki e5662ceef2 Clang import; CXXDefaultArgExpr 2020-01-21 06:52:45 +01:00
Daniel Marjamäki f048b4ca57 Clang import; CXXBindTemporaryExpr and CXXTemporaryObjectExpr 2020-01-20 21:43:25 +01:00
Daniel Marjamäki bdc621b7a3 Clang import; MaterializeTemporaryExpr 2020-01-20 21:27:49 +01:00
Daniel Marjamäki 78fcf93342 Clang import; DoStmt 2020-01-20 20:46:33 +01:00
Daniel Marjamäki cd3ad89777 Clang import; GotoStmt, LabelStmt 2020-01-20 19:07:10 +01:00
Daniel Marjamäki 6722ee9d3f test/bug-hunting: add --clang option to the juliet testing 2020-01-20 18:53:40 +01:00
Daniel Marjamäki 3ccd369cf5 Clang import; CaseStmt 2020-01-20 17:38:54 +01:00
versat 55f88f21a3 htmlreport: Fix shifted line number position for inconclusive messages
Follow-up to bca5d0d820
The style for inconclusive messages has to be fixed too. Otherwise
the border adds 2 extra pixels resulting in improper line height.
2020-01-20 15:43:22 +01:00
XhmikosR e17863c216 Fix #9574 htmlreport: fix sticky sidebar (#2495)
* rename JS functions
* Use the native font stack
* Update cppcheck-htmlreport
* Use a class for hiding content and toggle that instead. This should improve performance with huge reports.
* reorder selectors
* use classes for header and footer
* remove unneeded clear property (we don't have floats anymore)
* fix wrong `font-size` and `margin` properties
* remove `dir=rtl`

Related ticket: https://trac.cppcheck.net/ticket/9574
2020-01-20 15:25:12 +01:00
Daniel Marjamäki d635ea4b7f Clang import; SwitchStmt 2020-01-20 14:24:03 +01:00
Daniel Marjamäki dea6cc3b76 Clang import; FloatingLiteral 2020-01-20 14:10:43 +01:00
versat 0cf82d6d45 cppcheck.cpp: Fix reserved name "stderr"
Using "stderr" as variable name results in build errors on Windows.
2020-01-20 11:12:23 +01:00
Daniel Marjamäki 8d6891ac81 bug hunting; modified itc test script so you can pass --clang to it 2020-01-20 10:43:42 +01:00
Daniel Marjamäki 9bc43fca1d Fixed crash when printing out ValueFlow debug output 2020-01-20 08:11:57 +01:00
Simon Martin 16eae28cc9 Fix AppVeyor issue following reportVerification rename. (#2497) 2020-01-19 18:20:51 +01:00
Daniel Marjamäki 8ac2cdd9ff Clang import; If there are syntax errors then abort analysis 2020-01-19 17:30:57 +01:00
Daniel Marjamäki 0eccffe8e3 --clang; require that --cppcheck-build-dir. output files are needed. 2020-01-19 12:33:17 +01:00
Daniel Marjamäki 7d4bd57cc5 Clang import; Fix crash 2020-01-19 09:45:47 +01:00
Daniel Marjamäki 84bb024662 Refactoring; Reuse variable typeSize 2020-01-19 09:17:38 +01:00
Daniel Marjamäki a6ab986217 ExprEngine; In divbyzero report rhs token because that has better location 2020-01-19 09:16:02 +01:00
Daniel Marjamäki 16981f0813 ExprEngine; Fix FP for BailoutValue 2020-01-19 09:10:50 +01:00
Daniel Marjamäki 3d1cb87a11 Clang import; range for 2020-01-18 19:23:37 +01:00
Daniel Marjamäki 36a67c7022 Clang import; fixed ValueType::typeSize calls 2020-01-18 17:32:59 +01:00
Daniel Marjamäki cefd7fb33f Fix testrunner 2020-01-18 12:29:03 +01:00
Daniel Marjamäki 269d21e972 Clang import; Better array handling in sizeof() 2020-01-18 11:55:50 +01:00
Daniel Marjamäki b905547c76 Clang import; Better sizeof/type handling 2020-01-18 11:07:36 +01:00
Daniel Marjamäki f7a30fc99f Rename Verification => Bughunting 2020-01-18 07:25:57 +01:00
Sebastian 103532bb03
Update cppcheck-htmlreport (#2494)
* Try to use double quotes consistently
* minor CSS consistency changes
* fix HTML errors
* fix a few JS issues and switch to `textContent`
* use `addEventListener` instead of the onload event
* use `querySelector` and `querySelectorAll`

Co-authored-by: XhmikosR <xhmikosr@gmail.com>
2020-01-18 01:49:46 +01:00
Sebastian 7c7b0e55ed
daca2-getpackages.py: Fix #9508: Add support for xz compressed archives (#2493)
Using .tar.xz packages adds about 4500 additional packages that can be
tested and changes many existing packages where a more recent version
can be used now that is only available as .tar.xz file.

Related ticket: https://trac.cppcheck.net/ticket/9508

donate-cpu.py: Require at least Python 3.4
xz support was added with 3.3.
2020-01-17 12:23:07 +01:00
Rikard Falkeborn 0bb98aeef9 Fix 9577 (endless recursion in Valueflow::bifurcate()) (#2492)
Ensure bifurcate() does not recurse endlessly where a variable is
initialized recursively, or a variable is initialized as x(0) or x{0}
followed by a recursive assignment (for example int x(0); x = x / 1;).

The first case is solved by bailing out if there initialization is done
using x(0) or x{0}, the second by adding a missing depth argument to a
recursive call.
2020-01-17 03:17:26 +01:00
Daniel Marjamäki bc39cd73f0 Clang import; fix wrong 'sizeof' import 2020-01-17 03:15:08 +01:00
Sebastian 53623ddf6f
daca2-getpackages.py: Fix semver sorting and getting latest package (#2490)
There were two issues:
1. The version was not correctly extracted out of the filename. When
extracting a sub-string in Python one has to specify start index and
end index instead of start index and length.
2. The function `semver.cmp()` does nothing useful. Instead the function
`semver.compare()` must be called when two version should be compared.
See https://github.com/python-semver/python-semver/issues/117#issuecomment-479188221

Because `semver.compare()` now really compares the versions it is
possible that an exception is thrown if a version is not in the semver
version format. In such cases the sorting is aborted and the last
filename in the array is returned. This is often but not always already
the latest version from what I have seen.
2020-01-16 20:02:56 +01:00
Sebastian cd9ec5aac6
daca@home client: Require at least Python 3 from now on (#2491)
This makes it possible to implement new features like .tar.xz support
(see https://trac.cppcheck.net/ticket/9508) or aborting endlessly
running analysis via timeout (see
https://sourceforge.net/p/cppcheck/discussion/development/thread/86813a8a53/).
2020-01-16 20:01:46 +01:00
Daniel Marjamäki 272fbfeb74 ExprEngine; Fix Z3 usage for floats 2020-01-16 19:35:05 +01:00
Daniel Marjamäki bc737be0b5 ExprEngine; OLD_Z3 => NEW_Z3 2020-01-16 18:59:47 +01:00
Dmitry-Me 01e0a61ebe Break loops earlier 2020-01-16 18:37:10 +03:00