21107 Commits

Author SHA1 Message Date
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
orbitcowboy
da29a1f56b gnu/bsd.cfg: Cleanup redundant configuration for timercmp() and add more tests. 2019-09-10 11:51:47 +02:00
Rikard Falkeborn
afe05d019c dmake: Improve dependency detection of external and cli includes (#2163)
Previously, external files were not searched at all, and dependencies
on header files in cli was not taken into account for test files.

To add dependency of headers in externals, we also need to search for
includes with angular brackets.
2019-09-10 10:32:36 +02:00
Sebastian
5a05e8d242
donate-cpu-server.py: Get rid of hard-coded paths (#2159) 2019-09-10 07:58:37 +02:00
Paul Fultz II
b2ae835b4b cmake: Add dependency on cppcheck (#2165)
This adds a dependency on cppcheck so it will be built when calling `make check`
2019-09-10 06:21:59 +02:00