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