20553 Commits

Author SHA1 Message Date
Daniel Marjamäki
68a48daf1f Fix Cppcheck warning 2019-07-12 08:27:10 +02:00
IOBYTE
74e3114a64 Fix #9097 (Crash on thousands of "else ifs"s in gcc-avr package) (#1982)
* Fix #9097 (Crash on thousands of "else ifs"s in gcc-avr package)

* increase recursion count maximum to 512 because cppcheck was hitting the 256 limit

* 512 was too much for windows
2019-07-12 07:56:05 +02:00
Daniel Marjamäki
4a70208e0e GUI: Activate 'human knowledge' options 2019-07-11 21:05:52 +02:00
versat
d4d9bb4830 qt.cfg: Add some global Qt functions
Found by daca@home
2019-07-11 16:20:22 +02:00
Daniel Marjamäki
783f7f1648 Rename safeValues to unknownValues 2019-07-11 16:05:48 +02:00
versat
30f49b2fbd qt.cfg: Add functions of classes QTest and QHash
References:
https://doc.qt.io/qt-5/qtest.html
https://doc.qt.io/qt-5/qhash.html

Most of the functions were found missing by daca@home.
2019-07-11 15:32:48 +02:00
versat
d880830efc qt.cfg: Add functions of QPainter class
Reference:
https://doc.qt.io/qt-5/qpainter.html

Most of the function configurations were found missing by daca@home
2019-07-11 14:53:38 +02:00
Daniel Marjamäki
8eaa50c050 GUI: Tweak the 'Human knowledge' tab 2019-07-11 14:00:46 +02:00
Sebastian
f239d4675b
gtk.cfg: Add g_object_set() (#1981)
Reference:
https://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-set
2019-07-11 13:13:08 +02:00
Daniel Marjamäki
e0f258db0c GUI: Start adding some 'human knowledge' configuration options 2019-07-11 10:27:18 +02:00
Sebastian
a4bcb7e0fb
qt.cfg: Add functions of class QDate (#1979)
Reference:
https://doc.qt.io/qt-5/qdate.html

Found by daca@home
2019-07-11 09:47:33 +02:00
Sebastian
e49b098a86
std.cfg: Add mem_fn() (#1976)
std.cfg: Add mem_fn()

Reference:
https://en.cppreference.com/w/cpp/utility/functional/mem_fn
2019-07-11 08:26:24 +02:00
IOBYTE
9700490e51 fix lib/checkclass.cpp:51:12: warning: enumeration value ‘eLambda’ not handled in switch [-Wswitch] (#1978) 2019-07-11 08:25:25 +02:00
Daniel Marjamäki
a9d61c4ddd Fix Cppcheck warning 2019-07-10 22:08:27 +02:00
Daniel Marjamäki
5f217021ab Another attempt to fix appveyor 2019-07-10 21:30:50 +02:00
Daniel Marjamäki
45844ef962 Try to fix appveyor. Replace int64_t with MathLib::bigint. 2019-07-10 21:26:20 +02:00
Daniel Marjamäki
05d35b063d Function return: Extra check of safe function return values 2019-07-10 20:00:21 +02:00
Daniel Marjamäki
c9906125de Safe functions: Check more possible function argument values 2019-07-10 16:59:05 +02:00
Daniel Marjamäki
9f548efbd3 Refactoring: enum class 2019-07-10 15:27:07 +02:00
Daniel Marjamäki
95d65c8c34 Refactoring; enum class 2019-07-10 14:05:16 +02:00
Sebastian
1cb90f925e
gtk.cfg: Add gtk_box_new(), gtk_hbox_new() and gtk_vbox_new() (#1975)
References:
https://developer.gnome.org/gtk3/stable/GtkBox.html#gtk-box-new
https://developer.gnome.org/gtk3/stable/GtkHBox.html#gtk-hbox-new
https://developer.gnome.org/gtk3/stable/GtkVBox.html#gtk-vbox-new

Found by daca@home
2019-07-10 11:28:54 +02:00
Rikard Falkeborn
a1a14b8465 Fix FP with cast pointer to free() (#1961)
This fixes false positives when the pointer passed to free() (or similar
deallocation functions) is cast using a c-style cast.
2019-07-10 09:13:59 +02:00
IOBYTE
7ac22677b8 regression test for daca codeblocks crash (#1974) 2019-07-10 07:16:16 +02:00
Daniel Marjamäki
58076bc672 SymbolDatabase: Better handling of smart pointers 2019-07-09 17:32:19 +02:00
IOBYTE
a05dfc9150 fix daca codeblocks crash (#1968)
* fix daca codeblocks crash

* fix the cause of the missing scope
2019-07-09 16:04:22 +02:00
Sebastian
9b1066f0bc donate-cpu.py: Enable sqlite3 library for local includes. (#1973)
Many projects use a local copy of the sqlite3 library and several of
them use local includes.
2019-07-09 15:59:00 +02:00
Daniel Marjamäki
29f5f59242 Revert "Revert "Add MISRA 18.4 check (#1966)""
This reverts commit 9b674fa3062927608728ac1ee405eb5788c94a2f.
2019-07-09 15:57:12 +02:00
Georgy Komarov
4eb362352d Fixup MISRA 5.1 (#1969) 2019-07-09 15:53:23 +02:00
Sebastian
b2c747cff6
qt.cfg: Add "addWidget()" for classes Q(V|H|)BoxLayout and QGridLayout. (#1972)
Found by daca@home
2019-07-09 12:38:41 +02:00
Daniel Marjamäki
b68f50ea25 appveyor: check that cmake builds work also. run test/cli tests. 2019-07-09 07:46:53 +02:00
Daniel Marjamäki
862c4ef87b Symboldatabase: Fix possible null pointer dereference if smart pointer type does not have a scope 2019-07-08 17:43:45 +02:00
Daniel Marjamäki
9b674fa306 Revert "Add MISRA 18.4 check (#1966)"
This reverts commit 3ff7ef091829835be19f268310ad5a10a392e7f4.
2019-07-08 08:10:25 +02:00
Daniel Marjamäki
44ba9b5caf cmake: turn off Wconversion and Wsign-promo warnings 2019-07-08 08:09:51 +02:00
Georgy Komarov
3ff7ef0918 Add MISRA 18.4 check (#1966)
* Add MISRA 18.4 check

* Fixup

* Quickfix
2019-07-07 21:54:08 +02:00
Daniel Marjamäki
a0b22410cf SymbolDatabase: Better handling of smart pointers 2019-07-07 21:52:49 +02:00
Daniel Marjamäki
8a63a5d824 Quick hack to fix appveyor builds 2019-07-07 18:35:44 +02:00
IOBYTE
e551057f59 Refactor Tokenizer::simplifyUsing to use continue to reduce indentation (#1967)
* Refactor Tokenizer::simplifyUsing to use continue to reduce indentation

added function findTemplateDeclarationEnd to skip template declarations
to reduce duplicate code

* fix travis build
2019-07-07 18:33:33 +02:00
Sebastian
db43dcd601
posix.cfg: Add <use-retval/> to pthread_mutex_trylock (#1959)
Ignoring the return value of pthread_mutex_trylock is always a bug.
There is no other way to check if the mutex is locked or not after the
call.
2019-07-07 12:57:02 +02:00
IOBYTE
c902c5f688 Fix #9197 (Template name cache: Assertion `tok && tok->str() == ">"' failed.) (#1964) 2019-07-07 10:20:43 +02:00
Paul Fultz II
b0d10273ed Fix issue 3695: Handle class pointers
This switches to use lifetime analysis to check for assigning to non-local variables:

```cpp
class test
{
public:

  void f()
  {
    int x;
    this->ptr = &x;
  }

protected:
  int *ptr;
};
```
2019-07-07 10:16:19 +02:00
fu7mu4
28678e2fbf update readmeja.md (#1965)
* add MATCHCOMPILER=yes flag into readme in Japanese

* remove Donations from readmeja.md

* add cmake instructions in Japanese

* minor improvement in Japanese
2019-07-07 08:08:11 +02:00
IOBYTE
9569fa1374 Partial fix for #9191 (simplifyTypedef: Problem when namespace is used) (#1952)
* Partial fix for #9191 (simplifyTypedef: Problem when namespace is used)

This fixes simplifyUsing which has the same problem as simplifyTypedef.

simplifyUsing was designed to support using namespace but it was never
implemented. The changes are minor to add it.

simplifyTypedef requires much more work to support using namespace.

* reduce scope of variable

* make idx const
2019-07-06 20:22:13 +02:00
PKEuS
ae86536128 Updated to Visual Studio 2019 2019-07-06 12:11:19 +02:00
Paul Fultz II
65af02f0cf Fix crash with lambda capture (#1960) 2019-07-06 10:46:17 +02:00
Rikard Falkeborn
2bd026dd2a Add tests of std.cfg buffer size (#1958)
Includes a testcase for trac ticket #1379 which was fixed in
839fcddd8a1bd21960c8cfc42b5ea16aaea6b395.
2019-07-06 08:55:17 +02:00
Sebastian
a9a70f25ad
sqlite3.cfg: Add more function configurations (#1957)
Some were found missing by daca@home
2019-07-05 15:45:21 +02:00
versat
57d44f1362 astyle formatting
[ci skip]
2019-07-05 14:00:59 +02:00
Rikard Falkeborn
839fcddd8a Fix #6115 (Add support to realloc to cfg files) (#1953)
* Allow to configure realloc like functions

* memleakonrealloc: Bring back tests.

The old memleak checker was removed, and the tests for it was removed in
commit 9765a2dfab4f59102507fe759ef2184b5ed41c9f. This also removed the
tests for memleakOnRealloc. Bring back those tests, somewhat modified
since the checker no longer checks for memory leaks.

* Add realloc to mem leak check

* Add tests of realloc buffer size

* Configure realloc functions

* Add test of freopen

* Allow to configure which element is realloc argument

* Fix wrong close in test

cppcheck now warns for this

* Update manual

* Update docs

* Rename alloc/dalloc/realloc functions

Naming the member function realloc caused problems on appveyor. Rename
the alloc and dealloc functions as well for consistency.

* Change comparisson order

* Remove variable and use function call directly

* Create temporary variable to simplify

* Throw mismatchError on mismatching allocation/reallocation

* Refactor to separate function

* Fix potential nullptr dereference

As pointed out by cppcheck.
2019-07-05 12:44:52 +02:00
Paul Fultz II
e0ced1c415 Parse lambdas as functions (#1955)
* Parse lambdas as functions

* Fix issue with missing paren

* Fix error when parsing non-existent args

* Remove unused function variable
2019-07-05 12:30:42 +02:00
Rikard Falkeborn
2a17e624d9 Overlapping sprintf, improve handling of casts (#1945)
* Overlapping sprintf, improve handling of casts

If there is a cast of the argument buffer, cppcheck would print out the
expression including the cast, which looks a bit strange to talk about

    Variable (char*)buf is used as...

Instead, only print the variable name without the cast.

Also, handle arbitrary many casts (the previous code only handled one).
Multiple casts of the input arguments is probably an unusual case in
real code, but can perhaps occur if macros are used.

* Fix printing of variable

... and add a test.

* Simplify testcase
2019-07-05 12:27:39 +02:00