Commit Graph

21361 Commits

Author SHA1 Message Date
orbitcowboy d531bab8be qt.cfg: Added support for more macros, found by daca@home. 2019-09-16 20:37:33 +02:00
orbitcowboy 3acb0f3736 wxwidgets.cfg: Added support for wxScroolWinEvent macros. 2019-09-16 20:29:53 +02:00
orbitcowboy 5839c49509 wxwidgets.cfg: Added support for more EVT_-macros, found by daca@home. 2019-09-16 17:33:20 +02:00
Sebastian fbbaea3cd9
qt.cfg: Add some missing macro definitions (#2175)
Found by daca@home
2019-09-16 15:58:35 +02:00
versat 2b846461c8 gtk.cfg: Add configuration for macro G_OBJECT_WARN_INVALID_PROPERTY_ID 2019-09-16 15:04:41 +02:00
versat ff38310400 microsoft_atl.cfg: Add initial configuration for Microsoft ATL
ATL stands for Active Template Library.
Reference:
https://docs.microsoft.com/en-us/cpp/atl/atl-com-desktop-components
2019-09-16 14:00:19 +02:00
orbitcowboy 606b26fb86 boost.cfg: Improved support for more macros. 2019-09-16 13:34:08 +02:00
orbitcowboy cb89128f6f wxwidgets.cfg: Added more EVT_-macros found by daca@home. 2019-09-16 11:56:54 +02:00
Daniel Marjamäki 887e65d006 TestSymbolDatabase: Clean up code using ASSERT 2019-09-16 11:18:01 +02:00
Daniel Marjamäki 5a5cecd4d5 TestSymbolDatabase: Clean up code using ASSERT 2019-09-16 11:12:40 +02:00
versat 6ad29fe70c mfc.cfg: Add macro BEGIN_TEMPLATE_MESSAGE_MAP(x,y,z)
Reference:
https://docs.microsoft.com/en-us/cpp/mfc/reference/message-map-macros-mfc?view=vs-2019#begin_template_message_map
2019-09-16 10:33:13 +02:00
orbitcowboy 0a6059a3f4 wxwidgets.cfg: Added support for more EVT-macros, found by daca@home. 2019-09-16 09:59:49 +02:00
orbitcowboy d0a95fcbbb wxwidgets.cfg: Added support for more EVT_-macros, found by daca@home. 2019-09-16 09:02:36 +02:00
orbitcowboy 717f9051b3 wxwidgets.cfg: Added support for missing EVT_FIND-macros from wxFindReplaceDialog. This was found by daca@home. 2019-09-16 08:09:01 +02:00
Daniel Marjamäki 004b4e4dbe TestSuite: The ASSERT and ASSERT_EQUALS will now stop executing the test case upon failure. This can be used to avoid extra guard logic in tests. 2019-09-16 06:34:45 +02:00
Daniel Marjamäki 033640310b One more fix for #9354 (Unknown macro is not reported and then Cppcheck is silent about issues) 2019-09-15 21:07:20 +02:00
orbitcowboy 3b70a6868b boost.cfg: Added support for more macros, found by daca@home. 2019-09-15 13:34:08 +02:00
Daniel Marjamäki c2a2e3427c Updated AUTHORS 2019-09-14 14:40:39 +02:00
orbitcowboy 9899bc5f33 wxwidgets.cfg: Added support EVT_UPDATE_UI() and EVT_UPDATE_UI_RANGE()-event macros, found by daca@home. 2019-09-13 21:02:56 +02:00
orbitcowboy a451577e5f wxwidgets.cfg: Added support EVT_COMMAND() and EVT_COMMAND_RANGE()-event macros, found by daca@home. 2019-09-13 21:00:32 +02:00
orbitcowboy aadefae55a wxwidgets.cfg: Added support EVT_ICONIZE()-event macro, found by daca@home. 2019-09-13 20:58:27 +02:00
orbitcowboy 5c1526513a wxwidgets.cfg: Added missing EVT_-macros from wxSplitterEvents, found by daca@home. 2019-09-13 20:57:05 +02:00
orbitcowboy 34d0b98176 wxwidgets.cfg: Added missing EVT_-macros from wxMenu-class, found by daca@home. 2019-09-13 20:55:05 +02:00
orbitcowboy 968aa73bb7 wxwidgets.cfg: Added missing EVT_-macros from wxTreeEvent-class, found by daca@home. 2019-09-13 20:52:15 +02:00
orbitcowboy df51e481e9 wxwidgets.cfg: Added support for EVT_SYS_COLOUR_CHANGED(), found by daca@home. 2019-09-13 20:46:05 +02:00
orbitcowboy 7a4cda70b6 qt.cfg: Added support for QTEST_GUILESS_MAIN() and QTEST_APPLESS_MAIN() macros, found by daca@home. 2019-09-13 20:42:31 +02:00
orbitcowboy 563d2d6725 wxwidgets.cfg: Added support for some unknown macros, found by daca@home in 3depict_0.0.21.orig.tar.gz 2019-09-13 20:34:12 +02:00
orbitcowboy aadbc5e1a8 mfc.cfg: Added MFC configuration, taken from https://trac.cppcheck.net/attachment/ticket/9354/MFC.cfg. 2019-09-13 19:51:17 +02:00
versat 89e0911c9c gtk.cfg: Add/fix some g_slist_*() functions
Reference:
https://developer.gnome.org/glib/stable/glib-Singly-Linked-Lists.html
https://github.com/GNOME/glib/blob/master/glib/gslist.h
2019-09-13 16:06:41 +02:00
versat f9d29a4ab9 qt.cfg: Add macro QStringLiteral()
Use the fallback value that always works. This should be fine for static
analyzers.
References:
https://doc.qt.io/qt-5/qstring.html#QStringLiteral
https://www.qt.io/blog/2014/06/13/qt-weekly-13-qstringliteral
https://woboq.com/blog/qstringliteral.html
2019-09-13 13:46:34 +02:00
Daniel Marjamäki 742c437953 Fixed #9354 (Unknown macro is not reported and then Cppcheck is silent about issues) 2019-09-13 13:05:48 +02:00
Sebastian 246ba265ff
qt.cfg: Add/enhance missing configuration for functions of QString (#2174) 2019-09-13 12:19:21 +02:00
Paul Fultz II 068b0b246c Fix issue 9352: FP constParameter and constVariable for auto& in combination with ternary ?: operator (#2173) 2019-09-13 08:33:30 +02:00
Armin Müller a4ca6dfee7 testgarbage.cpp: Spelling in comment (#2172) 2019-09-12 20:52:39 +02:00
Daniel Marjamäki 346a19393f removed manual.docbook 2019-09-12 20:48:20 +02:00
Daniel Marjamäki fc25fe83bd ctu: fixed error locations 2019-09-12 19:20:13 +02:00
Daniel Marjamäki 4e076e1854 Fix travis build 2019-09-12 19:06:57 +02:00
versat d870e4d555 qt.cfg: Add configuration for QString::resize() 2019-09-12 15:32:55 +02:00
Sebastian fe236dbdc4 donate-cpu.py: Improve Qt library detection (#2171)
Some projects only use this (older?) style of Qt header inclusion.
There are (older) books and examples which use this style, too.
It seems to be perfectly valid, so we should support it.
2019-09-12 15:14:18 +02:00
Daniel Marjamäki da363c7d6f Fixed #9349 (FP ctuuninitvar for pointer dereferenced inside sizeof) 2019-09-12 13:29:52 +02:00
Daniel Marjamäki b8e3d3b982 CTU: Add 'column' 2019-09-12 10:46:33 +02:00
Daniel Marjamäki 8855978f8a Import project: Ignoring paths better 2019-09-12 09:32:24 +02:00
IOBYTE 4e222afa2c template simplifier: ignore alias template definitions with syntax errors (#2169)
Is not allowed to define a type in an alias template definition.

This code:

template<int N>
using A1 = struct B1 { static auto constexpr value = N; };
A1<0> a1;

produces this output:

2: } ;
3: struct B1 { static const auto value = 0 a1 ;

test.cpp:2:57: error: Analysis failed. If the code is valid then please
report this failure. [cppcheckError]
using A1 = struct B1 { static auto constexpr value = N; };
                                                        ^

because it tries to instantiate the invalid alias template definition
and generates garbage code.
2019-09-11 19:31:15 +02:00
Paul Fultz II ba037837c9 Track lifetime across multiple returns
This will now warn when doing something like this:

```cpp
template <class T, class K, class V>
const V& get_default(const T& t, const K& k, const V& v) {
    auto it = t.find(k);
    if (it == t.end()) return v;
    return it->second;
}
const int& bar(const std::unordered_map<int, int>& m, int k) {
    auto x = 0;
    return get_default(m, k, x);
}
```

The lifetime warning is considered inconclusive in this case.

I also updated valueflow to no tinject inconclusive values unless `--inconclusive` flag is passed. This creates some false negatives because library functions are not configured to not modify their input parameters, and there are some checks that do not check if the value is inconclusive or not.
2019-09-11 19:25:09 +02:00
warmsocks a56bc006b7 Fixed a typo in lib/checkother.cpp. Corrected spelling errors found by codespell. (#2170) 2019-09-11 19:21:38 +02:00
orbitcowboy 55e8691bee wxwidgets.cfg: Added support for wxDC::CopyAttributes(). 2019-09-11 09:22:21 +02:00
Daniel Marjamäki bee30b0ca2 astyle formatting
[ci skip]
2019-09-10 19:42:17 +02:00
Paul Fultz II dc0b3527ad Fix issue 9311: False positive duplicateCondition "same if condition" with pointer inside array of struct (#2166)
* Check for typeOf through an array

* Handle array constructors

* Format

* Fix compile error on gcc 4.8
2019-09-10 19:41:35 +02:00
Paul Fultz II 2595b82634 Fix issue 9348: FP uninitvar for pointer passed to memcpy (#2167) 2019-09-10 19:40:08 +02:00
Paul Fultz II ddb1f1b5ce Try to fix issue 9341: daca crash: isContainerSizeChangedByFunction (#2168) 2019-09-10 19:39:44 +02:00