Paul Fultz II
cf1ad5087a
Extend constStatement checker
...
This reworks constStatement to find more issues. It catches issue [8827](https://trac.cppcheck.net/ticket/8827 ):
```cpp
extern void foo(int,const char*,int);
void f(int value)
{
foo(42,"test",42),(value&42);
}
```
It also catches from issue [8451](https://trac.cppcheck.net/ticket/8451 ):
```cpp
void f1(int x) {
1;
(1);
(char)1;
((char)1);
!x;
(!x);
~x;
}
```
And also:
```cpp
void f(int x) {
x;
}
```
The other examples are not caught due to incomplete AST.
2019-02-15 13:31:40 +01:00
rikardfalkeborn
dc4e7cef88
Run simplifyPlatformTypes on library return types ( #1672 )
...
Add a call to simplifyPlatformTypes() in
SymbolDatabase::setValueTypeInTokenList() to simplify return types of
library configured functions. This fixes the FN in #8141 . Regression
tests are added, both for the original issue and another FN in the comments.
In order to do that, move simplifyPlatformTypes() to TokenList from Tokenizer.
This is a pure refactoring and does not change any behaviour. The code was
literally copy-pasted from one file to another and in two places
'list.front()' was changed to 'front()'.
When adding the call to simplifyPlatformTypes(), the original type of
v.size() where v is a container is changed from 'size_t' to 'std::size_t'.
Tests are updated accordingly. It can be noted that if v is declared as
'class fred : public std::vector<int> {} v', the original type of 'v.size()'
is still 'size_t' and not 'std::size_t'.
2019-02-15 13:29:52 +01:00
orbitcowboy
fc84227668
wxwidgets.cfg: Added support for more interfaces.
2019-02-15 09:33:17 +01:00
versat
4dae640e8c
gtk.cfg: Add type conversion macros
...
Reference:
https://developer.gnome.org/glib/stable/glib-Type-Conversion-Macros.html
daca@home found that they are missing.
2019-02-15 08:44:21 +01:00
orbitcowboy
a6fa13b25f
wxwidgets.cfg: Added support for more interfaces.
2019-02-15 00:25:49 +01:00
IOBYTE
8bd5b3eccf
Fixed #8962 ("(debug) Unknown type 'T'" with template typename parame… ( #1671 )
...
* Fixed #8962 ("(debug) Unknown type 'T'" with template typename parameter)
Only simple one parameter template functions with one function parameter
are supported.
* Added TODO test case for FIXME.
2019-02-14 11:48:59 +01:00
orbitcowboy
e28367b268
wxwidgets.cfg: Added support for more interfaces.
2019-02-14 08:21:38 +01:00
versat
ed25ae3acb
gtk.cfg: Add some configurations often reported as missing by daca@home
...
Add two g_assert*(), g_signal_connect_data(), some g_signal_connect*() functions and macros and g_strdup_printf().
2019-02-13 15:35:46 +01:00
orbitcowboy
59433229a0
wxwidgets.cfg: Added support for more interfaces.
2019-02-13 12:32:20 +01:00
orbitcowboy
d7e66c1165
wxwidgets.cfg: Added support for more interfaces.
2019-02-13 12:17:43 +01:00
orbitcowboy
8b977f885a
wxwidgets.cfg: Added support for wxDataViewTreeCtrl::SetFont().
2019-02-13 10:28:57 +01:00
orbitcowboy
d30e86d69c
wxwidgets.cfg: Added support for wxDC:DrawPoint().
2019-02-13 09:05:38 +01:00
orbitcowboy
103ec5b5a1
std.cfg: Added support for std::wifstream::seekg().
2019-02-13 08:52:45 +01:00
orbitcowboy
7b5c010c31
windows.cfg: Added support for more interfaces.
2019-02-13 08:10:50 +01:00
orbitcowboy
81dab88413
std.cfg: Fixed wrong configuration from std::vector::pop_back().
2019-02-13 08:04:11 +01:00
orbitcowboy
40398c6c90
std.cfg: Added support for std::vector::pop_back() and std::vector::push_back ().
2019-02-12 18:52:18 +01:00
orbitcowboy
f5edc221f8
windows.cfg: Added support for MAKEINTRESOURCE-macros.
2019-02-12 13:05:41 +01:00
versat
fe6ea282d3
qt.cfg: Add support for QT_TR_NOOP* and QT_TRANSLATE_NOOP* macros
...
Reference:
https://doc.qt.io/qt-5/i18n-source-translation.html#using-qt-tr-noop-and-qt-translate-noop-in-c
2019-02-12 10:21:56 +01:00
versat
a41e663cd1
Donate CPU: Optimize `list` and `dict` initialization
...
Initialization with `[]` and `{}` is faster than with `list()` and `dict()`.
Details:
https://stackoverflow.com/questions/30216000/why-is-faster-than-list
2019-02-12 09:47:57 +01:00
IOBYTE
9dc5dbe1ab
Fixed #8976 (Crash on `using mystring = std::string;`) ( #1663 )
...
* Fixed #8976 (Crash on `using mystring = std::string;`)
* templateSimplifier: move test case to correct file.
2019-02-12 09:39:01 +01:00
Carlo Marcelo Arenas Belón
03c9477028
settings: -Wreorder fix ( #1664 )
...
otherwise showing (with Apple LLVM version 10.0.0):
lib/settings.cpp:34:7: warning: field 'jointSuppressionReport' will be
initialized after field 'maxCtuDepth' [-Wreorder]
jointSuppressionReport(false),
2019-02-12 09:07:59 +01:00
orbitcowboy
84a1f2fcf8
wxwidgets.cfg: Added support for more interfaces.
2019-02-12 08:54:40 +01:00
versat
a1d0509d61
donate-cpu-server.py: Optimize checkLibrary* report generation
...
Use lists that are joined in the end instead of slower string concatenations with `+`.
Tested locally
2019-02-12 08:53:03 +01:00
orbitcowboy
6459de0aad
wxwidgets.cfg: Added support for more interfaces.
2019-02-12 08:46:09 +01:00
versat
8207e48adc
qt.cfg: Add support for macros Q_LIKELY and Q_UNLIKELY
...
Reference:
https://doc.qt.io/qt-5/qtglobal.html#Q_LIKELY
https://doc.qt.io/qt-5/qtglobal.html#Q_UNLIKELY
2019-02-12 08:21:49 +01:00
Sebastian
2c1f97d787
qt.cfg: Add support for macros `forever` and `Q_FOREVER` ( #1662 )
...
Reference:
https://doc.qt.io/qt-5/qtglobal.html#forever
https://doc.qt.io/qt-5/qtglobal.html#Q_FOREVER
2019-02-11 16:35:01 +01:00
Sebastian
d9241aa532
std.cfg: Add support for std::string::replace() ( #1661 )
...
Reference: https://en.cppreference.com/w/cpp/string/basic_string/replace
2019-02-11 16:06:48 +01:00
orbitcowboy
3d6001266e
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 16:03:00 +01:00
versat
cf00e0383d
donate-cpu.py: Improve Qt library detection
...
Tested locally
2019-02-11 15:38:28 +01:00
orbitcowboy
909de488c2
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 15:16:56 +01:00
Sebastian
3427e61383
std.cfg: Add support for std::string::assign() ( #1660 )
...
Reference: https://en.cppreference.com/w/cpp/string/basic_string/assign
2019-02-11 13:40:36 +01:00
orbitcowboy
71612d58e1
wxwidgets.cfg: Added support for wx(Const|Dynamic|Static)cast()-macros.
2019-02-11 13:25:05 +01:00
orbitcowboy
328f246e4c
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 13:18:38 +01:00
orbitcowboy
103cf4d542
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 09:38:58 +01:00
orbitcowboy
cc0f758db4
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 09:16:03 +01:00
orbitcowboy
1c205f50d1
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 08:38:22 +01:00
orbitcowboy
14a0558cbc
wxwidgets.cfg: Improved support for more interfaces.
2019-02-11 07:58:12 +01:00
IOBYTE
9490d0db8c
token simplifier: fix crashes related to #8972 ( #1659 )
2019-02-11 07:45:03 +01:00
Daniel Marjamäki
10b4215839
UninitVar: use normal token list instead of simplified token list
2019-02-11 07:43:16 +01:00
Daniel Marjamäki
6ca1aba4a7
UninitVar: Fix --experimental-fast issues
2019-02-10 19:00:01 +01:00
Daniel Marjamäki
6717f49f20
Try to give some credit to the 3rd party libraries we use.
2019-02-10 17:16:53 +01:00
fu7mu4
c78de5cdb5
change version number on manual-ja.docbook ( #1658 )
2019-02-10 16:57:48 +01:00
Simon Martin
eaaff30e65
Ticket #8878 : Properly simplify typedefs within template instantiations. ( #1656 )
2019-02-10 09:45:33 +01:00
orbitcowboy
67bfed10a5
wxwidgets.cfg: Added support for more interfaces.
2019-02-10 09:25:56 +01:00
Sebastian
110248c8d8
donate-cpu.py: Optimize string concatenation (use list) ( #1657 )
...
Using a list and join it in the end is really much faster when there are several hundred or thousands of strings.
2019-02-10 08:57:35 +01:00
Daniel Marjamäki
78ea6d71ac
donate-cpu: run cppcheck with --experimental-fast also
2019-02-09 22:05:12 +01:00
Daniel Marjamäki
8b9fb6dd88
Add author Crayon2000
2019-02-09 22:02:04 +01:00
versat
bdfc20a482
donate-cpu.py: Enable "python" and "boost" library detection
...
Only enable the library option for those configurations if the
corresponding .cfg file exists to not crash Cppcheck if an
older version than 1.87 is used as the "old" version.
2019-02-09 18:11:09 +01:00
orbitcowboy
1ddaa1ecf3
std.cfg: Added support for std::ifstream::seekg() and std::istream::seekg().
2019-02-09 17:13:07 +01:00
orbitcowboy
d2732e9459
std.cfg: std::string::append() added 'arg nr any'.
2019-02-09 16:58:33 +01:00