Commit Graph

1791 Commits

Author SHA1 Message Date
orbitcowboy 39bbe03974 wxwidgets.cfg: Added support for wxImage::AddHandler(). 2019-07-24 11:24:36 +02:00
orbitcowboy c2cf7b3f03 wxwidgets.cfg: Added support for members of wxLayoutAlgorithm-class. 2019-07-24 11:09:54 +02:00
orbitcowboy 3c1041a091 wxwidgets.cfg: Added support for wxDC::DrawEllipticArc(). 2019-07-24 11:00:55 +02:00
orbitcowboy b912c56fa0 wxwidgets.cfg: Added support for wxDC::DrawSpline(). 2019-07-24 10:54:19 +02:00
Sebastian 3e5f07b3fb
qt.cfg: Add/enhance functions of class QString (#2027)
Some were reported missing by daca@home.
2019-07-23 19:55:55 +02:00
Sebastian 4986b02566
qt.cfg: Add functions of class QRegExp (#2017)
This class is also used by the Cppcheck GUI.
Reference: https://doc.qt.io/qt-5/qregexp.html
2019-07-22 12:53:58 +02:00
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
orbitcowboy 953895278b posix.cfg: Improved configuration fo fileno(). 2019-05-01 13:58:54 +02:00
orbitcowboy d36fcbd945 posix.cfg: Added support for dirfd(). 2019-05-01 13:54:23 +02:00
orbitcowboy c8dce14303 wxwidgets.cfg: Added support for more interfaces. 2019-04-27 18:36:48 +02:00
amai2012 b5ee9d97ef Move some signal constants from posix.cfg to std.cfg. Add some more interfaces to posix.cfg 2019-04-26 19:26:04 +02:00
orbitcowboy d724f86e01 gnu.cfg: Added support for tee(). Reference: http://man7.org/linux/man-pages/man2/tee.2.html 2019-04-26 17:55:47 +02:00
orbitcowboy 3ca2db062c wxwidgets.cfg: Added support for wxRect::Contains(). 2019-04-26 17:46:09 +02:00
orbitcowboy 322ef3ebb3 wxwidgets.cfg: Fixed wrong function name. 2019-04-26 17:43:19 +02:00
orbitcowboy 754e5f6529 wxwidgets.cfg: Added support for more interfaces. 2019-04-26 17:41:08 +02:00
orbitcowboy 7d0bb0dc29 posix.cfg: Improved validation of file descriptors. 2019-04-26 16:58:21 +02:00
orbitcowboy 2dd42b867f gnu.cfg: Added support for dup3(). Reference: http://man7.org/linux/man-pages/man2/dup2.2.html 2019-04-26 16:57:43 +02:00
orbitcowboy 2d7323c65f posix.cfg: Added support for sendfile(). 2019-04-26 16:47:49 +02:00
orbitcowboy c693e8969d gnu.cfg: Added support for more interfaces. 2019-04-26 16:39:04 +02:00
Sebastian 53357f2f31
boost.cfg: Add configuration for Boosts smart pointers (#1811) 2019-04-26 12:41:44 +02:00
orbitcowboy bc7e835524 posix.cfg: Added support for ttyname_r(). 2019-04-26 10:24:10 +02:00
orbitcowboy 6d681a0959 posix.cfg: Issue a warning in case a function accepting a file descriptor is called with a negative value. 2019-04-26 10:16:29 +02:00
orbitcowboy f288e18c2c posix.cfg: Added support for more interfaces. 2019-04-26 09:48:38 +02:00
orbitcowboy 254cdd3b19 windows.cfg: Issue a warning in case _close() is called with a negative file descriptor. 2019-04-26 09:26:25 +02:00
orbitcowboy c0b533c452 gnu.cfg: Warn for socket/file-descriptors having negatives values. 2019-04-25 17:07:44 +02:00
orbitcowboy c4fb56e550 posix.cfg: Warn for socket/file-descriptors having negatives values. 2019-04-25 17:04:30 +02:00
orbitcowboy 4a91b7ec77 Merge branch 'master' of https://github.com/danmar/cppcheck 2019-04-25 16:58:47 +02:00
orbitcowboy df49b56a6f posix.cfg: Added support for openat(). Reference: http://man7.org/linux/man-pages/man2/openat.2.html 2019-04-25 16:56:22 +02:00
amai2012 9692c3dde7 Add macros from signal.h 2019-04-25 12:17:26 +02:00
Daniel Marjamäki 87a3d2caa1 std.cfg: Add auto_ptr and weak_ptr configs 2019-04-24 14:21:26 +02:00
Daniel Marjamäki 2513c1499b Library: Added <smart-pointer> element 2019-04-24 13:06:58 +02:00
orbitcowboy 751902da86 posix.cfg: Added more 'direction'-attributes. 2019-04-21 12:34:44 +02:00
orbitcowboy 45a3f679b4 posix.cfg: Improved configuration for close(). Issue a warning in case close is called with a file pointer having a negative value. 2019-04-21 12:28:17 +02:00
amai2012 2788d9f7d2 Correct two recently added macros 2019-04-19 15:43:17 +02:00
amai2012 cfe11acf82 Supply BE() and ASSERT() macros 2019-04-19 12:10:42 +02:00
versat 206488c0ea gtk.cfg: Add some g_list_*() function / macro configurations.
Found missing by daca@home.
2019-04-18 10:49:02 +02:00
versat 5579ea3338 motif.cfg: Add configuration for XFree() 2019-04-16 11:22:08 +02:00
orbitcowboy 2105247934 wxwidgets.cfg: Added support for wxPropertyGridManager::Enable(). 2019-04-12 13:49:12 +02:00
orbitcowboy a46136de91 wxwidgets.cfg: Added wxPathFormat constants. 2019-04-08 13:27:34 +02:00
orbitcowboy f6136c513a wxwidgets.cfg: Added support for wxFileName::GetPathSeparator(). 2019-04-08 11:47:09 +02:00
orbitcowboy 501cea7e01 wxwidgets.cfg: Fixed wrong configuration for wxString::Mid() 2019-04-05 09:31:48 +02:00
orbitcowboy 1b9b5168d0 daca.cfg: Turned macros into functions to avoid problems with macros like 'MIN(a,b,c)'. 2019-04-05 09:28:15 +02:00
orbitcowboy 45a7038fbb wxwidgets.cfg: Added supprot for more interfaces 2019-04-05 09:27:23 +02:00
orbitcowboy b0168066dc Added daca.cfg. 2019-04-05 09:05:31 +02:00
orbitcowboy 3d765eacaf wxwidgets.cfg: Added support for more interfaces. 2019-04-05 08:44:06 +02:00
orbitcowboy 0590cebaac wxwidgets.cfg: Added support for more interfaces. 2019-04-05 08:27:24 +02:00
versat e0e262ae25 gnu.cfg: Use function configuration for `_()` instead of define.
There can be preprocessor issues if the macro is used slightly different
or preprocessor conditions are used inside the string argument.
So now a function configuration with very few assumptions is used.
It is assumed that the function does return and has one parameter.
The same configuration is added for N_() since it works similar.
2019-04-03 16:02:55 +02:00
orbitcowboy 7ac3bf5fd8 std.cfg: Removed MIN/MAX macros since they cause problems with http://cppcheck.osuosl.org:8000/amap-align 2019-04-03 09:11:48 +02:00
Daniel Marjamäki b88cc7c19d Fix std.cfg 2019-04-01 20:28:31 +02:00
Daniel Marjamäki 761f18c75c Fixed #8988 (False positive: using memset on struct) 2019-04-01 19:32:03 +02:00
versat 974f01ce59 gtk.cfg: Add / improve g_str*() functions and add GTK_SIGNAL_FUNC(). 2019-04-01 16:15:32 +02:00
versat 9d8b965270 gtk.cfg: Add / improve g_string_*() function configurations.
daca@home reported missing configurations for most of them.
2019-04-01 15:33:27 +02:00
versat 5134fefb52 gnu.cfg: Add support for bswap*() macros. 2019-04-01 14:25:59 +02:00
versat 7832d69edf windows.cfg: Add *LANGID() macros. 2019-04-01 13:58:56 +02:00
orbitcowboy ea7cba8bc0 windows.cfg: Added support for GetCommState(). 2019-04-01 13:22:24 +02:00
orbitcowboy 0feb27e9b3 wxwidgets.cfg: Added support for wxPGProperty::SetChoices(). 2019-04-01 13:19:49 +02:00
orbitcowboy 5c5f8e7db3 wxwidgets.cfg: Added support for wxPropertyGridInterface::SetPropertyHelpString(). 2019-04-01 13:15:47 +02:00
orbitcowboy e98ddb6cc5 gnu.cfg: Added support for pipe2(). 2019-03-30 15:50:18 +01:00
orbitcowboy a3b7524c84 posix.cfg: Added minsize attribute to pipe(). 2019-03-30 15:49:52 +01:00
Sebastian 74babafb21
windows.cfg: Add buffer-size attribute to HeapAlloc(). (#1770) 2019-03-30 08:07:44 +01:00
orbitcowboy 51b0ab0e77 wxwidgets.cfg: Removed redundant defines. 2019-03-29 14:42:39 +01:00
orbitcowboy 5c01f3e6eb wxwidgets.cfg: Added support for some defines from <wx/property.h> 2019-03-29 13:41:54 +01:00
orbitcowboy 682069d512 wxwidgets.cfg: Added support for more interfaces. 2019-03-29 10:23:01 +01:00
orbitcowboy 132b679693 wxwidgets.cfg: Added support for more interfaces. 2019-03-29 10:16:17 +01:00
orbitcowboy 2a540215b7 wxwidgets.cfg: Added support for more interfaces. 2019-03-29 10:05:25 +01:00
orbitcowboy eadf33c911 windows.cfg: Added support for GetCommMask(). Reference: https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getcommmask 2019-03-29 09:41:56 +01:00
orbitcowboy a6d40f6323 windows.cfg: Added support for FlushFileBuffers(). Reference: https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-flushfilebuffers 2019-03-29 09:35:36 +01:00
orbitcowboy 0beb78e6ed windows.cfg: Added support for PurgeCom(). Reference: https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-purgecomm 2019-03-29 09:31:06 +01:00
orbitcowboy 7dea4bae89 windows.cfg: Added 'File Attribute Constants' from https://docs.microsoft.com/en-us/windows/desktop/fileio/file-attribute-constants 2019-03-29 09:25:39 +01:00
orbitcowboy dea07b2033 windows.cfg: Added support for SetupComm(). Reference https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-setupcomm 2019-03-29 09:15:58 +01:00
versat 3917a14c99 sqlite3.cfg: Add more allocation and function configurations. 2019-03-28 10:42:11 +01:00
versat b2803f56b4 sqlite3.cfg: Add defines for SQLite constants. 2019-03-28 08:23:32 +01:00
Sebastian 6976d5c6e2
gtk.cfg: Add support for g_new() and similar macros. (#1760)
Also add / improve corresponding function configurations and some tests.
2019-03-26 10:45:06 +01:00
versat c6cf61e704 windows.cfg: Add direction attributes for remaining functions. 2019-03-25 12:44:10 +01:00
orbitcowboy 9bfe7d74c0 windows.cfg: Fixed FP for invalidFunctionArg in second argument of _getcwd(). Reference: https://docs.microsoft.com/en-us/previous-versions/sf98bd4y(v%3Dvs.140) 2019-03-25 09:07:02 +01:00
Sebastian 8efa106d2a
windows.cfg: Add direction attributes; fix and enhance configurations. (#1750) 2019-03-22 19:50:27 +01:00
versat e8d5838424 windows.cfg: Remove buffer-size for HeapAlloc(); travis problems.
There is an internal error somewhere in the tests for the Heap*
functions. Removing the attribute maybe makes travis happy again for
now. The problem should get fixed though.
2019-03-22 16:19:51 +01:00
versat 0d14bdac22 windows.cfg: Add "buffer-size" attributes, fix allocation configuration.
Memory allocated with `_aligned_*malloc*()` must be freed with
`_aligned_free*()`. Using `free()` is illegal.
See
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/aligned-malloc
for details.
Also add tests for some of the changed functions.
2019-03-22 13:11:03 +01:00
versat 7c09b0cfe0 gnu.cfg: Add "buffer-size" attribute and tests for xcalloc(). 2019-03-21 10:44:18 +01:00
versat 316475f79f std.cfg: Add "buffer-size" attribute and tests for aligned_alloc(). 2019-03-21 09:25:42 +01:00
Daniel Marjamäki 55433fce40 Library: added bufferSize parameters 2019-03-20 19:26:57 +01:00
versat 0372c9cde6 gtk.cfg: Add buffer-size attribute to `alloc` entries. 2019-03-20 16:30:28 +01:00
versat e8c2ea5db2 qt.cfg: Add support for QApplication::translate(). 2019-03-20 16:27:15 +01:00
versat 45b1c717ae gtk.cfg: Add support for g_object_(get|set)_data[_full](). 2019-03-20 16:10:18 +01:00
versat b6953a46d7 qt.cfg: Fixes, enhancements and adding argument directions. 2019-03-20 14:33:29 +01:00
Sebastian 432c04281a
Libraries: Move valloc() from std.cfg to posix.cfg. (#1743)
Move valloc() to posix.cfg since it is a legacy POSIX function and not
part of the standard (not even commonly used). It is not available in
msvc (Visual Studio).
2019-03-20 14:10:36 +01:00
Daniel Marjamäki 14528bcf25 Library: allowed values for the buffer-size attribute: malloc/calloc/strdup 2019-03-20 06:46:55 +01:00
versat 9b6b94336c gnu.cfg: Add buffer-size to xmalloc; add some __builtin_*() functions. 2019-03-19 15:24:02 +01:00
versat bb7888e70b gnu.cfg: Add support for pvalloc() and __builtin_alloca(). 2019-03-18 11:44:35 +01:00
versat 992e1293b7 ruby.cfg: Configure rb_raise() as `noreturn` function.
rb_raise() exits the function and returns to the ruby script.
Used for example to exit a function if arguments are not valid.
2019-03-18 10:04:29 +01:00
Sebastian 19e9e42dd7
Library: Enhance minsize configuration and allow simple values. (#1736)
Some POSIX and Windows functions require buffers of at least some
specific size. This is now possible to configure via for example this
minsize configuration: `<minsize type="value" value="26"/>`.
The range for valid buffer size values is 1 to LLONG_MAX
(9223372036854775807)
2019-03-17 14:22:26 +01:00
Daniel Marjamäki 18668a52b9 Library: Added buffer-size attribute for <alloc> 2019-03-17 10:55:15 +01:00
versat 0cb45b1f42 gtk.cfg: Add more macros and some functions used in the macros. 2019-03-15 14:51:45 +01:00
versat 6f7612de03 boost.cfg: Add argument directions; some fixes; rearrange and document.
- Remove redundant function configurations for the same function since
it is not (yet) possible to configure overloaded functions. Instead mark
the optional arguments with `default="0"` so the configuration works
with a different number of arguments.
- Add documentation to boost.cfg (links and function declarations).
- Rearranged configurations so functions, defines, ... are together now.
- Add `direction` for function arguments where applicable.
- Add some tests to boost.cpp.
2019-03-15 11:13:08 +01:00
Sebastian 08d41ab8af
Load std.cfg before all other libraries (#1740)
- CLI: Save the libraries that should be loaded to a list and load them
after the std.cfg has been loaded.
- GUI: Load std.cfg (and windows.cfg / posix.cfg when applicable) before
setting other options and loading the other libraries.
In the project-file-dialog the std.cfg is searched first. If some
other library fails to load is is retried with first loading std.cfg.
- boost.cfg: Enable containers that depend on std containers.
2019-03-15 06:59:37 +01:00
versat 7911684399 Run astyle [ci skip]. 2019-03-14 09:58:55 +01:00
versat 3d02c10fde gnu.cfg: Further fixes, enhancements and adding argument directions. 2019-03-14 09:26:27 +01:00
Sebastian Held e9f25bed3f qt.cfg: add logging macro definition (#1738) 2019-03-14 06:14:51 +01:00
versat d5c5feafb2 gnu.cfg: Fixes, enhancements and adding argument directions. 2019-03-13 16:17:16 +01:00
versat 11ee9c6b90 zlib.cfg: Fixes, enhancements and adding argument directions. 2019-03-13 15:03:11 +01:00
Sebastian 1230357146
Library: Add initial configuration with tests for SQLite3 library. (#1737) 2019-03-13 13:57:40 +01:00
orbitcowboy fd2a0f22a7 wxwidgets.cfg: Added support for more interfaces. 2019-03-13 13:41:54 +01:00
orbitcowboy 5a72d834ac wxwidgets.cfg: Added support for more interfaces. 2019-03-13 11:47:13 +01:00
orbitcowboy d0b2dd0b93 wxwidgets.cfg: Added support for more interfaces. 2019-03-12 16:43:50 +01:00
orbitcowboy 46e8c63897 wxwidgets.cfg: Added support for more interfaces. 2019-03-12 16:40:42 +01:00
orbitcowboy 948ee4668d wxwidgets.cfg: Added support for more interfaces. 2019-03-12 16:17:23 +01:00
versat 0a57b76c79 opengl.cfg: Fix size of 64 bit types. 2019-03-12 16:09:08 +01:00
versat 1b74bca973 posix.cfg: Further fixes/enhancements; adding more argument directions. 2019-03-12 13:35:06 +01:00
versat 12941721d2 posix.cfg: Further fixes/enhancements; adding more argument directions. 2019-03-12 11:41:10 +01:00
orbitcowboy 9047751de0 wxwidgets.cfg: Added support for more interfaces. 2019-03-12 11:39:18 +01:00
orbitcowboy 3b9fb54104 wxwidgets.cfg: Added support for wxPropertyGridManager::ShowHeader(). 2019-03-12 09:23:34 +01:00
versat bb6874e4c1 posix.cfg: sched_*() functions: Enhance and add argument directions. 2019-03-12 09:17:43 +01:00
orbitcowboy 2535979f76 wxwidgets.cfg: Added support for more interfaces. 2019-03-12 08:52:12 +01:00
orbitcowboy 1657439b18 wxwidgets.cfg: Added support for more interfaces. 2019-03-11 16:33:35 +01:00
orbitcowboy 00d90d94fe wxwidgets.cfg: Added support for more interfaces. 2019-03-11 16:04:43 +01:00
orbitcowboy 2814814af3 wxwidgets.cfg: Added support for more interfaces. 2019-03-11 16:00:45 +01:00
orbitcowboy 28ba142714 wxwidgets.cfg: Added support for more interfaces. 2019-03-11 15:55:25 +01:00
versat f21c3b13f1 posix.cfg: Further fixes/enhancements; adding more argument directions 2019-03-11 15:40:53 +01:00
orbitcowboy f449e75214 std.cfg: Added support for std::getline(). 2019-03-11 15:32:15 +01:00
versat 33e3ce232a posix.cfg: Fixes, enhancements and adding more argument directions.
Add `<use-retval/>` to htonl(), htons(), ntohl(), ntohs(), inet_addr()
and inet_ntoa().
Enhance argument configurations of message queue functions (mq_*()).
2019-03-11 14:11:47 +01:00
versat 7b958e788d posix.cfg: Fixes and adding more argument directions.
Fixes: The "length" argument of mmap*() and munmap() calls must be
greater than 0.
2019-03-11 11:20:07 +01:00
orbitcowboy b9d2a1291c wxwidgets.cfg: Added support for more interfaces. 2019-03-10 15:37:35 +01:00
orbitcowboy 2f6a4c3885 wxwidgets.cfg: Added support for more interfaces. 2019-03-10 15:25:25 +01:00
orbitcowboy f0d167c328 wxwidgets.cfg: Added support for more interfaces. 2019-03-10 15:18:01 +01:00
orbitcowboy 620e912bfa wxwidgets.cfg: Added support for more interfaces. 2019-03-10 15:13:45 +01:00
orbitcowboy 7dec499219 wxwidgets.cfg: Added support for more interfaces. 2019-03-10 15:11:10 +01:00
orbitcowboy 8fa4b4b7ee wxwidgets.cfg: Added support for more interfaces. 2019-03-10 14:59:39 +01:00
orbitcowboy 5426a984b3 windows.cfg: Removed TEXT()-macro support since it is already handled internally by Cppcheck. A corresponding comment was added into the configuration file. 2019-03-10 14:09:48 +01:00
orbitcowboy 279aef4456 wxwidgets.cfg: Added support for more interfaces. 2019-03-09 12:21:10 +01:00
orbitcowboy 91394c4a48 wxwidgets.cfg: Added support for more interfaces. 2019-03-09 12:19:34 +01:00
orbitcowboy f0f2d1833d windows.cfg: Added support for TEXT()-macro. Ref.: https://docs.microsoft.com/en-us/windows/desktop/api/winnt/nf-winnt-text 2019-03-09 12:07:12 +01:00
orbitcowboy 17033976f5 wxwidgets.cfg: Added support for more interfaces. 2019-03-08 18:10:38 +01:00
orbitcowboy 8bb7a899bd wxwidgets.cfg: Added support for more interfaces. 2019-03-08 18:06:09 +01:00
orbitcowboy e6a00b4dd5 wxwidgets.cfg: Added support for more interfaces. 2019-03-08 17:57:50 +01:00
orbitcowboy 6aef4a16e6 windows.cfg: Fixed wrong arg number in recv(). 2019-03-08 13:04:39 +01:00
orbitcowboy ecff903b4f wxwidgets.cfg: Added support for more interfaces. 2019-03-07 07:57:21 +01:00
orbitcowboy 7a47230983 wxwidgets.cfg: Added support for more interfaces. 2019-03-07 07:53:43 +01:00
orbitcowboy 63368d41bb wxwidgets.cfg: Added support for more interfaces. 2019-03-07 00:55:10 +01:00
Sebastian 0bab9d778b
std.cfg: Fix wprintf(), add comment to swprintf(). (#1729)
wprintf(): The format string must be initialized. So add `<not-uninit/>`
swprintf(): `<formatstr/>` should not be used because Microsoft uses the
same function with a different order of the arguments. Add comment to
document this in the library configuration also. See ticket
https://trac.cppcheck.net/ticket/4790
2019-03-06 21:13:48 +01:00
Sebastian 1fe1fc7008
gnu.cfg: Add support for non-GNU _(string) macro. (#1726)
As can be read here:
https://www.gnu.org/software/gettext//manual/html_node/Mark-Keywords.html
The _(str) macro is typically defined for a project to abbreviate the
gettext(str) call. Although this is not part of GNU it would enhance the
analysis. Cppcheck often does not know what _() is. In daca@home it is
reported thousands of times as a function without configuration.
2019-03-06 10:57:59 +01:00
versat ecba3db9cc posix.cfg: Start specifying direction for arguments to functions.
There are still many functions with arguments that need a direction
specified.
2019-03-06 10:08:46 +01:00
orbitcowboy b7c40d972b boost.cfg: Fixed typo in macro. 2019-03-05 19:00:13 +01:00
orbitcowboy 2ddba8f352 boost.cfg: Added support for BOOST_LOG_ATTRIBUTE_KEYWORD-macro. 2019-03-05 18:53:34 +01:00
orbitcowboy 8c0ab16863 std.cfg: Added support for more interfaces. 2019-03-05 18:13:42 +01:00
orbitcowboy 49937570b2 wxwidgets.cfg: Added more directions-attributes. 2019-03-05 17:45:29 +01:00
versat df73f7f355 std.cfg, windows.cfg: Move strcpy_s from windows.cfg to std.cfg.
strcpy_s belongs to the standard so it must be in std.cfg instead of
windows.cfg.
Configuration for strcpy_s has been improved and tests were added.
Found by daca@home
2019-03-05 15:33:16 +01:00
versat 0ae24b950f std.cfg: Add support for snprintf_s().
sprintf_s works very similar but it is already configured in the
windows library. Configuring sprintf_s in std.cfg leads to conflicts in
the windows configuration tests.
Found by daca@home
2019-03-05 14:44:33 +01:00
versat ce818631ab std.cfg: Add support for ctime_s(). 2019-03-05 13:57:52 +01:00
Sebastian 9efb720a98
std.cfg: Add missing argument directions as far as possible. (#1725)
I added all argument directions i know or where i was able to find
information without too much effort. When in doubt i looked at the
Microsoft SAL annotations and used similar configurations when this
made sense.
2019-03-05 13:45:41 +01:00
Sebastian 0934577dda
Library configuration: function argument direction fixes and enhancements (#1722)
* std.cfg: Add further argument directions (in, out, inout).

* testlibrary.cpp: Add test for function argument direction configuration.

* std.cfg: runastyle and add some more direction configurations.

* library.h: Add documentation for function argument direction enum.

* Do not use "direction" library information for pointer arguments.

Also fix further unmatched uninitvar messages in std configuration
tests.

* std.cfg: Add more argument direction configurations.

* test/cfg/std.c: Add test for argument direction configuration.

* astutils.cpp: Only ignore pointer arguments for out/inout arguments.

* library.h: Use suggested documentation for argument direction enum.
2019-03-04 22:57:40 +01:00
versat 0498b9ec34 opgengl.cfg: Introduce OpenGL library configuration file.
Prepare donate-cpu.py to detect OpenGL library usage but comment it
out for now.
2019-03-04 14:10:06 +01:00
orbitcowboy a4b127f6a8 wxwidgets.cfg: Added more directions-attributes. 2019-03-04 12:11:18 +01:00
orbitcowboy 782958d814 wxwidgets.cfg: Added more directions-attributes. 2019-03-04 10:53:25 +01:00
orbitcowboy 391ed97717 gtk.cfg: Added support for more macros. 2019-03-04 10:43:21 +01:00
orbitcowboy f723c6b191 wxwidgets.cfg: Added more directions-attributes. 2019-03-04 10:32:35 +01:00
orbitcowboy 794d72d776 wxwidgets.cfg: Added more directions-attributes. 2019-03-04 10:26:37 +01:00
orbitcowboy 9c7eff5b69 wxwidgets.cfg: Added more directions-attributes. 2019-03-03 18:42:17 +01:00
orbitcowboy a9658607d7 qt.cfg: Added support for some QTC_ASSERT()-macros. This fixes a bunch of 'unknownMacros'-warnings from daca@home. 2019-03-03 18:42:02 +01:00
orbitcowboy 8c6f1ca24f wxwidgets.cfg: Started to add 'direction'-attributes. 2019-03-03 18:03:18 +01:00
orbitcowboy 7d266e688c gtk.cfg: Added support for more interfaces. 2019-03-03 17:42:58 +01:00
orbitcowboy f66dde018d gtk.cfg: Added support for GTK_DIALOG-macro. 2019-03-03 17:28:05 +01:00
orbitcowboy 915280beec gtk.cfg: Added support for GTK_LABEL-macro. 2019-03-03 17:25:49 +01:00
orbitcowboy 68f4243c89 gtk.cfg: Added support for GTK_TREE_VIEW-macro. 2019-03-03 17:22:35 +01:00
Sebastian 9a5fcddb5d
Library configuration: Enable configuring the direction of arguments. (#1717)
This enhances the library configuration so the direction of function
arguments can be specified (in, out, inout).
isVariableChangedByFunctionCall() uses this information now to avoid
guessing.
2019-03-01 15:47:08 +01:00
orbitcowboy aa4265978c std.cfg: Added support for std::list::remove(). 2019-03-01 15:10:36 +01:00
orbitcowboy 16e3a0ada6 std.cfg: Added support for std::shuffle() and std::random_shuffle(). 2019-03-01 15:05:10 +01:00
versat 24739dc5f2 gtk.cfg: Add support for g_message() and similar printf like functions.
g_error() is special because it never returns.
2019-03-01 11:20:28 +01:00
orbitcowboy 9348a627e0 std.cfg: Added support for more interfaces. 2019-03-01 09:28:46 +01:00
orbitcowboy 360823203f windows.cfg: Ensure the return value is taken into account for memory (re)-allocation functions. 2019-03-01 08:58:53 +01:00
orbitcowboy 2fad53e4f8 std.cfg: Enusre the return value of realloc()-functions is taken into account. 2019-03-01 08:57:59 +01:00
orbitcowboy 910adb0076 wxwidgets.cfg: Added support for more interfaces. 2019-02-28 23:46:17 +01:00
orbitcowboy fa59cb91cb gnu.cfg: Added <use-retval/> to xrealloc() configuration. 2019-02-28 23:45:51 +01:00
orbitcowboy c0bec7ef69 wxwidgets.cfg: Added support for wxDC::DrawEllipse(). 2019-02-28 23:21:46 +01:00
orbitcowboy f70e01b2b1 std.cfg: Added (experimental) support for MIN/MAX-macros. In case it turnes out this causes unexpected side effects, they can be easily removed. 2019-02-28 23:03:38 +01:00
orbitcowboy b222ff14be gnu.cfg: Added support fo xexit(). 2019-02-28 22:55:17 +01:00
orbitcowboy 80e31755da gnu.cfg: Added support for xrealloc(). 2019-02-28 22:48:39 +01:00
orbitcowboy 43daaca19c gnu.cfg: Added support for xstrdup(). 2019-02-28 22:46:16 +01:00
orbitcowboy e6d36913c8 gnu.cfg: Added support for xmalloc() and xcalloc(). Reference: https://gcc.gnu.org/onlinedocs/libiberty/Functions.html 2019-02-28 22:36:52 +01:00
Sebastian 71b1b2dd76
std.cfg: Add support for std::vector::assign(). (#1713)
Reference:
https://en.cppreference.com/w/cpp/container/vector/assign
2019-02-28 18:43:54 +01:00
versat 7ccf4b9a0d qt.cfg: Add support for some QTimer functions.
Reference:
https://doc.qt.io/qt-5/qtimer.html
2019-02-28 16:07:11 +01:00
versat f6c3749015 gtk.cfg: Add support for g_alloca() and g_newa().
References:
https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-alloca
https://github.com/GNOME/glib/blob/master/glib/galloca.h
2019-02-28 15:29:37 +01:00
Martin Ettl fe402498e1 qt.cfg: Added support for Q_DECLARE_PUBLIC()-macro. 2019-02-27 15:38:31 +01:00
Martin Ettl 17c1733b0e gnu.cfg: Added support for asprintf() and vasprintf(). There is a FN with memory leak detection regarding pointer args, which is already mentioned in #8980. A comment has been added. 2019-02-27 15:17:34 +01:00
Thomas Niederberger 084c7c284e Add missing Qt macros (#1709)
Add two Qt macros that were missing
2019-02-27 15:11:34 +01:00
Sebastian 2a45d390f3
gtk.cfg: Add support for gtk_label_new(), enhance gtk_label_get(). (#1706)
References:
https://developer.gnome.org/gtk3/stable/GtkLabel.html#gtk-label-new
https://developer.gnome.org/gtk2/stable/GtkLabel.html#gtk-label-get
Found by daca@home.
2019-02-27 12:56:21 +01:00
Sebastian 13b37631a6
std.cfg: Add support for std::vector::swap() and std::swap() (#1700)
References:
https://en.cppreference.com/w/cpp/container/vector/swap
https://en.cppreference.com/w/cpp/algorithm/swap
2019-02-26 18:21:17 +01:00
Sebastian d7e219043a
Library configuration validation: Enhance relaxng file (arg elements) (#1698)
Make sure that the elements of function->arg contain no duplicates.
Except for 'minsize' which can be specified zero to many times.
2019-02-26 14:00:54 +01:00
Sebastian 61f911d39a
qt.cfg: Add Q_DECLARE_TR_FUNCTIONS() and others (#1677)
Add unknownMacro Q_DECLARE_TR_FUNCTIONS found via daca@home.
Add function QCoreApplication::translate() and macro
QT_DECLARE_DEPRECATED_TR_FUNCTIONS() the unknownMacro depends on.
Reference:
https://doc.qt.io/qt-5/qcoreapplication.html#Q_DECLARE_TR_FUNCTIONS
https://doc.qt.io/qt-5/qcoreapplication.html#translate
2019-02-26 13:39:37 +01:00
orbitcowboy 4e6d4e4ddd wxwidgets.cfg: Added support for more interfaces. 2019-02-25 16:38:52 +01:00
orbitcowboy 86e3ce7a47 wxwidgets.cfg: Added support for more interfaces. 2019-02-25 16:31:16 +01:00
Andreas Bacher 587474e3b0 qt.cfg: Add support for further qtest macros & add definition for macros Q_ASSERT, Q_ASSERT_X (#1693)
Thanks!
2019-02-25 14:07:57 +01:00
Daniel Marjamäki 09d505219c qt.cfg: add implementations for macros to avoid unreadVariable FPs 2019-02-24 20:58:07 +01:00
Daniel Marjamäki 56d68d1aae googletest.cfg: added simple macro implementations 2019-02-24 20:52:51 +01:00
orbitcowboy d218fa5919 std.cfg: Added support for more interfaces. 2019-02-24 18:43:07 +01:00
orbitcowboy 406b29548a std.cfg: Added support for more interfaces. 2019-02-24 18:35:02 +01:00
Andreas Bacher 6760958e67 itions of QCOMPARE, QVERIFY & QVERIFY2, this are qtest macros not asserts (#1690)
* qt.cfg: Changed definitions of QCOMPARE, QVERIFY & QVERIFY2, this are qtest macros not asserts

* qt.cfg: Add support for further qtest macros
2019-02-24 16:44:48 +01:00
orbitcowboy 32e1d383a4 std.cfg: Added support for std::replace() and std::replace_if(). 2019-02-24 00:06:38 +01:00
orbitcowboy 748fe7f25e std.cfg: Added support for std::back_inserter(). 2019-02-24 00:00:20 +01:00
orbitcowboy c38cbd967b std.cfg: Added support for std::reverse(). 2019-02-23 23:55:13 +01:00
orbitcowboy 59d3ce2343 std.cfg: Added support for std::remove_if(). 2019-02-23 23:51:11 +01:00
orbitcowboy 568887eadf std.cfg: Added support for std::unique(). 2019-02-23 23:44:23 +01:00