Commit Graph

405 Commits

Author SHA1 Message Date
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
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
orbitcowboy 9348a627e0 std.cfg: Added support for more interfaces. 2019-03-01 09:28:46 +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 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
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
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
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
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
orbitcowboy 0fa70ebb2a std.cfg: Added support for more interfaces. 2019-02-23 18:38:48 +01:00
orbitcowboy 216d324a59 std.cfg: Added support for more interfaces. 2019-02-23 18:35:13 +01:00
orbitcowboy af9cbe23f9 std.cfg: Added support for more interfaces. 2019-02-20 10:02:01 +01:00
orbitcowboy a7b9d8de1b std.cfg: Added support for std::ios_base::setf() and std::ostringstream::setf(). 2019-02-18 12:20:34 +01:00
orbitcowboy 5135cbeecd std.cfg: Added support for std::multiset::insert(). 2019-02-17 23:15:46 +01:00
orbitcowboy 3aa131470b std.cfg: Added support for std::vector::erase(). 2019-02-17 23:10:17 +01:00
orbitcowboy af4f3af851 std.cfg: Added support for std::fill(). 2019-02-17 22:58:30 +01:00
orbitcowboy c28abe7e35 std.cfg: Added support for std::map::insert(). 2019-02-17 22:50:18 +01:00
orbitcowboy 1df9c80e81 std.cfg: Added support for std::move(). 2019-02-17 22:45:45 +01:00
orbitcowboy 7629923b65 std.cfg: Attempt make travis happy. 2019-02-16 08:24:53 +01:00
orbitcowboy 437e171d0d std.cfg: Added partial support for std::transform(). 2019-02-15 20:56:44 +01:00
orbitcowboy 23b771c5c8 std.cfg: Added partial support for std::sort(). 2019-02-15 20:45:46 +01:00
orbitcowboy 103ec5b5a1 std.cfg: Added support for std::wifstream::seekg(). 2019-02-13 08:52:45 +01:00
orbitcowboy 81dab88413 std.cfg: Fixed wrong configuration from std::vector::pop_back(). 2019-02-13 08:04:11 +01:00
orbitcowboy 40398c6c90 std.cfg: Added support for std::vector::pop_back() and std::vector::push_back (). 2019-02-12 18:52:18 +01:00
Sebastian d9241aa532
std.cfg: Add support for std::string::replace() (#1661)
Reference: https://en.cppreference.com/w/cpp/string/basic_string/replace
2019-02-11 16:06:48 +01:00
Sebastian 3427e61383
std.cfg: Add support for std::string::assign() (#1660)
Reference: https://en.cppreference.com/w/cpp/string/basic_string/assign
2019-02-11 13:40:36 +01:00
orbitcowboy 1ddaa1ecf3 std.cfg: Added support for std::ifstream::seekg() and std::istream::seekg(). 2019-02-09 17:13:07 +01:00
orbitcowboy d2732e9459 std.cfg: std::string::append() added 'arg nr any'. 2019-02-09 16:58:33 +01:00
orbitcowboy 2408096cc8 std.cfg: Added support for std::string::append(). 2019-02-09 16:43:08 +01:00
Sebastian fc7494c832 std.cfg: Add support for std::map::count() (#1655)
Reference: https://en.cppreference.com/w/cpp/container/map/count
2019-02-09 09:20:42 +01:00
Daniel Marjamäki e6e3987935 snprintf/g_snprintf: do not allow uninitialized target buffer 2018-12-22 20:40:47 +01:00
orbitcowboy 4c57f0d33c std.cfg: Improved support for std::lower_bound() and std::upper_bound(). 2018-11-27 13:55:06 +01:00
orbitcowboy b4aa04db41 std.cfg: Added returnValue calculation for isless(), islessgreater() etc. 2018-11-20 16:58:33 +01:00
orbitcowboy a722ba4f89 std.cfg: Improved return value configuration for std::min() and std::max(). 2018-11-20 16:07:16 +01:00
orbitcowboy 58b3d75b62 std.cfg: Added invalidFunctionArg cfg for strchr(). 2018-11-20 08:32:54 +01:00
yurii.putin 2aecd30cd8 Change cfg
Add some function (posix_memalign, reallocarray,aligned_alloc,valloc) to cfg. Add attribute format-str to some function.
2018-11-19 18:23:00 +01:00
Daniel Marjamäki 142f921d52 remove <pure/> from strtok. It has an internal state. This fixes FPs. 2018-09-08 12:08:09 +02:00
rikardfalkeborn 30a8d953e3 Move sqrt{,f,l} argument checks to cfg file (#1313) 2018-07-20 20:56:39 +02:00
rikardfalkeborn 491ee577c6 Support floats in valid config (#1297)
* Add tests for invalid ranges

* Refactor loadLibErrors

This reduces the amount of code slightly and will simplify adding
more tests.

* Handle empty valid field

Before this change, the sequence <valid></valid> in a config file would
result in a segmentation fault. Now an empty field results in the error
message:

cppcheck: Failed to load library configuration file 'mycfg.cfg'. Bad attribute value '""'

* Add support for valid for floating point arguments

Previously, it was not possible to add valid ranges to floating point
arguments since it only handled integers. This made ranges not work well
for floating point arguments since arguments were cast to integers
before the ranges were handled.

Fix this by using doubles instead of integers if the argument is a float.
Add some tests for this and make sure errors are printed with enough
precision (somewhat arbitrarily chosen).

Note that it is still only possible to add integer ranges (i.e. -1:1).

* Add support for floats in configuration valid range

Now that it is possible to handle decimal arguments, there is no reason
to not allow non-integer ranges. Take care to not allow broken
configurations.

* Move check to within if-clause

* Move asin{,f,l} and acos{,f,l} input checks to config file
2018-07-15 22:47:56 +02:00
orbitcowboy 8472779c00 std.cfg: Added support for wcsncpy_s(). 2018-06-07 11:57:03 +02:00
orbitcowboy fe8cab1749 Removed platform specifc constants from previous commit. 2018-06-01 12:07:46 +02:00