Commit Graph

21330 Commits

Author SHA1 Message Date
rebnridgway d2b9c1f15a Fix some bugs in new Scope Calculation code (#2060)
* Fix for too much information in scope name

When the scope calculation encounters code such as 
"friend class X::Y;"
or
"template<> class X<void> {"
it will now reset the additional name component of the scope that is about to be opened.

* Made sure new scope name is reset after being used
2019-08-02 19:55:08 +02:00
Daniel Marjamäki e66e6549ee SymbolDatabase: Improved ValueType::matchParameter handling of containers 2019-08-02 15:59:22 +02:00
Daniel Marjamäki 26b0ea52ed SymbolDatabase: Simplify code 2019-08-02 15:41:18 +02:00
versat 7ee36489f1 gnu.cfg: Add configuration for __builtin_memcpy()
In case there is something like `#define memcpy __builtin_memcpy` in the
code our define for __builtin_memcpy does not work.
So the configuration for __builtin_memcpy is added as a fallback.
2019-08-02 13:17:39 +02:00
versat 2519a1aed5 gnu.cfg: Add more __builtin_* functions and some tests
Most of them were detected by daca@home
2019-08-02 12:27:46 +02:00
orbitcowboy c1773225e7 boost.cfg: Added support for some math macros 2019-08-02 12:01:52 +02:00
orbitcowboy 48b9d61d49 python.cfg: Added support for some macros found by daca@home. 2019-08-02 08:13:38 +02:00
Daniel Marjamäki 41549f4801 Try to fix Cppcheck warning to make Cppcheck happy 2019-08-02 07:57:34 +02:00
IOBYTE 0d1685cd29 Fix #9178 example with instantiation (#2059) 2019-08-02 07:53:39 +02:00
Sebastian 5390588cda
gnu.cfg: Add xfree() (#2051)
It is hard to find good references, one that describes it a bit can
be found here:
https://manpages.ubuntu.com/manpages/bionic/man3/xmalloc.3pub.html

xfree() can be used instead of free().
A check, to verify that a memory leak is found if the memory allocated
via xmalloc() is not freed, has also been added.
2019-08-02 07:41:32 +02:00
amai2012 29596baa92 Refactoring: Convert enum Direction to enum class 2019-08-01 20:56:02 +02:00
Daniel Marjamäki 7eaa49fd5b Refactoring SymbolDatabase::findFunction. No functional change is intended. 2019-08-01 17:53:14 +02:00
Daniel Marjamäki 81db8fda18 SymbolDatabase: Code cleanup in findFunction 2019-08-01 17:29:25 +02:00
Daniel Marjamäki 25a13d061c Refactoring SymbolDatabase::findFunction 2019-08-01 16:14:00 +02:00
versat 7965ac5858 gtk.cfg: Add/fix more function configurations
daca@home reported a missing noreturn configuration for most of these
functions.
2019-08-01 15:05:42 +02:00
Wolfgang Stöggl a8ab9796f6 Update readme files concerning Visual Studio (#2058)
- The cppcheck.sln file is configured for Visual Studio 2019
  See commit: ae86536
- Add information on how to obtain a current version of PCRE for
  Visual Studio using vcpkg from https://github.com/microsoft/vcpkg
2019-08-01 15:03:09 +02:00
Daniel Marjamäki f95fdd80dd SymbolDatabase: Refactoring findFunction 2019-08-01 14:30:29 +02:00
versat 64b4ed5b13 gtk.cfg: Add/fix function configurations
daca@home reported a missing noreturn configuration for most of these
functions.
2019-08-01 13:44:53 +02:00
Daniel Marjamäki 2a17b897c5 SymbolDatabase: Use ValueType::matchParameter for *var parameters 2019-08-01 13:29:44 +02:00
Daniel Marjamäki dbddc321e8 SymbolDatabase: Try to match function parameters with unknown types 2019-08-01 13:25:03 +02:00
Rikard Falkeborn f6726b76ae Fix 9215 (add tilde for missing destructor override warning) (#2057) 2019-08-01 10:43:45 +02:00
orbitcowboy 4704b1d331 gtk.cfg: Added support for more macros, found by daca@home. 2019-08-01 10:12:31 +02:00
versat 6995d40c14 qt.cfg: Add configuration for deprecated function QString::find() 2019-08-01 09:43:24 +02:00
amai2012 8a934805ed Convert InvalidValueType to enum class 2019-07-31 22:56:16 +02:00
amai2012 b0fbbb5aa7 Convert SHOWTIME_MODES to enum class 2019-07-31 22:35:51 +02:00
Daniel Marjamäki 8deb855b41 Fix ValueType::matchParameter for 'const float *' => 'signed long long' 2019-07-31 18:55:55 +02:00
Daniel Marjamäki 91ca6165eb SymbolDatabase: Use ValueType::matchParameter for expression parameters 2019-07-31 18:35:56 +02:00
Daniel Marjamäki 70ac607a5c SymbolDatabase: extend usage of ValueType::matchParameter for variable parameters 2019-07-31 18:25:47 +02:00
Daniel Marjamäki c51f44ce4c SymbolDatabase: extend usage of ValueType::matchParameter for variable parameters 2019-07-31 18:24:15 +02:00
Daniel Marjamäki 1eb5f2266c ValueType::matchParameter: Fix matching of char** and void* 2019-07-31 16:23:50 +02:00
Sebastian 549452b7b9
qt.cfg: Add container and function configurations for QVector (#2052)
Reference: https://doc.qt.io/qt-5/qvector.html
2019-07-31 13:58:55 +02:00
Daniel Marjamäki a3dc2db77a SymbolDatabase: Use ValueType::matchParameter for variable address parameters 2019-07-31 12:38:36 +02:00
Daniel Marjamäki 039d49bcb1 Improve ValueType::matchParameter for pointers with different types 2019-07-31 12:12:17 +02:00
Daniel Marjamäki 35a3a34632 Revert "SymbolDatabase: Use ValueType::matchParameter"
This reverts commit cea00a8e09.
2019-07-31 12:07:07 +02:00
Daniel Marjamäki cea00a8e09 SymbolDatabase: Use ValueType::matchParameter 2019-07-31 11:20:43 +02:00
orbitcowboy a9bdf99e07 std.cfg: Added *experimental* support for math constants liken M_PI. These are *NOT* standard, but they are supported by GCC/Clang and VS. 2019-07-31 11:11:01 +02:00
Daniel Marjamäki 728ac6ae2e SymbolDatabase: Use ValueType::matchParameter for char literal parameters 2019-07-31 09:35:32 +02:00
rebnridgway e629f9a90f Calculate token scopes in advance rather than as the tokenlist is iterated (#2038)
* Removed redundant scope calculation

* Add scope propagation code to insertToken

* Add relevant scope code to Token class

* Add code to calculate the scope of Tokens

* Add calculateScopes method to class

* Add missing include for shared_ptr
2019-07-31 09:19:27 +02:00
IOBYTE 9436f72a94 Fix daca dnsdist crash (#2053) 2019-07-31 09:18:43 +02:00
Daniel Marjamäki e58e51ee14 SymbolDatabase::findFunction: For string literal, a std::string parameter is a better match than a void* parameter 2019-07-30 21:20:01 +02:00
Daniel Marjamäki f5c269a191 SymbolDatabase: Use ValueType::matchParameter for string literal parameters 2019-07-30 21:02:35 +02:00
orbitcowboy 2e11fbbfd6 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 15:11:50 +02:00
orbitcowboy c91b4e74e3 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 15:04:32 +02:00
orbitcowboy dd9bcd4d38 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 14:54:55 +02:00
orbitcowboy fc49099793 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 14:51:11 +02:00
orbitcowboy b3d4e14a39 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 14:47:32 +02:00
orbitcowboy 3d08b7fe98 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 14:43:02 +02:00
orbitcowboy bb7c8eebbc wxwidgets.cfg: Added support for more interfaces. 2019-07-30 09:44:33 +02:00
orbitcowboy 4fdbc6d172 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 09:39:52 +02:00
orbitcowboy f340d30d42 wxwidgets.cfg: Added support for more interfaces. 2019-07-30 09:32:20 +02:00