Commit Graph

118 Commits

Author SHA1 Message Date
Oliver Stöneberg 63e00ea918
fixed some "Variable can be made constexpr" Rider warnings () 2023-11-03 09:55:44 +01:00
chrchr-github cae27c5ec7
Fix FP integerOverflowCond for shift by 31 bits () 2023-10-28 16:47:57 +02:00
Oliver Stöneberg ebb877adcc
gui/platforms.h: renamed `Platform` to `PlatformData` / Platform: removed unnecessary `cppcheck` namespace () 2023-10-13 16:02:04 +02:00
Oliver Stöneberg 8c0d43d928
removed unnecessary encapsulation of severity enum and made it an `enum class` () 2023-10-12 11:58:39 +02:00
Oliver Stöneberg 06b5ef1e4d
cleaned up includes based on include-what-you-use () 2023-10-09 10:07:20 +02:00
Oliver Stöneberg a22c181553
fixed "Redundant elaborated type specifier" Rider warnings () 2023-10-08 09:10:17 +02:00
Daniel Marjamäki 276f017fbe
Partial fix for (Safety: show what checks are enabled/disabled) ()
Example output on stdout:
```
$ ./cppcheck m1.cpp 
Checking m1.cpp ...
Active checkers: 59/177
```
2023-08-29 12:00:52 +02:00
Oliver Stöneberg a92b10ca3b
fixes (avoid C++-only parsing when processing C code in parsedecl()) / also avoid remaining `Library::detect*()` calls () 2023-08-18 22:48:24 +02:00
chrchr-github 5ff8955dbe
Fix FP truncLongCastAssignment with increment () 2023-08-03 13:49:11 +02:00
chrchr-github faf8047050
Fix FP truncLongCastReturn on Windows () 2023-08-02 12:27:29 +02:00
Oliver Stöneberg 1cd1cbabe9
avoid some unnecessary code execution () 2023-04-28 12:42:51 +02:00
Oliver Stöneberg 20db3ff368
SymbolDatabase: made `mTokenizer` and `mSettings` references () 2023-03-07 12:22:06 +01:00
Oliver Stöneberg 5af6ca6637
made `Platform` a member of `Settings` instead of inheriting from it / cleanups () 2023-03-03 18:36:27 +01:00
Oliver Stöneberg b70e1d5461
avoid some unchecked pointer dereferences () 2023-03-02 22:05:41 +01:00
Oliver Stöneberg 14e78e1800
greatly improved error handling in Cppcheck project file parsing / some cleanups () 2023-02-08 20:30:43 +01:00
Daniel Marjamäki 464fbe8d53 Update copyright year 2023-01-28 10:16:34 +01:00
Oliver Stöneberg bea6aec2b2
extracted `ValueFlow::Value` to `vfvalue.{cpp|h}` () 2023-01-26 22:23:22 +01:00
Oliver Stöneberg b3ec225480
iwyu.yml: use `debian:unstable` to always get latest include-what-you-use / cleaned up includes ()
* iwyu.yml: use debian:unstable to always get latest include-what-you-use

* cleaned up includes based on include-what-you-use

* mitigated include-what-you-use false positives
2022-09-16 07:15:49 +02:00
Oliver Stöneberg 0e1cd8b2ac
do not do C++ processing for C code in `parsedecl()` () 2022-08-21 17:11:22 +02:00
Oliver Stöneberg 16f598c409
added missing `sstream` includes () 2022-08-19 10:16:23 +02:00
Daniel Marjamäki 3989408738 Update copyright year 2022-02-05 11:45:17 +01:00
Oliver Stöneberg 171da2e6f9
avoid dependency on transitive includes - based on include-what-you-use () 2022-01-27 19:03:20 +01:00
Paul Fultz II 7f358b2bed
Format with uncrustify () 2021-08-07 20:51:18 +02:00
orbitcowboy 195d413986 Running astyle [ci skip] 2021-06-05 08:53:15 +02:00
Paul Fultz II 486e440c4a
Fix 10298: ValueFlow: Wrong known value, 'x == -1' implicit unsigned cast for rhs () 2021-06-04 17:17:41 +02:00
Oliver Stöneberg 6397e29f84
cleaned up includes based on include-what-you-use () 2021-04-03 21:30:50 +02:00
Daniel Marjamäki 42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
PKEuS 141d2ac215 Refactorization: Improved internal implementation of severity and certainty levels
Backported from LCppC.
2021-02-24 22:00:06 +01:00
Daniel Marjamäki b3b7ecc7ea Removed integerOverflowOptimization checking and merged functionality into invalidTestForOverflow 2021-01-05 11:38:19 +01:00
Daniel Marjamäki abd6c00c82 Integer overflow; generalized checking for nonportable code 2021-01-04 19:43:05 +01:00
Daniel Marjamäki da198e0726 Fix Cppcheck self check warning; use reference to avoid data copying 2021-01-04 01:47:04 +01:00
Daniel Marjamäki 38aa0fa2f0 Signed integer optimisation; ensure expr is variable 2021-01-03 23:30:34 +01:00
Daniel Marjamäki 52491f1c53 Signed integer optimisations; Also warn about 'x+y<x' 2021-01-03 22:12:19 +01:00
Daniel Marjamäki 6375fb4f08 New check: Warn about nonportable code that can be optimised (signed integer overflow) 2021-01-03 21:03:07 +01:00
Daniel Marjamäki 208014bae9 checkIntegerOverflow: Remove bailout for shifts 2021-01-03 17:44:46 +01:00
Heiko Bauke 077fcad4ee
fix compile-time rounding error and fix overflow check ()
fixes implicit conversion from 'unsigned long long' to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
2020-12-20 08:09:39 +01:00
Rikard Falkeborn 7973fd843c Refactor: Simplify checkSignConversion
The loop only checks astoperand1 and astoperand2. Simplify the condition
to loop over these instead of using a stack. Also, add a testcase for
when astoperand2 is negative.
2020-07-20 11:16:56 +02:00
Daniel Marjamäki 37245a8179 Update copyright year 2020-06-13 16:37:12 +02:00
Oliver Stöneberg 37bc0483a4
made check.h less heavy () 2020-05-23 07:16:49 +02:00
Rikard Falkeborn 4dbf006dc7 Fix severity of c++14 shifts with too many bits ()
For c++14, shifting a variable with a value larger than or equal to the
number of bits in the variable is undefined. Left-shifting with a value
equal to the number of bits of the variable is implementation defined.

See also trac ticket .
2019-09-25 20:16:04 +02:00
Paul Fultz II e8435b9ecb Fix issue 9306: Adjust shiftTooManyBitsSigned for C++14 () 2019-08-31 07:40:57 +02:00
Daniel Marjamäki 20278d9c92 Clarify signConversion warning message 2019-08-05 12:41:08 +02:00
Daniel Marjamäki 45d1ca6f7c Safe checks: Clarify a warning message 2019-07-25 17:19:51 +02:00
Daniel Marjamäki 7c0b011c05 Fixed (Improve check: integer conversion overflow in return) 2019-07-24 16:17:52 +02:00
Daniel Marjamäki 421a8da6a8 Try to clarify signConversion message 2019-07-17 22:41:24 +02:00
Daniel Marjamäki 95d65c8c34 Refactoring; enum class 2019-07-10 14:05:16 +02:00
Rikard Falkeborn 1cc5f3abe7 Set wchar_t type ()
This is necessary for valueflow to know the size, for example when
calculating sizeof(wchar_t).
2019-05-01 16:34:28 +02:00
Daniel Marjamäki bd7790fd8c Update copyright year 2019-02-09 07:24:06 +01:00
Daniel Marjamäki b79619832e Clarify warning 2018-12-23 12:42:18 +01:00
Daniel Marjamäki 435888f82e Refactoring; use range for loop 2018-07-13 16:57:17 +02:00