8935 Commits

Author SHA1 Message Date
rikardfalkeborn
a05079fef7 Add regression test for #8780 (#1619)
Ticket #8780 was fixed in b839ad60dd4d9658444982d2d21c282d187c5ab6.
Add a test to avoid regressions.
2019-01-25 07:48:18 +01:00
IOBYTE
cb1a1df0fa template simplifier: fix out of line member function scope and use more full name matching (#1617) 2019-01-24 07:21:22 +01:00
rikardfalkeborn
080c9d53af 8205 regression test (#1618)
* Fix trac ticket reference

* Add regression test for #8205

Ticket #8205 was fixed in f65cf220ba05c84a0dc0c8376c29455939408197.
Add a test case to avoid regressions.
2019-01-24 07:20:26 +01:00
Daniel Marjamäki
c773e6ed10 runtests.sh: uncomment the xmlstarlet checking 2019-01-23 09:40:43 +01:00
rikardfalkeborn
8356ec6774 Add regression test for #6906 and #7284 (#1614)
* Add regression test for #6906

Ticket #6906 was fixed in f65cf220ba05c84a0dc0c8376c29455939408197.
Add a test to make sure there are no regressions.

* Add regression test for #7284

Ticket #7284 was fixed in 5d1fdf7958290d098998ba8afd7af391cc14d5a8.
Add tests to avoid regressions.
2019-01-23 09:09:03 +01:00
IOBYTE
ec8bc785a2 template simplifier: add support for using namespace when instantiating templates (#1615) 2019-01-23 08:53:01 +01:00
Paul Fultz II
3975913637 Extend lifetime checking for references
This will use the lifetime checker for dangling references. It will find these cases for indirectly assigned reference:

```cpp
int &foo()
{
    int s = 0;
    int& x = s;
    return x;
}
```

This will also fix issue 510 as well:

```cpp
int &f( int k )
{
    static int &r = k;
    return r;
}
```
2019-01-23 07:29:16 +01:00
Daniel Marjamäki
8c07be136a Fixed #8949 (False Positive: Variable 'f' is assigned a value that is never used.) 2019-01-22 21:16:27 +01:00
Daniel Marjamäki
87489c3ffd Try to make Travis happy 2019-01-22 18:56:12 +01:00
Daniel Marjamäki
f03ce97aae unmatched suppression: fix test case 2019-01-22 18:47:52 +01:00
versat
6f62b83fe6 checkcfg: Add regression test for umatchedSuppression errors
As discussed in https://trac.cppcheck.net/ticket/8931 a regression test is added
to the test/cfg/runtests.sh script to make sure that unmatchedSuppression messages result in an Cppcheck exit code that signals a failure.
2019-01-21 20:53:13 +01:00
Paul Fultz II
4b37f276c2 ValueFlow: Set arrays to true when converting to a boolean
This sets it by checking the parent. It doesn't handle function parameters yet.
2019-01-21 20:05:35 +01:00
Daniel Marjamäki
91435310cb Fixed #8925 (compile_commands.json: False positives in .mm (Objective-C++) files, that file type should maybe just be ignored) 2019-01-21 06:36:31 +01:00
Daniel Marjamäki
8da4e31c42 Fixed #8941 (False Positive: Variable 'f' is assigned a value that is never used.) 2019-01-20 13:20:23 +01:00
rikardfalkeborn
f7d85e9df2 Add regression test for #6904 (#1611)
Ticket #6904 was fixed in 34dbc3c00ceac490c54e68e767104c04341e3f58.
Add a regression test to make sure it doesn't reappear.
2019-01-20 10:05:09 +01:00
IOBYTE
1acbdde302 Fixed #7417 ("syntax error" in valid code containing explicitly specialised variable template) (#1604) 2019-01-18 21:12:39 +01:00
Lauri Nurmi
3bbd9fc9a4 Replace "virtual method" with "virtual function" in messages.
The term "method" is not really a part of C++ terminology.
2019-01-15 06:22:14 +01:00
Sebastian
aa40e374ac
test/cfg/runtests.sh: Qt test: Fix syntax check when "-fPIC" is required (#1600)
On linux systems (like travis) Qt often seems to be built with the option "reduce_relocations" which requires an application using it to specify the option "-fPIC".
2019-01-14 17:48:04 +01:00
Daniel Marjamäki
d50c3de740 Remove inline suppression and fix false positive. 2019-01-13 07:59:41 +01:00
amai2012
738fef6c27 Run astyle 2019-01-12 21:51:39 +01:00
amai2012
2adf65968b posix.cfg: improve configuration for dlsym() 2019-01-12 21:50:02 +01:00
Daniel Marjamäki
022259caf3 Fix Cppcheck warning
[ci skip]
2019-01-12 19:11:18 +01:00
Daniel Marjamäki
14b419a48f Fix Cppcheck warning
[ci skip]
2019-01-12 19:10:59 +01:00
Daniel Marjamäki
21f7274533 Remove TestMemleakGlib and TestMemleakWindows
[ci skip]
2019-01-12 19:09:55 +01:00
Daniel Marjamäki
9765a2dfab Remove unused test class. The old memleaks checker will not be used anymore. 2019-01-12 18:45:42 +01:00
Daniel Marjamäki
5276fd68b2 Remove unused test functions
[ci skip]
2019-01-12 18:32:18 +01:00
Daniel Marjamäki
8dd641b8be Use OVERRIDE in test 2019-01-12 15:45:25 +01:00
Daniel Marjamäki
1cd16cf94f Suppressions: Handle comment in file that starts with # 2019-01-12 15:21:47 +01:00
Daniel Marjamäki
8b5f36670a Introduce macro OVERRIDE for gcc-4.6 compatibility. 2019-01-12 07:37:42 +01:00
juremenart
45def06d59 fix trailing / from CMAKE JSON file and update unittests to cover both (w and w/o cases) (#1592)
* fix for CMake compile_commands.json input - director does not include trailing / which makes include directories wrong - so add it if it doesnt exist

* fix the bugfix for trailing / in the directory name of CMAKE JSON file, add also new test case to see if it works in both cases (with and without trailing /)

* revert adding accidental new line
2019-01-11 16:36:55 +01:00
rikardfalkeborn
49bad106bb Add regression test for 8168 (#1588)
Ticket 8168 was fixed in 713f6071680d20666a0699bcba234edc17cb69a5.
Add a regression test to make sure the bug doesn't reappear.
2019-01-11 14:11:48 +01:00
Paul Fultz II
921f6e4313 Fix issue 8883: False positive: returnDanglingLifetime with local struct or class (#1585) 2019-01-11 09:51:02 +01:00
Paul Fultz II
5fa956a597 Fix issue 8932: False positive knownConditionTrueFalse - valueflow ignores operator < (#1584) 2019-01-11 08:39:23 +01:00
amai2012
400c6c8e76 Improve configuration for dlopen and add suitable test 2019-01-10 21:14:37 +01:00
Daniel Marjamäki
8509159d1a Uninitialized Member variable: Fixed FP when delegate constructor is used 2019-01-10 20:13:37 +01:00
rikardfalkeborn
a48c8abcda Fix 8124: False positive va_end missing with lambda (#1577)
Skip lambdas, to avoid false positives due to possible
return statements in lambdas.

Also, run dmake.
2019-01-10 18:32:17 +01:00
Paul Fultz II
4e147a4c59 Add a check for duplicate if statements
This will warn for this:

```cpp
int f(int val)
{
	int i = 0;
	if( val & 0xff)
		i = 1;
	if( val & 0xff)
		i = 1;
        return i;
}
```
2019-01-09 20:41:01 +01:00
Daniel Marjamäki
35e56942d1 Fixed #8116 ([False positive] Invalid memory leak detection when using reference.) 2019-01-09 20:38:32 +01:00
Daniel Marjamäki
75e367c48b Fixed #8340 (incorrect memleak errors) 2019-01-09 19:50:41 +01:00
amai2012
97bf5de133 Add more Windows (Microsoft) macros and a few lines of related test code 2019-01-08 21:15:04 +01:00
Daniel Marjamäki
0f9ce5edd5 Fixed #8365 (False positive on memory leak when assigned inside if statement) 2019-01-08 20:54:39 +01:00
Sebastian
0aa4910244
Boost configuration: Add macros and initial test file (#1575) 2019-01-08 20:30:21 +01:00
Daniel Marjamäki
e4525d56a0 Fixed #8111 (performance warning - member variable at constructor) 2019-01-07 21:26:58 +01:00
Sebastian
7a59949cb4 qt config test: Use pkg-config to retrieve Qt settings. (#1571)
To be able to use real Qt-Code in "test/cfg/qt.cpp" and still do a
syntax check the Qt settings are read out via pkg-config now if it is
available. This way the test now can contain Qt macros and functions and
the syntax check can still be used.
Additionally the same options as for the other tests are used now for
the Qt config tests.
Installing the package "qtbase5-dev" should be enough to enable the
syntax checks (already installed for travis tests).
2019-01-07 14:40:21 +01:00
practicalswift
0a1b3a9d6f Fix typos (#1568) 2019-01-06 17:15:57 +01:00
Daniel Marjamäki
5636497c0b Fixed #8863 (false positive: (warning) Accessing an item in container 's'. Either the condition 's.empty()' is redundant or 's' can be empty.) 2019-01-06 12:21:55 +01:00
Daniel Marjamäki
ea0232653f Fixed #8563 (CPPCheck not able to locate file through compilation database) 2019-01-05 23:11:43 +01:00
IOBYTE
817c748e4d Fixed #5953 (debug: varid0: Function::addArguments) (#1567) 2019-01-05 19:42:04 +01:00
Daniel Marjamäki
615903c6be Improve syntax errors for unmatched (){}[] 2019-01-05 11:56:21 +01:00
IOBYTE
32a5d66e5b Fixed #8927 (SIGSEGV below TemplateSimplifier::expandTemplate) (#1564) 2019-01-05 11:14:09 +01:00