Commit Graph

1585 Commits

Author SHA1 Message Date
amai2012 2915376c4f Remove attribute use-retval from std::rotate 2019-07-19 20:33:15 +02:00
Sebastian f50cd2330c
std.cfg: Add some more std::<container>::swap() functions (#2018) 2019-07-19 10:00:14 +02:00
Sebastian 9c8c539549
qt.cfg: Add some functions of class QXmlStreamAttributes (#2016)
This class is also used by the Cppcheck GUI.
2019-07-18 12:38:42 +02:00
Sebastian 512c1b12c6
qt.cfg: Add some functions of class QXmlStreamWriter (#2010)
This class is also used by the Cppcheck GUI.
2019-07-18 06:30:53 +02:00
Sebastian a997a30824
cppcheck-lib.cfg: Enhance Cppcheck library configuration (#2009) 2019-07-17 20:05:13 +02:00
Daniel Marjamäki 7b48fb6b32 Revert "cfg: Add python macros to fix daca crashes"
This reverts commit 760586dd0a.
2019-07-16 16:52:48 +02:00
orbitcowboy d17ab72e3c wxwidgets.cfg: Added support for wxGrid::XYToCell(). 2019-07-16 16:49:42 +02:00
versat ab227cbf6e sqlite3.cfg: Add more functions reported as missing by daca@home 2019-07-16 16:21:05 +02:00
versat 8e00f4ddfb sqlite3.cfg: Add some functions reported as missing by daca@home 2019-07-16 14:59:33 +02:00
Sebastian 820ffdeee8
gtk.cfg: Add some macros and functions reported as missing by daca@home (#2005) 2019-07-16 13:42:01 +02:00
orbitcowboy 2ae5ac7dc2 windows.cfg: Removed TEXT()-macro since it is handled internally. 2019-07-16 13:40:41 +02:00
Daniel Marjamäki 760586dd0a cfg: Add python macros to fix daca crashes 2019-07-16 13:30:59 +02:00
orbitcowboy 1f7fdb229a windows.cfg: Added support for GetFullPathName(). Reference: https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfullpathnamea 2019-07-16 13:23:39 +02:00
orbitcowboy f2e70f9236 wxwidgets.cfg: Added support for wxFile::ReadAll(). 2019-07-16 13:14:20 +02:00
orbitcowboy 29983aac0c windows.cfg: Added support for more platform types and some macros defined in winnt.h 2019-07-16 13:10:04 +02:00
Rikard Falkeborn e19068504d Configure xrealloc and adjust gnu memory functions (#2003)
Remove <noreturn> tag, since the functions do not return unless there
was no error.
2019-07-16 08:12:21 +02:00
amai2012 63fa4afa7a GetModuleFileName might be useful w/o return code 2019-07-16 06:07:31 +02:00
Rikard Falkeborn dcc375ca64 Update gtk memory functions (#2000)
* Improve configuration of g_try_realloc and g_try_realloc_n
* Mark g_realloc and similar functions as realloc functions
* Remove g_new, g_new0, etc as <alloc> functions, these are defined as
  macros and handled as the functions they're expanded to.
* Add tests. TODO tests will be resolved by using the library
  configuration in the checker.
2019-07-15 14:51:58 +02:00
Sebastian b242817565
qt.cfg: Add functions of class QMap (#1985)
Reference:
https://doc.qt.io/qt-5/qmap.html
2019-07-12 18:06:05 +02:00
versat f47fc84825 opengl.cfg: Add glColor* functions 2019-07-12 14:34:15 +02:00
versat aaecd300de gtk.cfg: Add some gtk_widget_* functions
Found by daca@home (checkLibraryNoReturn)
2019-07-12 13:58:39 +02:00
versat f7e1a12c6f gtk.cfg: Fix g_object_new configuration, argument 2 can be NULL
It is valid to use NULL as second argument and thus do not specify any
properties for this object.
2019-07-12 12:37:02 +02:00
versat 2f1d828b0c gtk.cfg: Add more g_object_* functions
Found by daca@home
2019-07-12 12:10:45 +02:00
Daniel Marjamäki 68cc7516a1 Annotations: Add annotation __cppcheck_in_range__(low,high) 2019-07-12 11:09:54 +02:00
versat d223d73cdb opengl.cfg: Add glTexCoord* functions 2019-07-12 09:42:40 +02:00
orbitcowboy d81aa4caf8 windows.cfg: Added support for GetModuleFileName(). 2019-07-12 09:11:31 +02:00
versat a67abb5fa2 opengl.cfg: Add glNormal3* functions
Found by daca@home
2019-07-12 08:44:23 +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
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
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
Daniel Marjamäki 05d35b063d Function return: Extra check of safe function return values 2019-07-10 20:00:21 +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
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 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
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
Sebastian a9a70f25ad
sqlite3.cfg: Add more function configurations (#1957)
Some were found missing by daca@home
2019-07-05 15:45:21 +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 9765a2dfab. 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
orbitcowboy afce191db1 wxwidgets.cfg: Simplified macro 2019-07-05 11:06:29 +02:00
orbitcowboy df16e69725 wxwidgets.cfg: Added support for more macros from wx/event.h 2019-07-05 11:03:41 +02:00
orbitcowboy 6588c90b26 wxwidgets.cfg: Added support for more macros from wx/event.h 2019-07-05 11:00:59 +02:00
orbitcowboy 26038244a3 wxwidgets.cfg: Added support for more macros from wx/event.h 2019-07-05 10:54:46 +02:00
Sebastian c45dff1e1d
openmp.cfg: Add library configuration for OpenMP (#1956)
See https://www.openmp.org/
2019-07-05 03:00:52 +02:00
Rikard Falkeborn 60a213e6a5 Fix #9047 (c-style casts before malloc) (#1930)
* Fix #9047 (c-style casts before malloc)

Note that there are still no warnings for c++-style casts

* Fix memleak check with casts of assignments in if-statements

* Fix possible null pointer dereference

As pointed out by cppcheck.

* Add check of astOperand2 when removing casts

This is similar to how it is done in other checks.
2019-07-03 08:39:44 +02:00
Sebastian 6ba3b2703a
posix.cfg: Add setsockopt() and getsockopt() (#1944)
Found by daca@home
2019-07-02 15:14:31 +02:00
Rikard Falkeborn b530b3dfff Remove <noreturn> from g_malloc and friends (#1942)
From the Gnome Developer documentation
(https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html):

    If any call to allocate memory using functions g_new(), g_new0(),
    g_renew(), g_malloc(), g_malloc0(), g_malloc0_n(), g_realloc(), and
    g_realloc_n() fails, the application is terminated. This also means
    that there is no need to check if the call succeeded. On the other
    hand, g_try_...() family of functions returns NULL on failure that
    can be used as a check for unsuccessful memory allocation. The
    application is not terminated in this case.

g_new(), g_new0() and g_renew() are defines using g_malloc(),
g_malloc0() and g_realloc() respectively, so there is no need to change
those.
2019-07-02 11:51:28 +02:00
orbitcowboy cca1a6aa2e wxwidgets.cfg: Added support for more interfaces. 2019-07-02 08:48:32 +02:00
orbitcowboy 78bf217354 windows.cfg: Added support for more contants. Reference: https://docs.microsoft.com/de-de/windows/win32/api/minwinbase/ns-minwinbase-debug_event 2019-07-02 08:43:10 +02:00
orbitcowboy 399da228da windows.cfg: Added support for more constants. 2019-07-01 17:17:59 +02:00
Sebastian 389df97352
gtk.cfg: Add/improve g_ascii_*() functions (#1927)
* gtk.cfg: Add/improve g_ascii_*() functions

Found via daca@home

* gtk.cfg: Add `<const/>` where applicable (forgotten in last commit)

* gtk.cfg: Add `<valid>0:255</valid>` for `gchar` ASCII value arguments
2019-06-30 21:16:45 +02:00
orbitcowboy b07cc09fa9 wxwidgets.cfg: Added support for more interfaces. 2019-06-30 14:20:54 +02:00
Daniel Marjamäki c2144d73b3 windows.cfg: SetClipboardData takes the data so the configuration should not say <leak-ignore>/ (https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setclipboarddata) 2019-06-28 17:30:05 +02:00
Sebastian d745dcc0eb
gtk.cfg: Add g_error_*() functions (#1922) 2019-06-25 19:19:10 +02:00
Sebastian a437a22460
windows.cfg: Add GetDlgItem() (#1921)
Reference:
https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getdlgitem
2019-06-25 15:31:42 +02:00
orbitcowboy bb802c0c63 windows.cfg: Added support for constants from 'RpcDce.h: Impersonation Level Constants'. 2019-06-20 15:40:39 +02:00
orbitcowboy 3b3e7fd382 windows.cfg: Added support for _itoa_s()-functions. 2019-06-20 15:25:05 +02:00
orbitcowboy 952a4becf6 std.cfg: Added return type to itoa(). 2019-06-20 15:24:35 +02:00
Sebastian 1a4854d93d
windows.cfg: Add macros STDMETHODIMP[_] and STDMETHODCALLTYPE (#1908) 2019-06-20 00:44:43 +02:00
orbitcowboy a5185c7005 wxwidgets.cfg: Added support form ore interfaces. 2019-06-19 15:33:28 +02:00
orbitcowboy fa20c1671b wxwidgets.cfg: Added support for wxButton::Bind(). 2019-06-19 14:58:54 +02:00
orbitcowboy 067a70ec03 wxwidgets.cfg: Restrict input parameters. No negative status bar field is allowed. 2019-06-19 13:40:39 +02:00
orbitcowboy aecd4ed765 wxwidgets.cfg: Added support for more interfaces. 2019-06-19 13:25:20 +02:00
orbitcowboy e8703036c3 wxwidgets.cfg: Added support for more interfaces. 2019-06-19 13:14:52 +02:00
orbitcowboy 46745e2054 nspr.cfg: Added documentation. 2019-06-16 13:34:00 +02:00
orbitcowboy 9d34ff6fb9 nspr.cfg: Added (limited) support for some macros from Netscape Portable Runtime (NSPR) library. Reference: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR 2019-06-16 13:32:03 +02:00
orbitcowboy 4939e0c308 wxwidgets.cfg: Added support for more interfaces. 2019-06-10 21:11:28 +02:00
orbitcowboy 87e7b57170 wxwidgets.cfg: Added support for more interfaces. 2019-06-10 12:06:06 +02:00
orbitcowboy 2caea15056 wxwidgets.cfg: Added support for more interfaces. 2019-06-09 14:44:06 +02:00
orbitcowboy 1e53cf0397 std.cfg: Added support for std::stringstream::str() 2019-06-07 21:07:22 +02:00
orbitcowboy 92d8b9d68f std.cfg: Added support for std::ofstream::write(). 2019-06-07 21:02:16 +02:00
orbitcowboy 89d4cefa96 std.cfg: Added support for std::distance() and std::set::count(). 2019-06-07 20:57:26 +02:00
orbitcowboy a6e681f71e std.cfg: Added support for std::rotate() and std::rotate_copy(). 2019-06-06 15:04:00 +02:00
orbitcowboy 2b816d09fb std.cfg: Added support for std::min_element() and std::max_element(). 2019-06-06 14:55:37 +02:00
orbitcowboy 9a163e59bf std.cfg: Added support for std::ostream::put() and std::stringstream::put(). 2019-06-06 14:45:51 +02:00
orbitcowboy 080ba9004c std.cfg: Attempt to add (partial) support for std::istringstream::get. 2019-06-05 13:54:38 +02:00
orbitcowboy 0b726d5738 std.cfg: Attempt to add (partial) support for std::istream::get(). 2019-06-05 13:53:01 +02:00
orbitcowboy de15a3de5f windows.cfg: Added support for more constants from <winnt.h>. 2019-06-05 10:42:48 +02:00
orbitcowboy c8850cc132 windows.cfg: Simplified some constants. There are no functional chnanges intended. 2019-06-05 10:15:10 +02:00
orbitcowboy c73d3930cc std.cfg: Added support for more interfaces. 2019-06-04 17:01:30 +02:00
orbitcowboy da3dc168cd std.cfg: Added support for more interfaces. 2019-06-04 16:44:14 +02:00
orbitcowboy 613defbf39 std.cfg: Added support for std::ostream::write() and std::fstream::write(). 2019-06-04 09:02:25 +02:00
orbitcowboy b2fbea3406 wxwidgets.cfg: Added support for more constants from <wx/defs.h> 2019-06-03 21:20:26 +02:00
orbitcowboy f8b79e5187 wxwidgets.cfg: Added support for more event table macros. 2019-06-03 20:58:16 +02:00
orbitcowboy e2878783c5 wxwidgets.cfg: Added support for constants from <wx/dir.h> 2019-06-03 16:43:46 +02:00
orbitcowboy 08b2669a4c wxwidgets.cfg: Added support for more interfaces. 2019-06-03 13:23:34 +02:00
orbitcowboy a44ea9f2ed windows.cfg: Added support for more interfaces. 2019-06-02 13:44:30 +02:00
orbitcowboy 9a41b51a04 gnu.cfg: Added support for isascii_l(), which is a GNU-extension. 2019-05-31 11:24:41 +02:00
orbitcowboy 608ea2f250 posix.cfg: Cleanup not required arg. 2019-05-31 11:24:04 +02:00
orbitcowboy 76738692f2 posix.cfg: Added support for isascii(). 2019-05-31 11:21:50 +02:00
orbitcowboy c13e17ed71 Revert "posix.cfg: Added support for more interfaces."
This reverts commit e596bd63f8.
2019-05-31 11:18:11 +02:00
orbitcowboy e596bd63f8 posix.cfg: Added support for more interfaces. 2019-05-31 11:15:43 +02:00
orbitcowboy ec2278c717 posix.cfg: Added support for more interfaces. 2019-05-31 11:06:25 +02:00
orbitcowboy e0b1eee4af wxwidgets.cfg: Added support for more interfaces. 2019-05-31 10:37:36 +02:00
orbitcowboy a27c88f99b wxwidgets.cfg: Added support for more interfaces. 2019-05-30 17:27:57 +02:00
orbitcowboy 221e96e473 wxwidgets.cfg: Added support for more interfaces. 2019-05-30 17:14:33 +02:00
orbitcowboy 368fa4f54f wxwidgets.cfg: Added support for more interfaces. 2019-05-30 14:57:43 +02:00
orbitcowboy 67c2d90887 wxwidgets.cfg: Added support for more interfaces. 2019-05-30 14:46:42 +02:00
orbitcowboy 16e36d66f9 wxwidgets.cfg: Added support for more interfaces. 2019-05-30 14:41:42 +02:00
orbitcowboy 774556dc10 wxwidgets.cfg: Added support for wxStaticBitmap::SetBackgroundColour(). 2019-05-28 10:52:46 +02:00
orbitcowboy 0b903d12fc wxwidgets.cfg: Added support for more interfaces. 2019-05-28 10:46:34 +02:00
orbitcowboy 6a6e42f3eb wxwidgets.cfg: Added support for more interfaces. 2019-05-28 10:38:32 +02:00
orbitcowboy 197cade317 wxwidgets.cfg: Added (partial) support for wxString::append(). 2019-05-28 09:03:16 +02:00
orbitcowboy cf89f40e32 wxwidgets.cfg: Added support for more interfaces. 2019-05-28 08:58:26 +02:00
orbitcowboy 66e8ec90de wxwidgets.cfg: Added support for wxWindow::ClientToScreen(). 2019-05-28 08:50:38 +02:00
orbitcowboy 02d307a231 posix.cfg: Added partial support for scandir() and a TODO comment. 2019-05-25 23:32:28 +02:00
orbitcowboy 8f2a84ec6c posix.cfg: Added support for telldir(). 2019-05-25 22:49:01 +02:00
orbitcowboy e9aaa5edfa posix.cfg: Added support for more interfaces. 2019-05-22 09:33:44 +02:00
orbitcowboy fbf98b421a posix.cfg: Removed invalid argument checks from functions that accept 'AT_FDCWD', which set to -100 on some systems. 2019-05-21 21:09:16 +02:00
orbitcowboy ed2aa52bbf posix.cfg: Fixed duplicate name 'fstat' -> 'fstatat'. 2019-05-21 16:25:53 +02:00
orbitcowboy 8c0e4a2fc7 posix.cfg: Removed the validation range option from the first parameter of fstatat(). Reference: https://pubs.opengroup.org/onlinepubs/9699919799/functions/fstatat.html 2019-05-21 16:23:41 +02:00
orbitcowboy e63b3a44d8 posix.cfg: Added support for fstatat(). 2019-05-21 15:21:48 +02:00
orbitcowboy 03b4447350 posix.cfg: Added support for flockfile(), funlockfile() and trylockfile(). 2019-05-18 11:29:30 +02:00
orbitcowboy 570969be08 posix.cfg: Added support for lockf(). 2019-05-18 11:07:43 +02:00
orbitcowboy e85e722fb4 posix.cfg: Added support for fchownat(). 2019-05-18 10:59:40 +02:00
orbitcowboy 62c4199bcd posix.cfg: Added support for fchmodat(). 2019-05-18 10:54:17 +02:00
orbitcowboy c0c9f33323 posix.cfg: Added support for mkdirat(). 2019-05-18 10:46:17 +02:00
orbitcowboy d0606844b7 posix.cfg: Added support for umask(). 2019-05-17 15:52:27 +02:00
Daniel Marjamäki e80181d35a astyle formatting
[ci skip]
2019-05-17 09:32:14 +02:00
orbitcowboy 0469111750 gnu.cfg: Improved configuration for mkostemp(), mkstemps() and mkostemps(). 2019-05-16 16:02:05 +02:00
orbitcowboy 719eb25ba9 posix.cfg: Improved configuration for 'mkstemp()' and added test cases to ensure resource leaks are caught. 2019-05-16 15:53:22 +02:00
orbitcowboy fd416eadce wxwidgets.cfg: Added support for more interfaces. 2019-05-13 16:51:34 +02:00
orbitcowboy 9567076845 wxwidgets.cfg: Added support for more interfaces. 2019-05-10 08:54:58 +02:00
Sebastian aa837075a5 wxwidgets.cfg: Add smart pointers from wxWidgets (#1828) 2019-05-09 20:04:39 +02:00
orbitcowboy 6b2db79af9 wxwidgets.cfg: Added support for more interfaces. 2019-05-09 15:31:49 +02:00
orbitcowboy 03d7c82019 wxwidgets.cfg: Added support for more interfaces. 2019-05-05 14:37:26 +02:00
orbitcowboy 961f5c173b wxwidgets.cfg: Added support for more interfaces. 2019-05-05 14:28:22 +02:00
orbitcowboy d0d671761a wxwidgets.cfg: Added support for more interfaces. 2019-05-04 17:46:17 +02:00
orbitcowboy a439b5dcc6 wxwidgets.cfg: Added support for wxArtProvider::GetBitmap() 2019-05-03 23:39:16 +02:00
orbitcowboy de830d90c8 wxwidgets.cfg: Added support for wxMenuItem::SetBitmap() 2019-05-03 23:35:41 +02:00
orbitcowboy 49d1383ff4 wxwidgets.cfg: Added support for wxString::CmpNoCase() 2019-05-03 23:31:15 +02:00
orbitcowboy 456f1c60c4 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 23:29:21 +02:00
orbitcowboy 92be62a6eb gnu.cfg: Ensure the return value of pipe2() is taken into account. 2019-05-03 22:15:46 +02:00
orbitcowboy cda25d7205 posix.cfg: Ensure the return value of pipe() is taken into account. 2019-05-03 22:15:30 +02:00
orbitcowboy 90c6ea53ef posix.cfg: Added support for socketpair(). 2019-05-03 20:52:10 +02:00
Sebastian 96a7c19b91
qt.cfg: Add smart pointers from Qt (#1819) 2019-05-03 13:21:49 +02:00
orbitcowboy bf358408d9 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:57:24 +02:00
orbitcowboy deedd7493c wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:54:24 +02:00
orbitcowboy 6a281b90b4 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:40:49 +02:00
orbitcowboy 8b157a7b9c wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:31:57 +02:00
orbitcowboy 93e963bac5 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 11:28:30 +02:00
orbitcowboy 1c896fc7f7 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 10:10:58 +02:00
orbitcowboy 0a3fdd3981 wxwidgets.cfg: Added support for more interfaces. 2019-05-03 10:03:06 +02:00
orbitcowboy 2635e7d073 wxwidgets.cfg: Added support for more interfaces. 2019-05-02 16:20:37 +02:00
orbitcowboy 9bd007520b wxwidgets.cfg: Added support for wxStandardPaths::MSWGetShellDir(). 2019-05-02 11:34:15 +02:00
orbitcowboy b81390c098 wxwidgets.cfg: Added support for wxCONCAT(), wxSTRINGIZE_T() and wxSTRINGSIZE() macros. 2019-05-02 11:30:30 +02:00
Paul Fultz II 091f4bcf8d Add check for unnecessary search before insertion
This will warn for cases where searching in an associative container happens before insertion, like this:

```cpp
void f1(std::set<unsigned>& s, unsigned x) {
    if (s.find(x) == s.end()) {
        s.insert(x);
    }
}

void f2(std::map<unsigned, unsigned>& m, unsigned x) {
    if (m.find(x) == m.end()) {
        m.emplace(x, 1);
    } else {
        m[x] = 1;
    }
}
```

In the case of the map it could be written as `m[x] = 1` as it will create the key if it doesnt exist, so the extra search is not necessary.

I have this marked as `performance` as it is mostly concerning performance, but there could be a copy-paste error possibly, although I dont think thats common.
2019-05-02 11:04:23 +02:00
orbitcowboy 76cc8ccde2 posix.cfg: Added directions for some interfaces. 2019-05-01 19:57:10 +02:00