Commit Graph

1343 Commits

Author SHA1 Message Date
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