Commit Graph

22304 Commits

Author SHA1 Message Date
Daniel Marjamäki f01783238e Fixed #9596 (False positive: Returning an integer in a function with a pointer return type auto handling) 2020-04-04 20:03:48 +02:00
orbitcowboy 048b08f5be Running astyle. There are no functional changes [ci skip] 2020-04-04 14:49:08 +02:00
Paul Fultz II efdc5f5c4e
Fix issue 9435: False negative: invalidContainer when using range for loop (#2587)
* Fix issue 9435: False negative: invalidContainer when using range for loop

* Use ast

* Make string const
2020-04-04 11:47:02 +02:00
Oliver Stöneberg 1dd8d4afaf
fixes for Clang and clang-tidy 10 (#2588)
* clang_tidy.cmake: added clang-tidy-10 to program list

* fixed -Wrange-loop-construct Clang warnings

* fixed readability-qualified-auto clang-tidy warnings

* .clang-tidy: actually disable clang-analyzer-* warnings

* .clang-tidy: disabled some new warnings introduced with clang-tidy-10
2020-04-04 11:44:59 +02:00
Daniel Marjamäki ac45bf7af2 Small refactoring 2020-04-04 11:19:39 +02:00
Paul Fultz II 40e1e82a65
Fix issue 9644: Token::astOperand1() cyclic dependency on valid C++ code (#2590)
* Remove check for lambda

* Add test case
2020-04-04 10:55:31 +02:00
Daniel Marjamäki e0acd1abf8 Tokenizer: Report unknown macro that contains '.x=..' argument 2020-04-04 10:32:56 +02:00
Daniel Marjamäki efb583e3d1 astyle formatting
[ci skip]
2020-04-04 10:31:38 +02:00
Paul Fultz II a22a77c1fc
Use library config for unstable containers instead of hardcoded values (#2585)
* Use library config for unstable containers instead of hardcoded values

* Fix xml validation
2020-04-03 13:16:57 +02:00
Paul Fultz II 58e3f19ed8
Fix issue 9662: AST broken, ternary operator missing operand(s) on valid C++ code (#2589)
* Fix issue 9662: AST broken, ternary operator missing operand(s) on valid C++ code

* Add test for issue 9537
2020-04-03 10:04:10 +02:00
Oliver Stöneberg 8968edeabd
avoid unnecessary creation of lists in SingleValueFlowForwardAnalyzer.isAlias() and MultiValueFlowForwardAnalyzer.isAlias() (#2586)
Comparing before and after (Ir per call) when scanning the Cppcheck source:
SingleValueFlowForwardAnalyzer.isAlias()
1246 -> 1101
MultiValueFlowForwardAnalyzer.isAlias()
4202 -> 1617
2020-04-03 09:25:21 +02:00
Oliver Stöneberg 85b050acdf
add a "run-clang-tidy" CMake target when the executable exists (#2567)
* CMakeLists.txt: there is no REQUIRED option for include()

* added a "run-clang-tidy" target when the executable exists / always create compilation database / added .clang-tidy with all existing warnings have been disabled for now
2020-04-02 13:55:49 +02:00
Paul Fultz II 71deaaeb18
Fix issue 9608: False Positive: returnDanglingLifetime with braced-init-list (#2583) 2020-04-02 10:17:58 +02:00
Paul Fultz II 02ae71917a
Fix issue 9536: False positive: Reference to temporary returned when using operator() (#2582)
* Fix issue 9536: False positive: Reference to temporary returned when using operator()

* Add more test cases
2020-04-01 22:35:41 +02:00
Paul Fultz II 6cc58e1086
Set a max for the combination of arguments that can be passsed through valueFlowSubFunction (#2579)
* Set a max for the combination of arguments that can be passsed

* Skip mismatch path ids when computing the cross product
2020-04-01 22:33:09 +02:00
Oliver Stöneberg b59f49e286
more OSS-Fuzz client work (#2581)
* cleaned up oss-fuzz targets / use LIB_FUZZING_ENGINE for actual client

* fixed some compiler warnings in oss-fuzz sources

* only build the fuzz-client in Travis

* make fuzz-client CMake target work with CMake < 3
2020-04-01 18:02:25 +02:00
Armin Müller 3ff171e157
Typos found by running "codespell" (#2584) 2020-04-01 14:37:43 +02:00
Daniel Marjamäki 146eb2f3d3 Travis: Try to fix build error 2020-03-31 13:12:08 +02:00
Daniel Marjamäki 7577bdb1df DACA: Try to avoid some crashes/hangs for the most crazy code so we can focus on most serious bugs first 2020-03-31 11:33:38 +02:00
Oliver Stöneberg 28cd5d7ea2
fixed OSS-Fuzz builds and added CMake targets (#2577)
* fixed compilation of OSS-Fuzz clients

* added preliminary CMake target for fuzz-client - also added *_sanitized targets of dependencies (only available with Clang)

* added oss-fuzz build to Travis CI
2020-03-31 09:33:58 +02:00
orbitcowboy c78e3e7c03 windows.cfg: Added support for some constants from shellapi.h 2020-03-31 08:55:35 +02:00
orbitcowboy 1e8ff89d2f windows.cfg: Added support for some constants from shellapi.h 2020-03-31 08:51:12 +02:00
Oliver Stöneberg 8bc4e38213
Disable warnings causing too much noise (#2578)
Co-authored-by: Joachim Reichel <reichel@debian.org>
2020-03-31 08:33:17 +02:00
amai2012 6a7c0c531e
Add badge for GitHub Actions
Show the status of the CI workflow
2020-03-28 16:04:36 +01:00
orbitcowboy 9a52d2b939 wxwidgets.cfg: Added support for more interfaces 2020-03-27 23:15:06 +01:00
Dmitry-Me b51e4dfeea Improved test to have all lines reached 2020-03-27 19:11:38 +03:00
orbitcowboy 326d6fbb33 wxwidgets.cfg: Added support for more interfaces 2020-03-27 08:55:22 +01:00
orbitcowboy f21605496b wxwidgets.cfg: Added support for more interfaces 2020-03-26 17:31:59 +01:00
orbitcowboy 3972c5c723 wxwidgets.cfg: Added support for more interfaces 2020-03-26 17:07:32 +01:00
orbitcowboy acdc62f8f0 Formatted the code. There are no functional changes [ci skip] 2020-03-26 17:03:21 +01:00
Dmitry-Me e1d38a854b Improved test to have all lines reached 2020-03-25 18:11:05 +03:00
Paul Fultz II 5462e43161
Fix issue 9639: False positive: Returning object that points to local variable that will be invalid when returning (#2576)
* Follow reference when tracking local variables

* Fix issue 9639: False positive: Returning object that points to local variable that will be invalid when returning
2020-03-23 22:54:53 +01:00
orbitcowboy 46222d58ef windows.cfg: Added more contants from WinUser.h 2020-03-22 16:18:34 +01:00
Paul Fultz II b68d6f9471
Fix crash in valueflow when using local classes (#2575) 2020-03-22 10:12:53 +01:00
orbitcowboy a171f524cf wxwidgets.cfg: Added support for missing constant wxPropertyGrid. 2020-03-20 22:51:51 +01:00
Paul Fultz II 7fd3580f21
Dont traverse conditions multiple times (#2574) 2020-03-20 10:37:16 +01:00
Paul Fultz II f2527f5340
Fix crash in valueFlowForLoopSimplifyAfter (#2573) 2020-03-20 07:16:05 +01:00
orbitcowboy cdcde7855d wxwidgets.cfg: Added support for more interfaces. 2020-03-19 16:56:33 +01:00
orbitcowboy 5d5aef5de2 googletest.cfg: Formatted cfg. There are no functional changes 2020-03-19 16:56:16 +01:00
Dmitry-Me dd5b9f3b82 Resolve sign mismatch warnings 2020-03-19 18:22:55 +03:00
ChristophStrehle b302896751
Define the MOCK_METHOD macro (#2571)
Without the macro defined the following would yield a syntax error:
struct IFoo
{
	virtual GetInt(const std::string& name) = 0;
};

struct MockFoo : IFoo
{
	MOCK_METHOD(int32_t, GetInt, (const std::wstring &name), (override, const));
};

Co-authored-by: Christoph Strehle <strehle@teamviewer.com>
2020-03-17 14:25:07 +01:00
orbitcowboy 4e63613855 wxwidgets.cfg: Added support for more interfaces. 2020-03-16 17:51:48 +01:00
orbitcowboy 637c4e2bc0 wxwidgets.cfg: Added support for more interfaces. 2020-03-15 19:39:23 +01:00
fuzzelhjb 9f3deb30b1
Support clang tidy (#2564)
* add basic clang-tidy support in the same way as in the GUI

* fix native path

* fix some code styles

* fix cppcheck findings

* update again

* only do clang-tidy if set in the project file

* fix handling if folders have spaces

* tiny fixes

* some tiny updates

* make clang-tidy error message parser more robust

Co-authored-by: fuzzelhjb <FaniXagy8-Hopk>
2020-03-15 11:09:35 +01:00
Dmitry-Me ab5835d359
Avoid giant C4267 warning in 64-bit Visual C++ build (#2569) 2020-03-14 14:41:45 +01:00
amai2012 c123b9fcdd Rename file 2020-03-14 12:42:04 +01:00
orbitcowboy b503b1a6c6 Merge branch 'master' of https://www.github.com/danmar/cppcheck 2020-03-13 22:42:49 +01:00
orbitcowboy e90a523115 wxwidgets.cfg: Improved support for more constants 2020-03-13 22:42:24 +01:00
amai2012 d5823472e3
Add code coverage to Github Actions (#2566)
Create and store coverage data including upload to codecov.io
2020-03-13 22:42:15 +01:00
Daniel Marjamäki 1173186876 Fixed daca@home crash by stopping for unknown macro 'MACRO(a();b();)' 2020-03-12 13:28:09 +01:00