Commit Graph

19591 Commits

Author SHA1 Message Date
Paul Fultz II 032020c40d Fix issue 9001: FP: Found suspicious operator ',' [constStatement] 2019-02-27 07:09:22 +01:00
IOBYTE 9d75b718d3 template simplifier: remove use of simplifyTokenList2 in tests (#1705) 2019-02-27 07:06:34 +01:00
Paul Fultz II e846312fed Check subtraction of pointers to different objects 2019-02-27 06:55:48 +01:00
rikardfalkeborn 0e988cc755 Fix #8992: Add originalTypeToken to auto (#1701) 2019-02-27 06:44:31 +01:00
rikardfalkeborn c9efc26578 valueflow: Mark getLifetimeToken() static (#1703)
Fixes a compiler warning about missing declaration.
2019-02-26 23:35:11 +01:00
Daniel Marjamäki c44e2ed378 sizeof: write inconclusive warning if calculation in sizeof is done indirectly by macro 2019-02-26 21:06:44 +01:00
Daniel Marjamäki b248075aae Comment bailout
[ci skip]
2019-02-26 19:28:11 +01:00
Daniel Marjamäki 9e93e89a4d UninitVar: Fix false positives when there is possible cast 2019-02-26 19:26:46 +01:00
Sebastian 13b37631a6
std.cfg: Add support for std::vector::swap() and std::swap() (#1700)
References:
https://en.cppreference.com/w/cpp/container/vector/swap
https://en.cppreference.com/w/cpp/algorithm/swap
2019-02-26 18:21:17 +01:00
Kamil Dudka 21c22d0d4d TestNullPointer: add regression test to cover #8813 (#1699)
... which is fixed since 1.86-72-gbc34f0239
2019-02-26 17:14:45 +01:00
Sebastian d7e219043a
Library configuration validation: Enhance relaxng file (arg elements) (#1698)
Make sure that the elements of function->arg contain no duplicates.
Except for 'minsize' which can be specified zero to many times.
2019-02-26 14:00:54 +01:00
Sebastian 61f911d39a
qt.cfg: Add Q_DECLARE_TR_FUNCTIONS() and others (#1677)
Add unknownMacro Q_DECLARE_TR_FUNCTIONS found via daca@home.
Add function QCoreApplication::translate() and macro
QT_DECLARE_DEPRECATED_TR_FUNCTIONS() the unknownMacro depends on.
Reference:
https://doc.qt.io/qt-5/qcoreapplication.html#Q_DECLARE_TR_FUNCTIONS
https://doc.qt.io/qt-5/qcoreapplication.html#translate
2019-02-26 13:39:37 +01:00
IOBYTE bf85767829 template simplifier: make sure all instantiations are found and expan… (#1696)
* template simplifier: make sure all instantiations are found and expanded in #5097

* template simplifier: check output on another test

* template simplifier: add output to another test
2019-02-26 06:41:04 +01:00
IOBYTE 3f257d6310 template simplifier: instantiate template class when something inside… (#1695)
* template simplifier: instantiate template class when something inside class instantiated.

* template simplifier: add output to another test that now works
2019-02-25 21:01:34 +01:00
Daniel Marjamäki ef6fc67da4 Move CheckString::checkAlwaysTrueOrFalseStringCompare() from runSimplifiedChecks() to runChecks() 2019-02-25 18:11:33 +01:00
orbitcowboy 4e6d4e4ddd wxwidgets.cfg: Added support for more interfaces. 2019-02-25 16:38:52 +01:00
orbitcowboy 86e3ce7a47 wxwidgets.cfg: Added support for more interfaces. 2019-02-25 16:31:16 +01:00
Sebastian b2bb8daaca
.travis.yml: Check python syntax (version 2 and 3) (#1694)
As suggested by rikardfalkeborn here:
https://github.com/danmar/cppcheck/pull/1679#issuecomment-465927692
By compiling python scripts the syntax can be checked.
There are two compilations, one for Python 2 and one for Python 3 for
most scripts to make sure at least the syntax is valid for both
versions.
2019-02-25 16:11:14 +01:00
Andreas Bacher 587474e3b0 qt.cfg: Add support for further qtest macros & add definition for macros Q_ASSERT, Q_ASSERT_X (#1693)
Thanks!
2019-02-25 14:07:57 +01:00
Daniel Marjamäki f1146e398a Moved CheckString::sprintfOverlappingData from runSimplifiedChecks to runChecks 2019-02-25 09:23:03 +01:00
Daniel Marjamäki 4218698fb1 Moved CheckString::checkIncorrectStringCompare from runSimplifiedChecks to runChecks 2019-02-25 09:08:16 +01:00
Daniel Marjamäki 09d505219c qt.cfg: add implementations for macros to avoid unreadVariable FPs 2019-02-24 20:58:07 +01:00
Daniel Marjamäki 56d68d1aae googletest.cfg: added simple macro implementations 2019-02-24 20:52:51 +01:00
Daniel Marjamäki d84d8885f7 SymbolDatabase: Fix TODO assertions 2019-02-24 19:11:18 +01:00
orbitcowboy d218fa5919 std.cfg: Added support for more interfaces. 2019-02-24 18:43:07 +01:00
orbitcowboy 406b29548a std.cfg: Added support for more interfaces. 2019-02-24 18:35:02 +01:00
Andreas Bacher 6760958e67 itions of QCOMPARE, QVERIFY & QVERIFY2, this are qtest macros not asserts (#1690)
* qt.cfg: Changed definitions of QCOMPARE, QVERIFY & QVERIFY2, this are qtest macros not asserts

* qt.cfg: Add support for further qtest macros
2019-02-24 16:44:48 +01:00
IOBYTE 41d87d6306 template simplifier: check output of a few crash and hang checks that now generate correct output (#1689) 2019-02-24 10:31:49 +01:00
Daniel Marjamäki ef731064bd Fixed #8964 (ValueType: auto constness) 2019-02-24 08:16:08 +01:00
orbitcowboy 32e1d383a4 std.cfg: Added support for std::replace() and std::replace_if(). 2019-02-24 00:06:38 +01:00
orbitcowboy 748fe7f25e std.cfg: Added support for std::back_inserter(). 2019-02-24 00:00:20 +01:00
orbitcowboy c38cbd967b std.cfg: Added support for std::reverse(). 2019-02-23 23:55:13 +01:00
orbitcowboy 59d3ce2343 std.cfg: Added support for std::remove_if(). 2019-02-23 23:51:11 +01:00
orbitcowboy 568887eadf std.cfg: Added support for std::unique(). 2019-02-23 23:44:23 +01:00
versat bcd7830fcb donate-cpu.py: Detect and use googletest library 2019-02-23 18:47:19 +01:00
orbitcowboy 0fa70ebb2a std.cfg: Added support for more interfaces. 2019-02-23 18:38:48 +01:00
orbitcowboy 216d324a59 std.cfg: Added support for more interfaces. 2019-02-23 18:35:13 +01:00
orbitcowboy df6fb18c94 wxwidgets.cfg: Added support for more interfaces. 2019-02-23 18:20:04 +01:00
Daniel Marjamäki c855cf8682 ValueType: Better constness for auto variable 2019-02-23 18:16:18 +01:00
Daniel Marjamäki b43572d75e Fixed #8969 (C++ functional cast not handled correctly) 2019-02-23 17:29:53 +01:00
Sebastian 9379266a52
donate-cpu.py: Improve regex to find more includes. (#1688)
Now also found:
- Includes directly at the beginning of a file
- Indented includes
- Includes where there is no white-space between
  "include" and header name
2019-02-23 17:13:35 +01:00
orbitcowboy c8fab94cee wxwidgets.cfg: Added support for more interfaces. 2019-02-23 17:11:27 +01:00
orbitcowboy 2d2f64da1b wxwidgets.cfg: Added support for more interfaces. 2019-02-23 17:02:04 +01:00
orbitcowboy afb0d2aab6 wxwidgets.cfg: Added support for more interfaces. 2019-02-23 16:56:35 +01:00
Daniel Marjamäki 68062e3702 Fixed #8954 (false positive: Local variable x shadows outer variable) 2019-02-23 16:22:22 +01:00
Daniel Marjamäki 23d4d9abeb bump simplecpp 2019-02-23 08:35:10 +01:00
Paul Fultz II fd3c1fd040 Fix issue 1777: Undefined Behavior: Comparing pointers to different objects
This uses the lifetime analysis to check when comparing pointer that point to different objects:

```cpp
int main(void)
{
    int foo[10];
    int bar[10];
    int diff;

    if(foo > bar)   // Undefined Behavior
    {
       diff = 1;
    }

    return 0;
}
```
2019-02-23 08:32:08 +01:00
ivangalkin 1b703ce58e 7772 Add uninitMemberVarPrivate to errorlist (really) #1557 (#1686)
Previous attempt 70527a78f7
doesn't work because equal error messages are filtered.
2019-02-23 08:07:46 +01:00
amai2012 7859d7d879 #3030 add another regression test 2019-02-22 21:10:05 +01:00
orbitcowboy 52c7a1b1c2 donate-cpu.py: Auto detect TinyXML2 cfg. 2019-02-22 17:51:47 +01:00