cppcheck/test/cfg/std.cpp

4788 lines
105 KiB
C++

// Test library configuration for std.cfg
//
// Usage:
// $ cppcheck --check-library --library=std --enable=style,information --inconclusive --error-exitcode=1 --disable=missingInclude --inline-suppr test/cfg/std.cpp
// =>
// No warnings about bad library configuration, unmatched suppressions, etc. exitcode=0
//
#include <algorithm>
#include <bitset>
#include <cassert>
#include <cctype>
#include <cfenv>
#include <cinttypes>
#include <clocale>
#include <cmath>
#include <complex>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#define __STDC_WANT_LIB_EXT1__ 1
#include <ctime>
#include <cwchar>
#include <fstream>
#include <functional>
#ifndef __STDC_NO_THREADS__
#include <threads.h>
#endif
#include <iomanip>
#include <ios>
#include <iostream>
#include <istream>
#include <iterator>
#include <map>
#include <memory>
#include <numeric>
#include <string_view>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include <version>
#ifdef __cpp_lib_span
#include <span>
#endif
int zerodiv_ldexp()
{
int i = std::ldexp(0.0, 42.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_ilogb()
{
int i = std::ilogb(1.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_hypot()
{
int i = std::hypot(0.0, 0.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_fmod()
{
int i = std::fmod(0.0, 42.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_fmin()
{
int i = std::fmin(0.0, 0.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_fmax()
{
int i = std::fmax(0.0, 0.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_floor()
{
int i = std::floor(0.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_fabs()
{
int i = std::fabs(-0.0) + std::fabs(+0.0) + std::fabs(0.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_fdim()
{
int i = std::fdim(1.0, 1.0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_trunc()
{
int i = std::trunc(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_ceil()
{
int i = std::ceil(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_sqrt()
{
int i = std::sqrt(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_cbrt()
{
int i = std::cbrt(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_erf()
{
int i = std::erf(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_erfc()
{
int i = std::erfc(42);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_asin()
{
int i = std::asin(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_acos()
{
int i = std::acos(1);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_asinh()
{
int i = std::asinh(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_acosh()
{
int i = std::acosh(1);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_log1p()
{
int i = std::log1p(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_nearbyint()
{
int i = std::nearbyint(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_round()
{
int i = std::round(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_sinh()
{
int i = std::sinh(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_tanh()
{
int i = std::tanh(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_atanh()
{
int i = std::atanh(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_atan()
{
int i = std::atan(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_sin()
{
int i = std::sin(0)+std::sin(M_PI)+std::sin(2*M_PI);
// cppcheck-suppress zerodiv
return 42 / i;
}
int zerodiv_expm1()
{
int i = std::expm1(0);
// cppcheck-suppress zerodiv
return 42 / i;
}
int moduloofone_cos()
{
int i = std::cos(0);
// cppcheck-suppress moduloofone
return 42 % i;
}
int moduloofone_exp()
{
int i = std::exp(0);
// cppcheck-suppress moduloofone
return 42 % i;
}
int moduloofone_exp2()
{
int i = std::exp2(0);
// cppcheck-suppress moduloofone
return 42 % i;
}
int moduloofone_pow()
{
int i = std::pow(2, 0);
// cppcheck-suppress moduloofone
return 42 % i;
}
char* invalidFunctionArgStr_strncpy(char * destination)
{
// Copies the first num characters of source to destination.
// If the end of the source C string (which is signaled by a null-character)
// is found before num characters have been copied, destination
// is padded with zeros until a total of num characters have been written to it.
const char source = 'x';
const std::size_t num = 1U;
return strncpy(destination, &source, num);
}
void invalidFunctionArgStr_fprintf(FILE *stream, const char *format)
{
const char formatBuf[] = {'%','d'};
// cppcheck-suppress invalidFunctionArgStr
(void)fprintf(stream,formatBuf,42);
(void)fprintf(stream,format,42);
}
void invalidFunctionArgStr_fopen(const char * const fileName, const char * const mode)
{
const char fileNameBuf[] = {'f','i','l','e'};
const char modeBuf[] = {'r'};
// cppcheck-suppress invalidFunctionArgStr
FILE *fp = fopen(fileName, modeBuf);
fclose(fp);
// cppcheck-suppress invalidFunctionArgStr
fp = fopen(fileNameBuf, mode);
fclose(fp);
}
float invalidFunctionArg_remquo (float x, float y, int* quo )
{
// cppcheck-suppress invalidFunctionArg
(void) std::remquo(x,0.0f,quo);
// cppcheck-suppress invalidFunctionArg
(void) std::remquof(x,0.0f,quo);
return std::remquo(x,y,quo);
}
double invalidFunctionArg_remquo (double x, double y, int* quo )
{
// cppcheck-suppress invalidFunctionArg
(void) std::remquo(x,0.0,quo);
// cppcheck-suppress invalidFunctionArg
(void) std::remquo(x,0.0f,quo);
// cppcheck-suppress invalidFunctionArg
(void) std::remquo(x,0.0L,quo);
return std::remquo(x,y,quo);
}
double invalidFunctionArg_remquo (long double x, long double y, int* quo )
{
// cppcheck-suppress invalidFunctionArg
(void) std::remquo(x,0.0L,quo);
// cppcheck-suppress invalidFunctionArg
(void) std::remquol(x,0.0L,quo);
return std::remquo(x,y,quo);
}
void invalidFunctionArg_remainderl(long double f1, long double f2)
{
// cppcheck-suppress invalidFunctionArg
(void)std::remainderl(f1,0.0);
// cppcheck-suppress invalidFunctionArg
(void)std::remainderl(f1,0.0L);
(void)std::remainderl(f1,f2);
}
void invalidFunctionArg_remainder(double f1, double f2)
{
// cppcheck-suppress invalidFunctionArg
(void)std::remainder(f1,0.0);
(void)std::remainder(f1,f2);
}
void invalidFunctionArg_remainderf(float f1, float f2)
{
// cppcheck-suppress invalidFunctionArg
(void)std::remainderf(f1,0.0);
// cppcheck-suppress invalidFunctionArg
(void)std::remainderf(f1,0.0f);
(void)std::remainderf(f1,f2);
}
void uninitvar_std_fstream_open(std::fstream &fs, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
std::string s;
const char *ptr;
std::ios_base::openmode m;
fs.open(s, mode);
// cppcheck-suppress uninitvar
fs.open(ptr, mode);
// TODO cppcheck-suppress uninitvar
fs.open(filename, m);
// TODO cppcheck-suppress uninitvar
fs.open(strFileName, m);
fs.open(s);
// TODO cppcheck-suppress uninitvar
fs.open(ptr);
}
void uninitvar_std_ifstream_open(std::ifstream &ifs, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
std::string s;
const char *ptr;
std::ios_base::openmode m;
ifs.open(s, mode);
// cppcheck-suppress uninitvar
ifs.open(ptr, mode);
// TODO cppcheck-suppress uninitvar
ifs.open(filename, m);
// TODO cppcheck-suppress uninitvar
ifs.open(strFileName, m);
ifs.open(s);
// TODO cppcheck-suppress uninitvar
ifs.open(ptr);
}
void uninitvar_std_ofstream_open(std::ofstream &os, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
std::string s;
const char *ptr;
std::ios_base::openmode m;
os.open(s, mode);
// cppcheck-suppress uninitvar
os.open(ptr, mode);
// TODO cppcheck-suppress uninitvar
os.open(filename, m);
// TODO cppcheck-suppress uninitvar
os.open(strFileName, m);
os.open(s);
// TODO cppcheck-suppress uninitvar
os.open(ptr);
}
void uninitvar_std_ofstream_precision(std::ofstream& os)
{
std::streamsize s;
// cppcheck-suppress uninitvar
os.precision(s);
}
void nullPointer_std_filebuf_open(std::filebuf &fb, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
// cppcheck-suppress nullPointer
(void)fb.open(nullptr, mode);
(void)fb.open(filename, mode);
(void)fb.open(strFileName, mode);
}
void nullPointer_std_ofstream_open(std::ofstream &os, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
// cppcheck-suppress nullPointer
os.open(nullptr, mode);
os.open(filename, mode);
os.open(strFileName, mode);
// cppcheck-suppress nullPointer
os.open(nullptr);
os.open(filename);
os.open(strFileName);
}
void nullPointer_std_fstream_open(std::fstream &fs, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
// cppcheck-suppress nullPointer
fs.open(nullptr, mode);
fs.open(filename, mode);
fs.open(strFileName, mode);
// cppcheck-suppress nullPointer
fs.open(nullptr);
fs.open(filename);
fs.open(strFileName);
}
void nullPointer_std_ifstream_open(std::ifstream &is, const std::string &strFileName, const char* filename, std::ios_base::openmode mode)
{
// cppcheck-suppress nullPointer
is.open(nullptr, mode);
is.open(filename, mode);
is.open(strFileName, mode);
// cppcheck-suppress nullPointer
is.open(nullptr);
is.open(filename);
is.open(strFileName);
}
void bufferAccessOutOfBounds_std_fstream_write(std::fstream &fs, const char* s, std::streamsize n)
{
const char buf[42] = {0};
(void)fs.write(buf,42);
// cppcheck-suppress bufferAccessOutOfBounds
(void)fs.write(buf,43);
(void)fs.write(buf,n);
(void)fs.write(s,n);
}
void bufferAccessOutOfBounds_std_ostream_write(std::ostream &os, const char* s, std::streamsize n)
{
const char buf[42] = {0};
(void)os.write(buf,42);
// cppcheck-suppress bufferAccessOutOfBounds
(void)os.write(buf,43);
(void)os.write(buf,n);
(void)os.write(s,n);
}
void bufferAccessOutOfBounds_std_ostringstream_write(std::ostringstream &oss, const char* s, std::streamsize n)
{
const char buf[42] = {0};
(void)oss.write(buf,42);
// cppcheck-suppress bufferAccessOutOfBounds
(void)oss.write(buf,43);
(void)oss.write(buf,n);
(void)oss.write(s,n);
}
void bufferAccessOutOfBounds_std_ofstream_write(std::ofstream &os, const char* s, std::streamsize n)
{
const char buf[42] = {0};
(void)os.write(buf,42);
// cppcheck-suppress bufferAccessOutOfBounds
(void)os.write(buf,43);
(void)os.write(buf,n);
(void)os.write(s,n);
}
void invalidFunctionArg_fesetexceptflag(const fexcept_t* flagp, int excepts)
{
(void)std::fesetexceptflag(flagp, excepts);
// cppcheck-suppress invalidFunctionArg
(void)std::fesetexceptflag(flagp, 0);
(void)std::fesetexceptflag(flagp, FE_DIVBYZERO);
(void)std::fesetexceptflag(flagp, FE_INEXACT);
(void)std::fesetexceptflag(flagp, FE_INVALID);
(void)std::fesetexceptflag(flagp, FE_OVERFLOW);
(void)std::fesetexceptflag(flagp, FE_UNDERFLOW);
(void)std::fesetexceptflag(flagp, FE_ALL_EXCEPT);
// cppcheck-suppress invalidFunctionArg
(void)std::fesetexceptflag(flagp, FE_ALL_EXCEPT+1);
}
void invalidFunctionArg_fetestexcept(int excepts)
{
(void)std::fetestexcept(excepts);
// cppcheck-suppress invalidFunctionArg
(void)std::fetestexcept(0);
(void)std::fetestexcept(FE_DIVBYZERO);
(void)std::fetestexcept(FE_INEXACT);
(void)std::fetestexcept(FE_INVALID);
(void)std::fetestexcept(FE_OVERFLOW);
(void)std::fetestexcept(FE_UNDERFLOW);
(void)std::fetestexcept(FE_ALL_EXCEPT);
// cppcheck-suppress invalidFunctionArg
(void)std::fetestexcept(FE_ALL_EXCEPT+1);
}
void nullPointer_fprintf(FILE *Stream, const char *Format, int Argument)
{
// cppcheck-suppress nullPointer
(void)std::fprintf(Stream, nullptr, Argument);
// no warning is expected
(void)std::fprintf(Stream, Format, Argument);
}
void bufferAccessOutOfBounds_wcsftime(wchar_t* ptr, size_t maxsize, const wchar_t* format, const struct tm* timeptr)
{
wchar_t buf[42];
(void)std::wcsftime(buf, 42, format, timeptr);
// TODO cppcheck-suppress bufferAccessOutOfBounds
(void)std::wcsftime(buf, 43, format, timeptr);
(void)std::wcsftime(ptr, maxsize, format, timeptr);
}
int qsort_cmpfunc (const void * a, const void * b) {
return (*static_cast<const int*>(a) - *static_cast<const int*>(b));
}
void nullPointer_qsort(void *base, std::size_t n, std::size_t size, int (*cmp)(const void *, const void *))
{
// cppcheck-suppress nullPointer
std::qsort(nullptr, n, size, qsort_cmpfunc);
// cppcheck-suppress nullPointer
std::qsort(base, n, size, nullptr);
std::qsort(base, n, size, qsort_cmpfunc);
}
void nullPointer_vfprintf(FILE *Stream, const char *Format, va_list Arg)
{
// cppcheck-suppress nullPointer
(void)std::vfprintf(Stream, nullptr, Arg);
(void)std::vfprintf(Stream, Format, Arg);
}
void nullPointer_vfwprintf(FILE *Stream, const wchar_t *Format, va_list Arg)
{
// cppcheck-suppress nullPointer
(void)std::vfwprintf(Stream, nullptr, Arg);
(void)std::vfwprintf(Stream, Format, Arg);
}
void *bufferAccessOutOfBounds_memchr(void *s, int c, size_t n)
{
char buf[42]={0};
(void)std::memchr(buf,c,42);
// cppcheck-suppress bufferAccessOutOfBounds
(void)std::memchr(buf,c,43);
return std::memchr(s,c,n);
}
// As with all bounds-checked functions, localtime_s is only guaranteed to be available if __STDC_LIB_EXT1__ is defined by the implementation and if the user defines __STDC_WANT_LIB_EXT1__ to the integer constant 1 before including time.h.
#ifdef __STDC_LIB_EXT1__
void uninitvar_localtime_s(const std::time_t *restrict time, struct tm *restrict result)
{
const std::time_t *restrict Time;
// TODO cppcheck-suppress uninitvar
(void)std::localtime_s(Time, result);
(void)std::localtime_s(time, result);
}
void nullPointer_localtime_s(const std::time_t *restrict time, struct tm *restrict result)
{
// cppcheck-suppress nullPointer
(void)std::localtime_s(NULL, result);
// cppcheck-suppress nullPointer
(void)std::localtime_s(time, NULL);
(void)std::localtime_s(time, result);
}
void memleak_localtime_s(const std::time_t *restrict time, struct tm *restrict result)
{
const time_t t = time(0);
const struct tm* const now = new tm();
if (localtime_s(now, &t) == 0)
std::cout << now->tm_mday << std::endl;
// cppcheck-suppress memleak
}
#endif // __STDC_LIB_EXT1__
size_t nullPointer_strftime(char *s, size_t max, const char *fmt, const struct tm *p)
{
// cppcheck-suppress nullPointer
(void) std::strftime(NULL,max,fmt,p);
// cppcheck-suppress nullPointer
(void) std::strftime(s,max,NULL,p);
// cppcheck-suppress nullPointer
(void) std::strftime(s,max,fmt,NULL);
return std::strftime(s,max,fmt,p);
}
size_t bufferAccessOutOfBounds_wcsrtombs(char * dest, const wchar_t ** src, size_t len, mbstate_t * ps)
{
char buf[42];
(void)std::wcsrtombs(buf,src,42,ps);
// cppcheck-suppress bufferAccessOutOfBounds
(void)std::wcsrtombs(buf,src,43,ps);
return std::wcsrtombs(dest,src,len,ps);
}
void invalidFunctionArg_std_string_substr(const std::string &str, std::size_t pos, std::size_t len) {
// cppcheck-suppress invalidFunctionArg
(void)str.substr(-1,len);
// cppcheck-suppress invalidFunctionArg
(void)str.substr(pos,-1);
// no warning is expected for
(void)str.substr(pos,len);
(void)str.substr(pos, std::string::npos);
}
void invalidFunctionArg_std_wstring_substr(const std::wstring &str, std::size_t pos, std::size_t len) {
// cppcheck-suppress invalidFunctionArg
(void)str.substr(-1,len);
// cppcheck-suppress invalidFunctionArg
(void)str.substr(pos,-1);
// no warning is expected for
(void)str.substr(pos,len);
(void)str.substr(pos, std::wstring::npos);
}
double invalidFunctionArg_log10(double d = 0.0) {
// cppcheck-suppress invalidFunctionArg
return log10(d);
}
void uninitvar_std_next(const std::vector<int> &v, int count)
{
// No warning shall be shown:
if (std::next(v.begin()) != v.end()) {}
if (std::next(v.begin(), count) != v.end()) {}
std::vector<int>::iterator it;
// cppcheck-suppress uninitvar
if (std::next(it) != v.end()) {}
std::vector<int>::const_iterator const_it;
// cppcheck-suppress uninitvar
if (std::next(const_it) != v.end()) {}
std::vector<int>::reverse_iterator rit;
// cppcheck-suppress uninitvar
if (std::next(rit) != v.rend()) {}
std::vector<int>::const_reverse_iterator const_rit;
// cppcheck-suppress uninitvar
if (std::next(const_rit) != v.rend()) {}
}
void uninitvar_std_prev(const std::vector<int> &v, int count)
{
// No warning shall be shown:
if (std::prev(v.begin()) != v.end()) {}
if (std::prev(v.begin(), count) != v.end()) {}
std::vector<int>::iterator it;
// cppcheck-suppress uninitvar
if (std::prev(it) != v.end()) {}
std::vector<int>::const_iterator const_it;
// cppcheck-suppress uninitvar
if (std::prev(const_it) != v.end()) {}
std::vector<int>::reverse_iterator rit;
// cppcheck-suppress uninitvar
if (std::prev(rit) != v.rend()) {}
std::vector<int>::const_reverse_iterator const_rit;
// cppcheck-suppress uninitvar
if (std::prev(const_rit) != v.rend()) {}
}
void overlappingWriteFunction_wcscat(wchar_t *src, wchar_t *dest)
{
// No warning shall be shown:
(void)wcscat(dest, src);
// cppcheck-suppress overlappingWriteFunction
(void)wcscat(src, src);
}
void overlappingWriteFunction_wcsxfrm(wchar_t *s1, const wchar_t *s2, size_t n)
{
// No warning shall be shown:
(void)wcsxfrm(s1, s2, n);
}
char * overlappingWriteFunction_strcat(char *src, char *dest)
{
// No warning shall be shown:
(void)strcat(dest, src);
// cppcheck-suppress overlappingWriteFunction
return strcat(src, src);
}
int nullPointer_wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n)
{
// cppcheck-suppress nullPointer
(void) std::wcsncmp(NULL,s2,n);
// cppcheck-suppress nullPointer
(void) std::wcsncmp(s1,NULL,n);
return std::wcsncmp(s1,s2,n);
}
wchar_t* nullPointer_wcsncpy(wchar_t *s, const wchar_t *cs, size_t n)
{
// cppcheck-suppress nullPointer
(void) std::wcsncpy(NULL,cs,n);
// cppcheck-suppress nullPointer
(void) std::wcsncpy(s,NULL,n);
return std::wcsncpy(s,cs,n);
}
char * overlappingWriteFunction_strncat(const char *src, char *dest, const std::size_t count)
{
// No warning shall be shown:
(void)strncat(dest, src, 42);
(void)strncat(dest, src, count);
(void)strncat(dest, dest, count);
// cppcheck-suppress overlappingWriteFunction
(void)strncat(dest, dest+1, 2);
char buffer[] = "strncat";
// cppcheck-suppress overlappingWriteFunction
return strncat(buffer, buffer + 1, 3);
}
wchar_t * overlappingWriteFunction_wcsncat(const wchar_t *src, wchar_t *dest, const std::size_t count)
{
// No warning shall be shown:
(void)wcsncat(dest, src, 42);
(void)wcsncat(dest, src, count);
(void)wcsncat(dest, dest, count);
// cppcheck-suppress overlappingWriteFunction
(void)wcsncat(dest, dest+1, 2);
wchar_t buffer[] = L"strncat";
// cppcheck-suppress overlappingWriteFunction
return wcsncat(buffer, buffer + 1, 3);
}
wchar_t * overlappingWriteFunction_wcscpy(wchar_t *src, wchar_t *dest)
{
// No warning shall be shown:
(void)wcscpy(dest, src);
const wchar_t * destBuf = dest;
// TODO-cppcheck-suppress overlappingWriteFunction #10355
(void)wcscpy(dest, destBuf);
// cppcheck-suppress overlappingWriteFunction
return wcscpy(src, src);
}
wchar_t * overlappingWriteFunction_wcsncpy(wchar_t *buf, const std::size_t count)
{
// No warning shall be shown:
(void)wcsncpy(&buf[0], &buf[3], count); // size is not known
(void)wcsncpy(&buf[0], &buf[3], 3U); // no-overlap
// cppcheck-suppress overlappingWriteFunction
return wcsncpy(&buf[0], &buf[3], 4U);
}
char * overlappingWriteFunction_strncpy(char *buf, const std::size_t count)
{
// No warning shall be shown:
(void)strncpy(&buf[0], &buf[3], count); // size is not known
(void)strncpy(&buf[0], &buf[3], 3U); // no-overlap
// cppcheck-suppress overlappingWriteFunction
return strncpy(&buf[0], &buf[3], 4U);
}
void * overlappingWriteFunction_memmove(void)
{
// No warning shall be shown:
char str[] = "memmove handles overlapping data well";
return memmove(str,str+3,4);
}
std::bitset<10> std_bitset_test_ignoredReturnValue()
{
std::bitset<10> b1("1111010000");
// cppcheck-suppress ignoredReturnValue
b1.test(2);
return b1;
}
std::bitset<10> std_bitset_all_ignoredReturnValue()
{
std::bitset<10> b1("1111010000");
// cppcheck-suppress ignoredReturnValue
b1.all();
return b1;
}
std::bitset<10> std_bitset_none_ignoredReturnValue()
{
std::bitset<10> b1("1111010000");
// cppcheck-suppress ignoredReturnValue
b1.none();
return b1;
}
std::bitset<10> std_bitset_any_ignoredReturnValue()
{
std::bitset<10> b1("1111010000");
// cppcheck-suppress ignoredReturnValue
b1.any();
return b1;
}
std::bitset<10> std_bitset_size_ignoredReturnValue()
{
std::bitset<10> b1("1111010000");
// cppcheck-suppress ignoredReturnValue
b1.size();
return b1;
}
std::bitset<10> std_bitset_count_ignoredReturnValue()
{
std::bitset<10> b1("1111010000");
// cppcheck-suppress ignoredReturnValue
b1.count();
return b1;
}
void std_unordered_set_count_ignoredReturnValue(const std::unordered_set<int>& u)
{
int i;
// cppcheck-suppress [uninitvar, ignoredReturnValue]
u.count(i);
}
void std_unordered_map_count_ignoredReturnValue(const std::unordered_map<int, int>& u)
{
int i;
// cppcheck-suppress [uninitvar, ignoredReturnValue]
u.count(i);
}
void std_multimap_count_ignoredReturnValue(const std::multimap<int, int>& m)
{
int i;
// cppcheck-suppress [uninitvar, ignoredReturnValue]
m.count(i);
}
void std_unordered_map_insert_unnitvar(std::unordered_set<int>& u)
{
int i;
// cppcheck-suppress uninitvar
u.insert(i);
}
void std_unordered_map_emplace_unnitvar(std::unordered_set<int>& u)
{
int i;
// cppcheck-suppress uninitvar
u.emplace(i);
}
int std_map_find_constref(std::map<int, int>& m) // #11857
{
std::map<int, int>& r = m;
std::map<int, int>::iterator it = r.find(42);
int* p = &it->second;
return ++*p;
}
void valid_code()
{
std::vector<int> vecInt{0, 1, 2};
std::fill_n(vecInt.begin(), 2, 0);
vecInt.push_back(1);
vecInt.pop_back();
}
void returnValue_std_isgreater(void)
{
// cppcheck-suppress knownConditionTrueFalse
if (std::isgreater(4,2) == 0) {}
// @todo support floats
if (std::isgreater(4.0f,2.0f) == 0) {}
}
void returnValue_std_isgreaterequal(void)
{
// cppcheck-suppress knownConditionTrueFalse
if (std::isgreaterequal(4,2) == 0) {}
// @todo support floats
if (std::isgreaterequal(4.0f,2.0f) == 0) {}
}
void returnValue_std_isless(void)
{
// cppcheck-suppress knownConditionTrueFalse
if (std::isless(4,2) == 0) {}
// @todo support floats
if (std::isless(4.0f,2.0f) == 0) {}
}
void returnValue_std_islessequal(void)
{
// cppcheck-suppress knownConditionTrueFalse
if (std::islessequal(4,2) == 0) {}
// @todo support floats
if (std::islessequal(4.0f,2.0f) == 0) {}
}
void returnValue_std_islessgreater(void)
{
// cppcheck-suppress knownConditionTrueFalse
if (std::islessgreater(4,2) == 0) {}
// cppcheck-suppress knownConditionTrueFalse
if (std::islessgreater(2,4) == 0) {}
if (std::islessgreater(4.0f,2.0f) == 0) {} // @todo support floats
if (std::islessgreater(2.0f,4.0f) == 0) {} // @todo support floats
}
void bufferAccessOutOfBounds(void)
{
char a[5];
std::strcpy(a,"abcd");
// cppcheck-suppress bufferAccessOutOfBounds
// TODO cppcheck-suppress redundantCopy
std::strcpy(a, "abcde");
// TODO cppcheck-suppress redundantCopy
// cppcheck-suppress terminateStrncpy
std::strncpy(a,"abcde",5);
// cppcheck-suppress bufferAccessOutOfBounds
// TODO cppcheck-suppress redundantCopy
std::strncpy(a,"abcde",6);
}
void uninitvar_abs(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::abs(i);
}
void uninivar_imaxabs(void)
{
intmax_t i1, i2;
// cppcheck-suppress uninitvar
(void)std::imaxabs(i1);
// cppcheck-suppress uninitvar
(void)imaxabs(i2);
}
void uninitvar_isalnum(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isalnum(i);
}
void uninitvar_isalpha(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isalpha(i);
}
void uninitvar_iscntrl(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::iscntrl(i);
}
void uninitvar_isdigit(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isdigit(i);
}
void uninitvar_isgraph(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isgraph(i);
}
void uninitvar_islower(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::islower(i);
}
void uninitvar_isprint(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isprint(i);
}
void uninitvar_isspace(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isspace(i);
}
void uninitvar_isupper(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isupper(i);
}
void uninitvar_isxdigit(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isxdigit(i);
}
void uninitvar_proj(void)
{
double d;
// cppcheck-suppress uninitvar
const std::complex<double> dc(d,d);
(void)std::proj(dc);
}
void uninitvar_acos(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::acos(f);
double d;
// cppcheck-suppress uninitvar
(void)std::acos(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::acos(ld);
}
void uninitvar_acosh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::acoshf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::acosh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::acoshl(ld);
}
void uninitvar_asctime(void)
{
const struct tm *tm;
// cppcheck-suppress uninitvar
// cppcheck-suppress asctimeCalled
(void)std::asctime(tm);
}
void uninitvar_sqrt(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::sqrt(f);
double d;
// cppcheck-suppress uninitvar
(void)std::sqrt(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::sqrt(ld);
}
void uninitvar_sinh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::sinh(f);
double d;
// cppcheck-suppress uninitvar
(void)std::sinh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::sinh(ld);
}
void uninitvar_sin(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::sin(f);
double d;
// cppcheck-suppress uninitvar
(void)std::sin(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::sin(ld);
}
void uninitvar_asin(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::asin(f);
double d;
// cppcheck-suppress uninitvar
(void)std::asin(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::asin(ld);
}
void uninitvar_asinh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::asinhf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::asinh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::asinhl(ld);
}
void uninitvar_wcsftime(wchar_t* ptr)
{
size_t maxsize;
const wchar_t* format;
const struct tm* timeptr;
// cppcheck-suppress uninitvar
(void)std::wcsftime(ptr, maxsize, format, timeptr);
}
void uninitvar_tan(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::tan(f);
double d;
// cppcheck-suppress uninitvar
(void)std::tan(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::tan(ld);
}
void uninitvar_tanh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::tanh(f);
double d;
// cppcheck-suppress uninitvar
(void)std::tanh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::tanh(ld);
}
void uninitvar_atan(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::atan(f);
double d;
// cppcheck-suppress uninitvar
(void)std::atan(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::atan(ld);
}
void uninitvar_tgamma(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::tgammaf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::tgamma(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::tgammal(ld);
}
void uninitvar_trunc(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::truncf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::trunc(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::truncl(ld);
}
void uninitvar_atanh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::atanhf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::atanh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::atanhl(ld);
}
void uninitvar_atan2(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::atan2(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::atan2(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::atan2(ld1,ld2);
}
void uninitvar_atof(void)
{
const char * c;
// cppcheck-suppress uninitvar
(void)std::atof(c);
}
void uninitvar_atol(void)
{
const char * c1, *c2, *c3;
// cppcheck-suppress uninitvar
(void)std::atoi(c1);
// cppcheck-suppress uninitvar
(void)std::atol(c2);
// cppcheck-suppress uninitvar
(void)std::atoll(c3);
}
void uninitvar_ceil(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::ceil(f);
double d;
// cppcheck-suppress uninitvar
(void)std::ceil(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::ceil(ld);
}
void uninitvar_copysign(void)
{
float f1, f2;
// cppcheck-suppress uninitvar
(void)std::copysignf(f1, f2);
double d1, d2;
// cppcheck-suppress uninitvar
(void)std::copysign(d1, d2);
long double ld1, ld2;
// cppcheck-suppress uninitvar
(void)std::copysignl(ld1, ld2);
}
void uninitvar_cbrt(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::cbrtf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::cbrt(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::cbrtl(ld);
}
void uninitvar_cos(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::cos(f);
double d;
// cppcheck-suppress uninitvar
(void)std::cos(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::cos(ld);
}
void uninitvar_clearerr(void)
{
FILE * stream;
// cppcheck-suppress uninitvar
std::clearerr(stream);
}
void uninitvar_cosh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::cosh(f);
double d;
// cppcheck-suppress uninitvar
(void)std::cosh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::cosh(ld);
}
void uninitvar_feraiseexcept(void)
{
int expects;
// cppcheck-suppress uninitvar
(void)std::feraiseexcept(expects);
}
void uninitvar_fesetexceptflag(const fexcept_t* flagp)
{
int expects;
// cppcheck-suppress uninitvar
(void)std::fesetexceptflag(flagp, expects);
}
void uninitvar_feclearexcept(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::feclearexcept(i);
}
void uninitvar_fesetenv(void)
{
const fenv_t* envp;
// cppcheck-suppress uninitvar
(void)std::fesetenv(envp);
}
void uninitvar_fesetround(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::fesetround(i);
}
void uninitvar_fetestexcept(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::fetestexcept(i);
}
void uninitvar_feupdateenv(void)
{
const fenv_t* envp;
// cppcheck-suppress uninitvar
(void)std::feupdateenv(envp);
}
void uninitvar_ctime(void)
{
const time_t *tp;
// cppcheck-suppress uninitvar
(void)std::ctime(tp);
}
void uninitvar_difftime(void)
{
time_t t1,t2;
// cppcheck-suppress uninitvar
(void)std::difftime(t1, t2);
}
void uninitvar_div(void)
{
int num;
int denom;
// cppcheck-suppress uninitvar
(void)std::div(num,denom);
}
void uninitvar_imaxdiv(void)
{
intmax_t numer1, numer2;
intmax_t denom1, denom2;
// cppcheck-suppress uninitvar
(void)std::imaxdiv(numer1,denom1);
// cppcheck-suppress uninitvar
(void)imaxdiv(numer2,denom2);
}
void uninitvar_exit(void)
{
int i;
// cppcheck-suppress uninitvar
std::exit(i);
}
void uninitvar_erf(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::erff(f);
double d;
// cppcheck-suppress uninitvar
(void)std::erf(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::erfl(ld);
}
void uninitvar_erfc(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::erfcf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::erfc(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::erfcl(ld);
}
void uninitvar_exp(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::exp(f);
double d;
// cppcheck-suppress uninitvar
(void)std::exp(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::exp(ld);
}
void uninitvar_exp2(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::exp2f(f);
double d;
// cppcheck-suppress uninitvar
(void)std::exp2(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::exp2l(ld);
}
void uninitvar_expm1(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::expm1f(f);
double d;
// cppcheck-suppress uninitvar
(void)std::expm1(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::expm1l(ld);
}
void uninitvar_fabs(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::fabs(f);
double d;
// cppcheck-suppress uninitvar
(void)std::fabs(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::fabs(ld);
}
void uninitvar_fdim(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::fdimf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::fdim(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::fdiml(ld1,ld2);
}
void uninitvar_fclose(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fclose(stream);
}
void uninitvar_ferror(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::ferror(stream);
}
void uninitvar_feof(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::feof(stream);
}
void uninitvar_fflush(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fflush(stream);
}
void uninitvar_fgetc(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fgetc(stream);
}
void uninitvar_fgetwc(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fgetwc(stream);
}
void uninitvar_fgetpos(void)
{
FILE* stream;
fpos_t *ptr;
// cppcheck-suppress uninitvar
(void)std::fgetpos(stream,ptr);
}
void uninitvar_floor(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::floor(f);
double d;
// cppcheck-suppress uninitvar
(void)std::floor(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::floor(ld);
}
void uninitvar_fma(void)
{
float f1,f2,f3;
// cppcheck-suppress uninitvar
(void)std::fmaf(f1,f2,f3);
double d1,d2,d3;
// cppcheck-suppress uninitvar
(void)std::fma(d1,d2,d3);
long double ld1,ld2,ld3;
// cppcheck-suppress uninitvar
(void)std::fmal(ld1,ld2,ld3);
}
void uninitvar_fmax(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::fmaxf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::fmax(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::fmaxl(ld1,ld2);
}
void uninitvar_fmin(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::fminf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::fmin(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::fminl(ld1,ld2);
}
void uninitvar_fmod(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::fmod(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::fmod(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::fmod(ld1,ld2);
}
void uninitar_fopen(void)
{
const char *filename;
const char *mode;
// cppcheck-suppress uninitvar
FILE * fp = std::fopen(filename, mode);
fclose(fp);
}
void uninitar_fprintf(FILE *Stream, const char *Format, int Argument)
{
FILE *stream1, *stream2;
const char *format1, *format2;
int argument1, argument2;
// cppcheck-suppress uninitvar
(void)std::fprintf(stream1, format1, argument1);
// cppcheck-suppress uninitvar
(void)std::fprintf(stream2, Format, Argument);
// cppcheck-suppress uninitvar
(void)std::fprintf(Stream, format2, Argument);
// cppcheck-suppress uninitvar
(void)std::fprintf(Stream, Format, argument2);
// no warning is expected
(void)std::fprintf(Stream, Format, Argument);
}
void uninitar_vfprintf(FILE *Stream, const char *Format, va_list Arg)
{
FILE *stream1, *stream2;
const char *format1, *format2;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vfprintf(stream1, format1, arg);
// cppcheck-suppress uninitvar
(void)std::vfprintf(stream2, Format, Arg);
// cppcheck-suppress uninitvar
(void)std::vfprintf(Stream, format2, Arg);
// no warning is expected
(void)std::vfprintf(Stream, Format, Arg);
// cppcheck-suppress va_list_usedBeforeStarted
(void)std::vfprintf(Stream, Format, arg);
}
void uninitar_vfwprintf(FILE *Stream, const wchar_t *Format, va_list Arg)
{
FILE *stream1, *stream2;
const wchar_t *format1, *format2;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vfwprintf(stream1, format1, arg);
// cppcheck-suppress uninitvar
(void)std::vfwprintf(stream2, Format, Arg);
// cppcheck-suppress uninitvar
(void)std::vfwprintf(Stream, format2, Arg);
// no warning is expected
(void)std::vfwprintf(Stream, Format, Arg);
// cppcheck-suppress va_list_usedBeforeStarted
(void)std::vfwprintf(Stream, Format, arg);
}
void uninitvar_fputc(void)
{
int c;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fputc(c,stream);
}
void uninitvar_fputwc(void)
{
wchar_t c;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fputwc(c,stream);
}
void uninitvar_fputs(void)
{
const char *string;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fputs(string,stream);
}
void uninitvar_fputws(void)
{
const wchar_t *string;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fputws(string,stream);
}
void uninitvar_fread(void)
{
void *ptr;
size_t size;
size_t nobj;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fread(ptr,size,nobj,stream);
}
void uninitvar_free(void)
{
void *block;
// cppcheck-suppress uninitvar
std::free(block);
}
void uninitvar_freopen(void)
{
const char *filename;
const char *mode;
FILE *stream;
// cppcheck-suppress uninitvar
FILE * p = std::freopen(filename,mode,stream);
free(p);
}
void uninitvar_frexp(void)
{
float f1;
int *i1;
// cppcheck-suppress uninitvar
(void)std::frexp(f1,i1);
double d1;
int *i2;
// cppcheck-suppress uninitvar
(void)std::frexp(d1,i2);
long double ld1;
int *i3;
// cppcheck-suppress uninitvar
(void)std::frexp(ld1,i3);
}
void uninitvar_hypot(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::hypotf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::hypot(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::hypotl(ld1,ld2);
}
void uninitvar_fscanf(void)
{
FILE *stream;
const char *format;
int i;
// cppcheck-suppress uninitvar
(void)std::fscanf(stream,format,i);
}
void uninitvar_vfscanf(void)
{
FILE *stream;
const char *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vfscanf(stream,format,arg);
}
void uninitvar_vfwscanf(void)
{
FILE *stream;
const wchar_t *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vfwscanf(stream,format,arg);
}
void uninitvar_fseek(void)
{
FILE* stream;
long int offset;
int origin;
// cppcheck-suppress uninitvar
(void)std::fseek(stream,offset,origin);
}
void invalidFunctionArg_fseek(FILE* stream, long int offset, int origin)
{
// cppcheck-suppress invalidFunctionArg
(void)std::fseek(stream, offset, -1);
// cppcheck-suppress invalidFunctionArg
(void)std::fseek(stream, offset, 3);
// cppcheck-suppress invalidFunctionArg
(void)std::fseek(stream, offset, 42+SEEK_SET);
// cppcheck-suppress invalidFunctionArg
(void)std::fseek(stream, offset, SEEK_SET+42);
// No warning is expected for
(void)std::fseek(stream, offset, origin);
(void)std::fseek(stream, offset, SEEK_SET);
(void)std::fseek(stream, offset, SEEK_CUR);
(void)std::fseek(stream, offset, SEEK_END);
}
void invalidFunctionArgBool_fseek(FILE* stream, long int offset, int origin)
{
// cppcheck-suppress invalidFunctionArgBool
(void)std::fseek(stream, offset, true);
// cppcheck-suppress invalidFunctionArgBool
(void)std::fseek(stream, offset, false);
}
void uninitvar_fsetpos(void)
{
FILE* stream;
const fpos_t *ptr;
// cppcheck-suppress uninitvar
(void)std::fsetpos(stream,ptr);
}
wchar_t* nullPointer_fgetws(wchar_t* buffer, int n, FILE* stream)
{
// cppcheck-suppress nullPointer
(void)std::fgetws(NULL,n,stream);
// cppcheck-suppress nullPointer
(void)std::fgetws(buffer,n,NULL);
// No warning is expected
return std::fgetws(buffer, n, stream);
}
void nullPointer_wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::wmemcmp(NULL,s2,n);
// cppcheck-suppress nullPointer
(void)std::wmemcmp(s1,NULL,n);
(void)std::wmemcmp(s1,s2,n);
}
void nullPointer_memcmp(const void *s1, const void *s2, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::memcmp(NULL,s2,n);
// cppcheck-suppress nullPointer
(void)std::memcmp(s1,NULL,n);
(void)std::memcmp(s1,s2,n);
}
void nullPointer_strncat(char *d, const char *s, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::strncat(NULL,s,n);
// cppcheck-suppress nullPointer
(void)std::strncat(d,NULL,n);
// no warning is expected for
(void)std::strncat(d,s,n);
}
void nullPointer_strcpy(char *dest, const char * const source)
{
// cppcheck-suppress nullPointer
(void)std::strcpy(NULL,source);
// cppcheck-suppress nullPointer
(void)std::strcpy(dest,NULL);
// no warning shall be shown for
(void)std::strcpy(dest,source);
}
void nullPointer_strcat(char *dest, const char * const source)
{
// cppcheck-suppress nullPointer
(void)std::strcat(NULL,source);
// cppcheck-suppress nullPointer
(void)std::strcat(dest,NULL);
// no warning shall be shown for
(void)std::strcat(dest,source);
}
void nullPointer_strncpy(char *d, const char *s, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::strncpy(NULL,s,n);
// cppcheck-suppress nullPointer
(void)std::strncpy(d,NULL,n);
// no warning is expected for
(void)std::strncpy(d,s,n);
}
void nullPointer_strncmp(const char *s1, const char *s2, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::strncmp(NULL,s2,n);
// cppcheck-suppress nullPointer
(void)std::strncmp(s1,NULL,n);
(void)std::strncmp(s1,s2,n);
}
char* nullPointer_fgets(char *buffer, int n, FILE *stream)
{
// cppcheck-suppress nullPointer
(void)std::fgets(NULL,n,stream);
// cppcheck-suppress nullPointer
(void)std::fgets(buffer,n,NULL);
// No warning is expected
return std::fgets(buffer, n, stream);
}
void uninitvar_fgets(void)
{
char *buffer;
int n;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fgets(buffer,n,stream);
}
void uninitvar_fgetws(void)
{
wchar_t *buffer;
int n;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fgetws(buffer,n,stream);
}
void uninitvar_ftell(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::ftell(stream);
}
void uninitvar_fwide(void)
{
FILE *stream;
int mode;
// cppcheck-suppress uninitvar
(void)std::fwide(stream,mode);
}
void uninitvar_fwrite(void)
{
const void *ptr;
size_t size;
size_t nobj;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::fwrite(ptr,size,nobj,stream);
}
void uninitvar_mblen(void)
{
const char *string;
size_t size;
// cppcheck-suppress uninitvar
(void)std::mblen(string,size);
}
void uninitvar_mbtowc(void)
{
wchar_t* pwc;
const char* pmb;
size_t max;
// cppcheck-suppress uninitvar
(void)std::mbtowc(pwc,pmb,max);
}
void uninitvar_mbrlen(const char* p, size_t m, mbstate_t* s)
{
const char* pmb1, *pmb2;
size_t max1, max2;
mbstate_t* ps1, *ps2;
// cppcheck-suppress uninitvar
(void)std::mbrlen(pmb1,max1,ps1);
// cppcheck-suppress uninitvar
(void)std::mbrlen(pmb2,m,s);
// cppcheck-suppress uninitvar
(void)std::mbrlen(p,max2,s);
// cppcheck-suppress uninitvar
(void)std::mbrlen(p,m,ps2);
// no warning is expected
(void)std::mbrlen(p,m,s);
}
void nullPointer_mbrlen(const char* p, size_t m, mbstate_t* s)
{
// no warning is expected: A call to the function with a null pointer as pmb resets the shift state (and ignores parameter max).
(void)std::mbrlen(NULL,m,s);
(void)std::mbrlen(NULL,0,s);
// cppcheck-suppress nullPointer
(void)std::mbrlen(p,m,NULL);
}
void uninitvar_btowc(void)
{
int c;
// cppcheck-suppress uninitvar
(void)std::btowc(c);
}
void uninitvar_mbsinit(void)
{
const mbstate_t* ps;
// cppcheck-suppress uninitvar
(void)std::mbsinit(ps);
}
void uninitvar_mbstowcs(void)
{
wchar_t *ws;
const char *s;
size_t n;
// cppcheck-suppress uninitvar
(void)std::mbstowcs(ws,s,n);
}
void uninitvar_mbsrtowcs(void)
{
wchar_t* dest;
const char* src;
size_t max;
mbstate_t* ps;
// cppcheck-suppress uninitvar
(void)std::mbsrtowcs(dest,&src,max,ps);
}
void uninitvar_wctob(void)
{
wint_t wc;
// cppcheck-suppress uninitvar
(void)std::wctob(wc);
}
void uninitvar_wctomb(void)
{
char *s;
wchar_t wc;
// cppcheck-suppress uninitvar
(void)std::wctomb(s,wc);
}
void uninitvar_wcstombs(void)
{
char *mbstr;
const wchar_t *wcstr;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wcstombs(mbstr,wcstr,n);
}
void uninitvar_getc(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::getc(stream);
}
void uninitvar_getwc(void)
{
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::getwc(stream);
}
void uninitvar_ungetc(void)
{
int c;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::ungetc(c,stream);
}
void uninitvar_ungetwc(void)
{
wint_t c;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::ungetwc(c,stream);
}
void uninitvar_getenv(void)
{
const char *name;
// cppcheck-suppress uninitvar
(void)std::getenv(name);
}
void uninitvar_gmtime(void)
{
const time_t *tp;
// cppcheck-suppress uninitvar
(void)std::gmtime(tp);
}
void uninitvar_iswalnum(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswalnum(i);
}
void uninitvar_iswalpha(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswalpha(i);
}
void uninitvar_isblank(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::isblank(i);
}
void uninitvar_iswblank(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswblank(i);
}
void uninitvar_iswcntrl(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswcntrl(i);
}
void uninitvar_iswctype(void)
{
wint_t c;
wctype_t desc;
// cppcheck-suppress uninitvar
(void)std::iswctype(c,desc);
}
void uninitvar_iswdigit(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswdigit(i);
}
void uninitvar_iswgraph(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswgraph(i);
}
void uninitvar_iswlower(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswlower(i);
}
void uninitvar_iswprint(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswprint(i);
}
void uninitvar_ispunct(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::ispunct(i);
}
void uninitvar_iswpunct(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswpunct(i);
}
void uninitvar_iswspace(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswspace(i);
}
void uninitvar_iswupper(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswupper(i);
}
void uninitvar_iswxdigit(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::iswxdigit(i);
}
void uninitvar_towctrans(void)
{
wint_t c;
wctrans_t desc;
// cppcheck-suppress uninitvar
(void)std::towctrans(c,desc);
}
void uninitvar_towlower(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::towlower(i);
}
void uninitvar_towupper(void)
{
wint_t i;
// cppcheck-suppress uninitvar
(void)std::towupper(i);
}
void uninitvar_wctrans(void)
{
const char* property;
// cppcheck-suppress uninitvar
(void)std::wctrans(property);
}
void uninitvar_wctype(void)
{
const char* property;
// cppcheck-suppress uninitvar
(void)std::wctype(property);
}
void uninitvar_labs(void)
{
long int li;
// cppcheck-suppress uninitvar
(void)std::labs(li);
long long int lli;
// cppcheck-suppress uninitvar
(void)std::llabs(lli);
}
void uninitvar_ldexp(void)
{
float fd;
int e1;
// cppcheck-suppress uninitvar
(void)std::ldexp(fd,e1);
double dc;
int e2;
// cppcheck-suppress uninitvar
(void)std::ldexp(dc,e2);
long double ldc;
int e3;
// cppcheck-suppress uninitvar
(void)std::ldexp(ldc,e3);
}
void uninitvar_lgamma(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::lgammaf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::lgamma(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::lgammal(ld);
}
void uninitvar_rint(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::rintf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::rint(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::rintl(ld);
}
void uninitvar_lrint(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::lrintf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::lrint(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::lrintl(ld);
}
void uninitvar_llrint(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::llrintf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::llrint(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::llrintl(ld);
}
void uninitvar_lround(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::lroundf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::lround(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::lroundl(ld);
}
void uninitvar_llround(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::llroundf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::llround(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::llroundl(ld);
}
void uninitvar_srand(void)
{
unsigned int seed;
// cppcheck-suppress uninitvar
(void)std::srand(seed);
}
void uninitvar_ldiv(void)
{
long int l1;
long int l2;
// cppcheck-suppress uninitvar
(void)std::ldiv(l1,l2);
long long int ll1;
long long int ll2;
// cppcheck-suppress uninitvar
(void)std::lldiv(ll1,ll2);
}
void uninitvar_localtime(void)
{
const time_t *tp;
// cppcheck-suppress uninitvar
(void)std::localtime(tp);
}
void uninitvar_log(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::log(f);
double d;
// cppcheck-suppress uninitvar
(void)std::log(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::log(ld);
}
void uninitvar_fpclassify(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::fpclassify(f);
double d;
// cppcheck-suppress uninitvar
(void)std::fpclassify(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::fpclassify(ld);
}
void uninitvar_isfinite(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::isfinite(f);
double d;
// cppcheck-suppress uninitvar
(void)std::isfinite(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::isfinite(ld);
}
void uninitvar_isgreater(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::isgreater(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::isgreater(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::isgreater(ld1,ld2);
}
void uninitvar_isgreaterequal(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::isgreaterequal(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::isgreaterequal(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::isgreaterequal(ld1,ld2);
}
void uninitvar_isinf(void)
{
double d;
// cppcheck-suppress uninitvar
(void)std::isinf(d);
}
void uninitvar_logb(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::logbf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::logb(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::logbl(ld);
}
void uninitvar_isless(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::isless(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::isless(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::isless(ld1,ld2);
}
void uninitvar_islessequal(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::islessequal(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::islessequal(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::islessequal(ld1,ld2);
}
void uninitvar_islessgreater(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::islessgreater(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::islessgreater(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::islessgreater(ld1,ld2);
}
void uninitvar_nan(void)
{
const char *tagp1, *tagp2, *tagp3;
// cppcheck-suppress uninitvar
(void)std::nanf(tagp1);
// cppcheck-suppress uninitvar
(void)std::nan(tagp2);
// cppcheck-suppress uninitvar
(void)std::nanl(tagp3);
}
void uninitvar_isnan(void)
{
double d;
// cppcheck-suppress uninitvar
(void)std::isnan(d);
}
void uninitvar_isnormal(void)
{
double d;
// cppcheck-suppress uninitvar
(void)std::isnormal(d);
}
void uninitvar_isunordered(void)
{
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::isunordered(d1,d2);
}
void uninitvar_ilogb(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::ilogb(f);
double d;
// cppcheck-suppress uninitvar
(void)std::ilogb(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::ilogb(ld);
}
void uninitvar_log10(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::log10(f);
double d;
// cppcheck-suppress uninitvar
(void)std::log10(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::log10(ld);
}
void uninitvar_log1p(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::log1pf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::log1p(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::log1pl(ld);
}
void uninitvar_log2(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::log2f(f);
double d;
// cppcheck-suppress uninitvar
(void)std::log2(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::log2l(ld);
}
void uninitvar_nearbyint(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::nearbyintf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::nearbyint(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::nearbyintl(ld);
}
void uninitvar_nextafter(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::nextafterf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::nextafter(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::nextafterl(ld1,ld2);
}
void uninitvar_nexttoward(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::nexttowardf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::nexttoward(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::nexttowardl(ld1,ld2);
}
void uninitvar_longjmp(void)
{
jmp_buf env;
int val;
// cppcheck-suppress uninitvar
(void)std::longjmp(env,val);
}
void uninitvar_malloc(void)
{
size_t size;
// cppcheck-suppress [uninitvar, cstyleCast]
int *p = (int*)std::malloc(size);
free(p);
}
void uninitvar_memchr(void)
{
void *cs;
int c;
size_t n;
// cppcheck-suppress uninitvar
(void)std::memchr(cs,c,n);
}
void uninitvar_wmemchr(void)
{
wchar_t *cs;
wchar_t c;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wmemchr(cs,c,n);
}
void uninitvar_memcmp(void)
{
const void *s1;
const void *s2;
size_t n;
// cppcheck-suppress uninitvar
(void)std::memcmp(s1,s2,n);
}
void uninitvar_wmemcmp(void)
{
const wchar_t *s1;
const wchar_t *s2;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wmemcmp(s1,s2,n);
}
void uninitvar_memcpy(void)
{
void *ct;
const void *cs;
size_t n;
// cppcheck-suppress uninitvar
(void)std::memcpy(ct,cs,n);
}
void uninitvar_wmemcpy(void)
{
wchar_t *cs;
const wchar_t *c;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wmemcpy(cs,c,n);
}
void uninitvar_memmove(void)
{
void *ct;
const void *cs;
size_t n;
// cppcheck-suppress uninitvar
(void)std::memmove(ct,cs,n);
}
void uninitvar_wmemmove(void)
{
wchar_t *cs;
wchar_t *c;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wmemmove(cs,c,n);
}
void uninitvar_memset(void)
{
void *s;
int c;
size_t n;
// cppcheck-suppress uninitvar
(void)std::memset(s,c,n);
}
void uninitvar_wmemset(void)
{
wchar_t *cs;
wchar_t c;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wmemset(cs,c,n);
}
void uninitvar_mktime(void)
{
struct tm *tp;
// cppcheck-suppress uninitvar
(void)std::mktime(tp);
}
void uninivar_modf(void)
{
float f1;
float *f2;
// cppcheck-suppress uninitvar
(void)std::modf(f1,f2);
double d1;
double *d2;
// cppcheck-suppress uninitvar
(void)std::modf(d1,d2);
long double ld1;
long double *ld2;
// cppcheck-suppress uninitvar
(void)std::modf(ld1,ld2);
}
void uninivar_perror(void)
{
const char *string;
// cppcheck-suppress uninitvar
(void)std::perror(string);
}
void uninitvar_pow(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::pow(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::pow(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::pow(ld1,ld2);
}
void uninitvar_remainder(void)
{
float f1,f2;
// cppcheck-suppress uninitvar
(void)std::remainderf(f1,f2);
double d1,d2;
// cppcheck-suppress uninitvar
(void)std::remainder(d1,d2);
long double ld1,ld2;
// cppcheck-suppress uninitvar
(void)std::remainderl(ld1,ld2);
}
void uninitvar_remquo(void)
{
float f1,f2;
int *i1;
// cppcheck-suppress uninitvar
(void)std::remquof(f1,f2,i1);
double d1,d2;
int *i2;
// cppcheck-suppress uninitvar
(void)std::remquo(d1,d2,i2);
long double ld1,ld2;
int *i3;
// cppcheck-suppress uninitvar
(void)std::remquol(ld1,ld2,i3);
}
void uninivar_printf(const char *Format, int Argument)
{
const char * format_1, * format_2, * format_3;
int argument1, argument2;
// no warning is expected
(void)std::printf("x");
// cppcheck-suppress uninitvar
(void)std::printf(format_1,argument1);
// cppcheck-suppress uninitvar
(void)std::printf(Format,argument2);
// cppcheck-suppress uninitvar
(void)std::printf(format_2,Argument);
// cppcheck-suppress uninitvar
(void)std::printf(format_3,1);
// no warning is expected
(void)std::printf(Format,Argument);
}
void uninivar_vprintf(const char *Format, va_list Arg)
{
const char * format1, *format2;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vprintf(format1,arg);
// cppcheck-suppress uninitvar
(void)std::vprintf(format2,Arg);
// no warning is expected
(void)std::vprintf(Format,Arg);
// cppcheck-suppress va_list_usedBeforeStarted
(void)std::vprintf(Format,arg);
}
void uninivar_vwprintf(const wchar_t *Format, va_list Arg)
{
const wchar_t * format1, *format2;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vwprintf(format1,arg);
// cppcheck-suppress uninitvar
(void)std::vwprintf(format2,Arg);
// no warning is expected
(void)std::vwprintf(Format,Arg);
// cppcheck-suppress va_list_usedBeforeStarted
(void)std::vwprintf(Format,arg);
}
void uninivar_bsearch(void)
{
const void* key;
const void* base;
size_t num;
size_t size;
// cppcheck-suppress [uninitvar, cstyleCast]
(void)std::bsearch(key,base,num,size,(int (*)(const void*,const void*))strcmp);
}
void minsize_bsearch(const void* key, const void* base,
size_t num, size_t size,
int (*compar)(const void*,const void*))
{
const int Base[3] = {42, 43, 44};
(void)std::bsearch(key,Base,2,size,(int (*)(const void*,const void*))strcmp); // cppcheck-suppress cstyleCast
(void)std::bsearch(key,Base,3,size,(int (*)(const void*,const void*))strcmp); // cppcheck-suppress cstyleCast
(void)std::bsearch(key,Base,4,size,(int (*)(const void*,const void*))strcmp); // cppcheck-suppress cstyleCast
(void)std::bsearch(key,base,2,size,(int (*)(const void*,const void*))strcmp); // cppcheck-suppress cstyleCast
}
void uninitvar_qsort(void)
{
void *base;
size_t n;
size_t size;
// cppcheck-suppress uninitvar
(void)std::qsort(base,n,size, (int (*)(const void*,const void*))strcmp); // cppcheck-suppress cstyleCast
}
void uninitvar_stable_sort(std::vector<int>& v)
{
std::vector<int>::iterator end;
// cppcheck-suppress uninitvar
std::stable_sort(v.begin(), end);
}
void uninitvar_merge(const std::vector<int>& a, const std::vector<int>& b)
{
std::vector<int>::iterator dst;
// cppcheck-suppress uninitvar
std::merge(a.begin(), a.end(), b.begin(), b.end(), dst);
}
void uninitvar_push_heap(std::vector<int>& v)
{
std::vector<int>::iterator end;
// cppcheck-suppress uninitvar
std::push_heap(v.begin(), end);
}
void uninitvar_copy_n(const std::vector<int>& v)
{
std::vector<int>::iterator dst;
// cppcheck-suppress [uninitvar, invalidFunctionArg]
std::copy_n(v.begin(), -1, dst);
}
void uninitvar_iota(std::vector<int>& v)
{
int i;
// cppcheck-suppress uninitvar
std::iota(v.begin(), v.end(), i);
}
void uninitvar_putc(void)
{
int c;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::putc(c,stream);
}
void uninitvar_putwc(void)
{
wchar_t c;
FILE *stream;
// cppcheck-suppress uninitvar
(void)std::putc(c,stream);
}
void uninitvar_putchar(void)
{
int c;
// cppcheck-suppress uninitvar
(void)std::putchar(c);
}
void uninitvar_putwchar(void)
{
wchar_t c;
// cppcheck-suppress uninitvar
(void)std::putwchar(c);
}
void uninitvar_puts(void)
{
const char *s;
// cppcheck-suppress uninitvar
(void)std::puts(s);
}
void uninitvar_realloc(void)
{
void *block;
size_t newsize;
// cppcheck-suppress uninitvar
void *p = std::realloc(block, newsize);
free(p);
}
void uninitvar_remove(void)
{
const char *s;
// cppcheck-suppress uninitvar
(void)std::remove(s);
}
void uninitvar_rename(void)
{
const char *s1;
const char *s2;
// cppcheck-suppress uninitvar
(void)std::rename(s1,s2);
}
void uninitvar_rewind(void)
{
FILE *f;
// cppcheck-suppress uninitvar
(void)std::rewind(f);
}
void uninitvar_round(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::roundf(f);
double d;
// cppcheck-suppress uninitvar
(void)std::round(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::roundl(ld);
}
void uninivar_scalbn(void)
{
float f;
int i1;
// cppcheck-suppress uninitvar
(void)std::scalbnf(f,i1);
double d;
int i2;
// cppcheck-suppress uninitvar
(void)std::scalbn(d,i2);
long double ld;
int i3;
// cppcheck-suppress uninitvar
(void)std::scalbnl(ld,i3);
}
void uninivar_scalbln(void)
{
float f;
long int i1;
// cppcheck-suppress uninitvar
(void)std::scalblnf(f,i1);
double d;
long int i2;
// cppcheck-suppress uninitvar
(void)std::scalbln(d,i2);
long double ld;
long int i3;
// cppcheck-suppress uninitvar
(void)std::scalblnl(ld,i3);
}
void uninitvar_signbit(void)
{
double d;
// cppcheck-suppress uninitvar
(void)std::signbit(d);
}
void uninivar_signal(void)
{
int i;
// cppcheck-suppress uninitvar
std::signal(i, exit);
}
void uninivar_raise(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::raise(i);
}
void uninivar_scanf(void)
{
const char *format;
char str[42];
// cppcheck-suppress uninitvar
(void)std::scanf(format, str);
}
void uninivar_vsscanf(void)
{
const char *s;
const char *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vsscanf(s,format,arg);
}
void uninivar_vswscanf(void)
{
const wchar_t *s;
const wchar_t *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vswscanf(s,format,arg);
}
void uninivar_vscanf(void)
{
const char *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vscanf(format,arg);
}
void uninivar_vwscanf(void)
{
const wchar_t *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vwscanf(format,arg);
}
void uninivar_setbuf(void)
{
FILE *stream;
char *buf;
// cppcheck-suppress uninitvar
(void)std::setbuf(stream,buf);
}
void nullPointer_setbuf(FILE *stream, char *buf)
{
// cppcheck-suppress nullPointer
std::setbuf(NULL,buf);
std::setbuf(stream,NULL);
std::setbuf(stream,buf);
}
int bufferAccessOutOfBounds_setvbuf(FILE* stream, int mode, size_t size)
{
char buf[42]={0};
// cppcheck-suppress bufferAccessOutOfBounds
(void) std::setvbuf(stream, buf, mode, 43);
return std::setvbuf(stream, buf, mode, 42);
}
int nullPointer_setvbuf(FILE* stream, char *buf, int mode, size_t size)
{
// cppcheck-suppress nullPointer
(void) std::setvbuf(NULL, buf, mode, size);
(void) std::setvbuf(stream, NULL, mode, size);
return std::setvbuf(stream, buf, mode, size);
}
void uninivar_setvbuf(void)
{
FILE *stream;
char *buf;
int mode;
size_t size;
// cppcheck-suppress uninitvar
(void)std::setvbuf(stream,buf,mode,size);
}
void uninitvar_strcat(char *dest, const char * const source)
{
char *deststr1, *deststr2;
const char *srcstr1, *srcstr2;
// cppcheck-suppress uninitvar
(void)std::strcat(deststr1,srcstr1);
// cppcheck-suppress uninitvar
(void)std::strcat(dest,srcstr2);
// cppcheck-suppress uninitvar
(void)std::strcat(deststr2,source);
// no warning shall be shown for
(void)std::strcat(dest,source);
}
void uninitvar_wcscat(wchar_t *dest, const wchar_t * const source)
{
wchar_t *deststr_1, *deststr_2;
const wchar_t *srcstr1, *srcstr2;
// cppcheck-suppress uninitvar
(void)std::wcscat(deststr_1,srcstr1);
// cppcheck-suppress uninitvar
(void)std::wcscat(dest,srcstr2);
// cppcheck-suppress uninitvar
(void)std::wcscat(deststr_2,source);
// no warning shall be shown for
(void)std::wcscat(dest,source);
}
void uninivar_wcrtomb(void)
{
char *s;
wchar_t wc;
mbstate_t *ps;
// cppcheck-suppress uninitvar
(void)std::wcrtomb(s,wc,ps);
}
void uninivar_strchr(void)
{
const char *cs;
int c;
// cppcheck-suppress uninitvar
(void)std::strchr(cs,c);
}
void uninivar_wcschr(void)
{
const wchar_t *cs;
wchar_t c;
// cppcheck-suppress uninitvar
(void)std::wcschr(cs,c);
}
void uninivar_strcmp(void)
{
const char *str1;
const char *str2;
// cppcheck-suppress uninitvar
(void)std::strcmp(str1,str2);
}
void uninivar_wcscmp(void)
{
const wchar_t *str1;
const wchar_t *str2;
// cppcheck-suppress uninitvar
(void)std::wcscmp(str1,str2);
}
void uninivar_strcpy(void)
{
char *str1;
const char *str2;
// cppcheck-suppress uninitvar
(void)std::strcpy(str1,str2);
}
void uninivar_wcscpy(void)
{
wchar_t *str1;
const wchar_t *str2;
// cppcheck-suppress uninitvar
(void)std::wcscpy(str1,str2);
}
void uninivar_strftime(void)
{
char *s;
size_t max;
const char *fmt;
const struct tm *p;
// cppcheck-suppress uninitvar
(void)std::strftime(s,max,fmt,p);
}
void uninivar_strlen(void)
{
const char *s;
// cppcheck-suppress uninitvar
(void)std::strlen(s);
}
void uninivar_wcslen(void)
{
const wchar_t *s;
// cppcheck-suppress uninitvar
(void)std::wcslen(s);
}
void uninivar_strncpy(void)
{
char *s;
const char *ct;
size_t n;
// cppcheck-suppress uninitvar
(void)std::strncpy(s,ct,n);
}
void uninivar_strpbrk(void)
{
const char *cs;
const char *ct;
// cppcheck-suppress uninitvar
(void)std::strpbrk(cs,ct);
}
void uninivar_strncat(char *Ct, const char *S, size_t N)
{
char *ct_1, *ct_2;
const char *s1, *s2;
size_t n1, n2;
// cppcheck-suppress uninitvar
(void)std::strncat(ct_1,s1,n1);
// cppcheck-suppress uninitvar
(void)std::strncat(ct_2,S,N);
// cppcheck-suppress uninitvar
(void)std::strncat(Ct,s2,N);
// cppcheck-suppress uninitvar
(void)std::strncat(Ct,S,n2);
// no warning is expected for
(void)std::strncat(Ct,S,N);
}
void uninivar_wcsncat(wchar_t *Ct, const wchar_t *S, size_t N)
{
wchar_t *ct_1, *ct_2;
const wchar_t *s1, *s2;
size_t n1, n2;
// cppcheck-suppress uninitvar
(void)std::wcsncat(ct_1,s1,n1);
// cppcheck-suppress uninitvar
(void)std::wcsncat(ct_2,S,N);
// cppcheck-suppress uninitvar
(void)std::wcsncat(Ct,s2,N);
// cppcheck-suppress uninitvar
(void)std::wcsncat(Ct,S,n2);
// no warning is expected for
(void)std::wcsncat(Ct,S,N);
}
void uninivar_strncmp(const char *Ct, const char *S, size_t N)
{
const char *ct1, *ct2;
const char *s1, *s2;
size_t n1, n2;
// cppcheck-suppress uninitvar
(void)std::strncmp(ct1,s1,n1);
// cppcheck-suppress uninitvar
(void)std::strncmp(ct2,S,N);
// cppcheck-suppress uninitvar
(void)std::strncmp(Ct,s2,N);
// cppcheck-suppress uninitvar
(void)std::strncmp(Ct,S,n2);
// no warning is expected for
(void)std::strncmp(Ct,S,N);
}
void uninivar_wcsncmp(const wchar_t *Ct, const wchar_t *S, size_t N)
{
const wchar_t *ct1, *ct2;
const wchar_t *s1, *s2;
size_t n1, n2;
// cppcheck-suppress uninitvar
(void)std::wcsncmp(ct1,s1,n1);
// cppcheck-suppress uninitvar
(void)std::wcsncmp(ct2,S,N);
// cppcheck-suppress uninitvar
(void)std::wcsncmp(Ct,s2,N);
// cppcheck-suppress uninitvar
(void)std::wcsncmp(Ct,S,n2);
// no warning is expected for
(void)std::wcsncmp(Ct,S,N);
}
void uninivar_strstr(void)
{
char *cs;
const char *ct;
// cppcheck-suppress uninitvar
(void)std::strstr(cs,ct);
}
void uninivar_wcsstr(void)
{
wchar_t *cs;
const wchar_t *ct;
// cppcheck-suppress uninitvar
(void)std::wcsstr(cs,ct);
}
void uninivar_strspn(void)
{
const char *cs;
const char *ct;
// cppcheck-suppress uninitvar
(void)std::strspn(cs,ct);
}
void uninivar_strxfrm(void)
{
char *ds;
const char *ss;
size_t n;
// cppcheck-suppress uninitvar
(void)std::strxfrm(ds,ss,n);
}
void uninivar_wcsxfrm(void)
{
wchar_t *ds;
const wchar_t *ss;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wcsxfrm(ds,ss,n);
}
void uninivar_wcsspn(void)
{
const wchar_t *ds;
const wchar_t *ss;
// cppcheck-suppress uninitvar
(void)std::wcsspn(ds,ss);
}
void uninivar_setlocale(void)
{
int category;
const char* locale;
// cppcheck-suppress uninitvar
(void)std::setlocale(category,locale);
}
void uninivar_strerror(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::strerror(i);
}
void uninivar_strcspn(void)
{
const char *cs;
const char *ct;
// cppcheck-suppress uninitvar
(void)std::strcspn(cs,ct);
}
void uninivar_wcscspn(void)
{
const wchar_t *cs;
const wchar_t *ct;
// cppcheck-suppress uninitvar
(void)std::wcscspn(cs,ct);
}
void uninivar_wcspbrk(void)
{
const wchar_t *cs;
const wchar_t *ct;
// cppcheck-suppress uninitvar
(void)std::wcspbrk(cs,ct);
}
void uninivar_wcsncpy(void)
{
wchar_t *cs;
const wchar_t *ct;
size_t n;
// cppcheck-suppress uninitvar
(void)std::wcsncpy(cs,ct,n);
}
void uninivar_strcoll(void)
{
const char *cs;
const char *ct;
// cppcheck-suppress uninitvar
(void)std::strcoll(cs,ct);
}
void uninivar_wcscoll(void)
{
const wchar_t *cs;
const wchar_t *ct;
// cppcheck-suppress uninitvar
(void)std::wcscoll(cs,ct);
}
void uninivar_strrchr(void)
{
const char * str;
int c;
// cppcheck-suppress uninitvar
(void)std::strrchr(str,c);
}
void uninivar_wcsrchr(void)
{
wchar_t* ws;
wchar_t wc;
// cppcheck-suppress uninitvar
(void)std::wcsrchr(ws,wc);
}
void uninivar_wcsrtombs(void)
{
char *dst;
const wchar_t * p;;
size_t len;
mbstate_t *ps;
// cppcheck-suppress uninitvar
(void)std::wcsrtombs(dst,&p,len,ps);
}
void uninivar_strtok(void)
{
char *s;
const char *ct;
// cppcheck-suppress uninitvar
(void)std::strtok(s,ct);
}
void uninivar_strtoimax(void)
{
const char *s1, *s2;
char **endp1, **endp2;
int base1, base2;
// cppcheck-suppress uninitvar
(void)std::strtoimax(s1,endp1,base1);
// cppcheck-suppress uninitvar
(void)std::strtoumax(s2,endp2,base2);
}
void uninivar_strtof(void)
{
const char *s1, *s2, *s3;
char **endp1, **endp2, **endp3;
// cppcheck-suppress uninitvar
(void)std::strtof(s1,endp1);
// cppcheck-suppress uninitvar
(void)std::strtod(s2,endp2);
// cppcheck-suppress uninitvar
(void)std::strtold(s3,endp3);
}
void uninivar_strtol(void)
{
const char *s1,*s2,*s3,*s4,*s5,*s6,*s7,*s8;
char **endp1, **endp2, **endp3, **endp4, **endp5, **endp6, **endp7, **endp8;
int base1, base2, base3, base4, base5, base6, base7, base8;
// cppcheck-suppress uninitvar
(void)std::strtol(s1,endp1,base1);
// cppcheck-suppress uninitvar
(void)std::strtoll(s2,endp2,base2);
// cppcheck-suppress uninitvar
(void)std::strtoul(s3,endp3,base3);
// cppcheck-suppress uninitvar
(void)std::strtoull(s4,endp4,base4);
// cppcheck-suppress uninitvar
(void)std::strtoimax(s5,endp5,base5);
// cppcheck-suppress uninitvar
(void)strtoimax(s6,endp6,base6);
// cppcheck-suppress uninitvar
(void)std::strtoumax(s7,endp7,base7);
// cppcheck-suppress uninitvar
(void)strtoumax(s8,endp8,base8);
}
void uninitvar_time(void)
{
time_t *tp;
// cppcheck-suppress uninitvar
(void)std::time(tp);
}
void uninitvar_tmpnam(void)
{
char *s;
// cppcheck-suppress uninitvar
(void)std::tmpnam(s);
}
void uninivar_tolower(void)
{
int c;
// cppcheck-suppress uninitvar
(void)std::tolower(c);
}
void uninivar_toupper(void)
{
int c;
// cppcheck-suppress uninitvar
(void)std::toupper(c);
}
void uninivar_wcstof(void)
{
const wchar_t *s1, *s2, *s3;
wchar_t **endp1, **endp2, **endp3;
// cppcheck-suppress uninitvar
(void)std::wcstof(s1,endp1);
// cppcheck-suppress uninitvar
(void)std::wcstod(s2,endp2);
// cppcheck-suppress uninitvar
(void)std::wcstold(s3,endp3);
}
void uninivar_stoX(void)
{
std::string str;
std::wstring wstr;
size_t* idx1;
size_t* idx2;
size_t* idx3;
size_t* idx4;
size_t* idx5;
size_t* idx6;
size_t* idx7;
size_t* idx8;
size_t* idx9;
size_t* idx10;
size_t* idx11;
size_t* idx12;
size_t* idx13;
size_t* idx14;
size_t* idx15;
size_t* idx16;
// cppcheck-suppress uninitvar
(void)std::stod(str,idx1);
// cppcheck-suppress uninitvar
(void)std::stod(wstr,idx2);
// cppcheck-suppress uninitvar
(void)std::stof(str,idx3);
// cppcheck-suppress uninitvar
(void)std::stof(wstr,idx4);
// cppcheck-suppress uninitvar
(void)std::stoi(str,idx5);
// cppcheck-suppress uninitvar
(void)std::stoi(wstr,idx6);
// cppcheck-suppress uninitvar
(void)std::stol(str,idx7);
// cppcheck-suppress uninitvar
(void)std::stol(wstr,idx8);
// cppcheck-suppress uninitvar
(void)std::stold(str,idx9);
// cppcheck-suppress uninitvar
(void)std::stold(wstr,idx10);
// cppcheck-suppress uninitvar
(void)std::stoll(str,idx11);
// cppcheck-suppress uninitvar
(void)std::stoll(wstr,idx12);
// cppcheck-suppress uninitvar
(void)std::stoul(str,idx13);
// cppcheck-suppress uninitvar
(void)std::stoul(wstr,idx14);
// cppcheck-suppress uninitvar
(void)std::stoull(str,idx15);
// cppcheck-suppress uninitvar
(void)std::stoull(wstr,idx16);
}
void uninivar_to_string(void)
{
int i;
long l;
long long ll;
unsigned u;
unsigned long ul;
unsigned long long ull;
float f;
double d;
long double ld;
// cppcheck-suppress uninitvar
(void)std::to_string(i);
// cppcheck-suppress uninitvar
(void)std::to_string(l);
// cppcheck-suppress uninitvar
(void)std::to_string(ll);
// cppcheck-suppress uninitvar
(void)std::to_string(u);
// cppcheck-suppress uninitvar
(void)std::to_string(ul);
// cppcheck-suppress uninitvar
(void)std::to_string(ull);
// cppcheck-suppress uninitvar
(void)std::to_string(f);
// cppcheck-suppress uninitvar
(void)std::to_string(d);
// cppcheck-suppress uninitvar
(void)std::to_string(ld);
}
void uninivar_to_wstring(void)
{
int i;
long l;
long long ll;
unsigned u;
unsigned long ul;
unsigned long long ull;
float f;
double d;
long double ld;
// cppcheck-suppress uninitvar
(void)std::to_wstring(i);
// cppcheck-suppress uninitvar
(void)std::to_wstring(l);
// cppcheck-suppress uninitvar
(void)std::to_wstring(ll);
// cppcheck-suppress uninitvar
(void)std::to_wstring(u);
// cppcheck-suppress uninitvar
(void)std::to_wstring(ul);
// cppcheck-suppress uninitvar
(void)std::to_wstring(ull);
// cppcheck-suppress uninitvar
(void)std::to_wstring(f);
// cppcheck-suppress uninitvar
(void)std::to_wstring(d);
// cppcheck-suppress uninitvar
(void)std::to_wstring(ld);
}
void uninivar_mbrtowc(void)
{
wchar_t* pwc;
const char* pmb;
size_t max;
mbstate_t* ps;
// cppcheck-suppress uninitvar
(void)std::mbrtowc(pwc,pmb,max,ps);
}
void uninivar_wcstok(void)
{
wchar_t *s;
const wchar_t *ct;
wchar_t **ptr;
// cppcheck-suppress uninitvar
(void)std::wcstok(s,ct,ptr);
}
void uninivar_wcstoimax(void)
{
const wchar_t *s1, *s2;
wchar_t ** endp1, **endp2;
int base1, base2;
// cppcheck-suppress uninitvar
(void)std::wcstoimax(s1,endp1,base1);
// cppcheck-suppress uninitvar
(void)std::wcstoumax(s2,endp2,base2);
}
void uninivar_wcstol(void)
{
const wchar_t *s1,*s2,*s3,*s4,*s5,*s6,*s7,*s8;
wchar_t **endp1, **endp2, **endp3, **endp4, **endp5, **endp6, **endp7, **endp8;
int base1, base2, base3, base4, base5, base6, base7, base8;
// cppcheck-suppress uninitvar
(void)std::wcstol(s1,endp1,base1);
// cppcheck-suppress uninitvar
(void)std::wcstoll(s2,endp2,base2);
// cppcheck-suppress uninitvar
(void)std::wcstoul(s3,endp3,base3);
// cppcheck-suppress uninitvar
(void)std::wcstoull(s4,endp4,base4);
// cppcheck-suppress uninitvar
(void)std::wcstoimax(s5,endp5,base5);
// cppcheck-suppress uninitvar
(void)wcstoimax(s6,endp6,base6);
// cppcheck-suppress uninitvar
(void)std::wcstoumax(s7,endp7,base7);
// cppcheck-suppress uninitvar
(void)wcstoumax(s8,endp8,base8);
}
void uninitvar_wprintf(const wchar_t *Format, int Argument)
{
const wchar_t *format1, *format2, *format3;
int argument1, argument2;
// cppcheck-suppress uninitvar
(void)std::wprintf(format1,argument1);
// cppcheck-suppress uninitvar
(void)std::wprintf(format2);
// cppcheck-suppress uninitvar
(void)std::wprintf(Format,argument2);
// cppcheck-suppress uninitvar
(void)std::wprintf(format3,Argument);
// no warning is expected
(void)std::wprintf(Format,Argument);
(void)std::wprintf(Format);
}
void uninitvar_sprintf(void)
{
char *s;
const char *format;
int i;
// cppcheck-suppress uninitvar
(void)std::sprintf(s,format,i);
}
void uninitvar_swprintf(void)
{
wchar_t *s;
size_t n;
const wchar_t *format;
// cppcheck-suppress uninitvar
(void)std::swprintf(s,n,format);
}
void uninitvar_vsprintf(void)
{
char *s;
const char *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vsprintf(s,format,arg);
}
void nullPointer_vsprintf(va_list arg,const char *format)
{
char *s = NULL;
(void)std::vsprintf(s,format,arg); // Its allowed to provide 's' as NULL pointer
// cppcheck-suppress nullPointer
(void)std::vsprintf(s,NULL,arg);
}
void uninitvar_vswprintf(void)
{
wchar_t *s;
size_t n;
const wchar_t *format;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vswprintf(s,n,format,arg);
}
void uninivar_fwprintf(void)
{
FILE* stream;
const wchar_t* format;
int i;
// cppcheck-suppress uninitvar
(void)std::fwprintf(stream,format,i);
}
void uninivar_snprintf(char *S, size_t N, const char *Format, int Int)
{
size_t n1, n2;
const char *format1, *format2;
int i1, i2;
char *s1, *s2;
// cppcheck-suppress uninitvar
(void)std::snprintf(s1,n1,format1,i1);
// cppcheck-suppress uninitvar
(void)std::snprintf(S,n2,Format,Int); // n is uninitialized
// cppcheck-suppress uninitvar
(void)std::snprintf(S,N,format2,Int); // format is uninitialized
// cppcheck-suppress uninitvar
(void)std::snprintf(S,N,Format,i2); // i is uninitialized
// cppcheck-suppress uninitvar
(void)std::snprintf(s2,N,Format,Int);
// no warning is expected for
(void)std::snprintf(S,N,Format,Int);
}
void uninivar_vsnprintf(char *S, size_t N, const char *Format, va_list Arg)
{
char *s1, *s2;
size_t n1, n2;
const char *format1, *format2;
va_list arg;
// cppcheck-suppress va_list_usedBeforeStarted
// cppcheck-suppress uninitvar
(void)std::vsnprintf(s1,n1,format1,arg);
// cppcheck-suppress uninitvar
(void)std::vsnprintf(s2,N,Format,Arg);
// cppcheck-suppress uninitvar
(void)std::vsnprintf(S,n2,Format,Arg);
// cppcheck-suppress uninitvar
(void)std::vsnprintf(S,N,format2,Arg);
// no warning is expected for
(void)std::vsnprintf(S,N,Format,Arg);
// cppcheck-suppress va_list_usedBeforeStarted
(void)std::vsnprintf(S,N,Format,arg);
}
void uninivar_wscanf(void)
{
const wchar_t *format1, *format2;
int i;
// cppcheck-suppress uninitvar
(void)std::wscanf(format1);
// cppcheck-suppress uninitvar
(void)std::wscanf(format2,&i);
}
void uninivar_sscanf(void)
{
const char *string1, *string2;
const char * format;
int i;
// cppcheck-suppress uninitvar
(void)std::sscanf(string1,format);
// cppcheck-suppress uninitvar
(void)std::sscanf(string2,format,&i);
}
void uninivar_fwscanf(void)
{
FILE* stream;
const wchar_t* format1, *format2;
int i;
// cppcheck-suppress uninitvar
(void)std::fwscanf(stream,format1);
// cppcheck-suppress uninitvar
(void)std::fwscanf(stream,format2,&i);
}
void uninivar_swscanf(void)
{
const wchar_t* s;
const wchar_t* format1, *format2;
int i;
// cppcheck-suppress uninitvar
(void)std::swscanf(s,format1);
// cppcheck-suppress uninitvar
(void)std::swscanf(s,format2,&i);
}
void uninitvar_system(void)
{
const char *c;
// cppcheck-suppress uninitvar
(void)std::system(c);
}
#ifndef __STDC_NO_THREADS__
void nullPointer_mtx_destroy(mtx_t *mutex )
{
// cppcheck-suppress nullPointer
mtx_destroy(nullptr);
mtx_destroy(mutex);
}
void nullPointer_mtx_lock( mtx_t *mutex )
{
// cppcheck-suppress nullPointer
mtx_lock(nullptr);
mtx_lock(mutex);
}
void nullPointer_mtx_trylock( mtx_t *mutex )
{
// cppcheck-suppress nullPointer
mtx_trylock(nullptr);
mtx_trylock(mutex);
}
int nullPointer_mtx_timedlock( mtx_t *mutex, const struct timespec *time_point )
{
// cppcheck-suppress nullPointer
(void) mtx_timedlock(nullptr, time_point);
// cppcheck-suppress nullPointer
(void) mtx_timedlock(mutex, nullptr);
return mtx_timedlock(mutex, time_point);
}
#endif
void nullPointer_system(const char *c)
{
// If a null pointer is given, command processor is checked for existence
(void)std::system(NULL);
(void)std::system(c);
}
void uninitvar_setw(void)
{
int i;
// cppcheck-suppress uninitvar
std::cout << std::setw(i);
}
void uninitvar_setiosflags(void)
{
std::ios_base::fmtflags mask;
// TODO cppcheck-suppress uninitvar
std::cout << std::setiosflags(mask); // #6987 - false negative
}
void uninitvar_resetiosflags(void)
{
std::ios_base::fmtflags mask;
// TODO cppcheck-suppress uninitvar
std::cout << std::resetiosflags(mask); // #6987 - false negative
}
void uninitvar_setfill(void)
{
char c;
// cppcheck-suppress uninitvar
std::cout << std::setfill(c);
wchar_t wc;
// cppcheck-suppress uninitvar
std::wcout << std::setfill(wc);
}
void uninitvar_setprecision(void)
{
int p;
// cppcheck-suppress uninitvar
std::cout << std::setprecision(p);
}
void uninitvar_setbase(void)
{
int p;
// cppcheck-suppress uninitvar
std::cout << std::setbase(p);
}
// cppcheck-suppress passedByValue
void uninitvar_find(std::string s)
{
// testing of size_t find (const string& str, size_t pos = 0)
size_t pos1, pos2, pos3, pos4, pos5, pos6, pos7;
// cppcheck-suppress uninitvar
(void)s.find("find",pos1); // #6991
// testing of size_t find (const char* s, size_t pos = 0) const;
char *pc, *pc2;
// cppcheck-suppress uninitvar
(void)s.find(pc,0);
// cppcheck-suppress uninitvar
(void)s.find(pc,pos2);
// cppcheck-suppress uninitvar
(void)s.find("test",pos3);
// testing of size_t find (char c, size_t pos = 0) const;
char c;
// cppcheck-suppress uninitvar
(void)s.find(c,pos4);
// testing of size_t find (const char* pc, size_t pos, size_t n) const;
size_t n1,n2,n3;
// cppcheck-suppress uninitvar
(void)s.find(pc,pos5,n1); // #6991
// cppcheck-suppress uninitvar
(void)s.find("test",pos6,n2);
// cppcheck-suppress uninitvar
(void)s.find("test",1,n3);
// cppcheck-suppress uninitvar
(void)s.find("test",pos7,1);
// cppcheck-suppress uninitvar
(void)s.find(pc2,1,1);
}
void uninivar_ifstream_read(std::ifstream &f)
{
int size;
char buffer[10];
// cppcheck-suppress uninitvar
f.read(buffer, size);
}
void uninivar_istream_read(std::istream &f)
{
int size;
char buffer[10];
// cppcheck-suppress uninitvar
f.read(buffer, size);
}
void uninitvar_string_compare(const std::string &teststr, const std::wstring &testwstr)
{
const char *pStrUninit;
// cppcheck-suppress uninitvar
(void)teststr.compare(pStrUninit);
const wchar_t *pWStrUninit;
// cppcheck-suppress uninitvar
(void)testwstr.compare(pWStrUninit);
}
void invalidFunctionArgBool_abs(bool b, double x, double y)
{
// cppcheck-suppress invalidFunctionArgBool
(void)std::abs(true); // #6990
// cppcheck-suppress invalidFunctionArgBool
(void)std::abs(b); // #6990
// cppcheck-suppress invalidFunctionArgBool
(void)std::abs(x<y); // #5635
}
void ignoredReturnValue_abs(int i)
{
// cppcheck-suppress ignoredReturnValue
std::abs(i);
// cppcheck-suppress ignoredReturnValue
std::abs(-199);
}
// cppcheck-suppress passedByValue
void ignoredReturnValue_string_compare(std::string teststr, std::wstring testwstr)
{
// cppcheck-suppress ignoredReturnValue
teststr.compare("test");
// cppcheck-suppress ignoredReturnValue
testwstr.compare(L"wtest");
}
// cppcheck-suppress constParameterReference
void ignoredReturnValue_container_access(std::string& s, std::string_view& sv, std::vector<int>& v)
{
// cppcheck-suppress ignoredReturnValue
s.begin();
// cppcheck-suppress ignoredReturnValue
v.end();
// cppcheck-suppress ignoredReturnValue
sv.front();
// cppcheck-suppress ignoredReturnValue
s.at(0);
}
void ignoredReturnValue_locale_global(const std::locale& loc)
{
// no ignoredReturnValue shall be shown for
std::locale::global(loc);
}
void ignoredReturnValue_make_pair()
{
// cppcheck-suppress ignoredReturnValue
std::make_pair(1, 2);
}
void nullPointer_ifstream_read(std::ifstream &f)
{
// cppcheck-suppress nullPointer
f.read(NULL, 10);
}
void nullPointer_istream_read(std::istream &f)
{
// cppcheck-suppress nullPointer
f.read(NULL, 10);
}
void nullPointer_asctime(void)
{
const struct tm *tm = 0;
// cppcheck-suppress asctimeCalled
// cppcheck-suppress nullPointer
(void)std::asctime(tm);
// cppcheck-suppress asctimeCalled
// cppcheck-suppress nullPointer
(void)std::asctime(0);
}
void nullPointer_wcsftime(wchar_t* ptr, size_t maxsize, const wchar_t* format, const struct tm* timeptr)
{
// cppcheck-suppress nullPointer
(void)std::wcsftime(NULL, maxsize, format, timeptr);
// cppcheck-suppress nullPointer
(void)std::wcsftime(ptr, maxsize, NULL, timeptr);
// cppcheck-suppress nullPointer
(void)std::wcsftime(ptr, maxsize, format, NULL);
(void)std::wcsftime(ptr, maxsize, format, timeptr);
}
void nullPointer_fegetenv(void)
{
fenv_t* envp = 0;
// cppcheck-suppress nullPointer
(void)std::fegetenv(envp);
// cppcheck-suppress nullPointer
(void)std::fegetenv(0);
}
void nullPointer_fegetexceptflag(int expects)
{
fexcept_t* flagp = 0;
// cppcheck-suppress nullPointer
(void)std::fegetexceptflag(flagp,expects);
// cppcheck-suppress nullPointer
(void)std::fegetexceptflag(0,expects);
}
void nullPointer_feholdexcept(void)
{
fenv_t* envp = 0;
// cppcheck-suppress nullPointer
(void)std::feholdexcept(envp);
// cppcheck-suppress nullPointer
(void)std::feholdexcept(0);
}
void nullPointer_fesetenv(void)
{
const fenv_t* envp = 0;
// cppcheck-suppress nullPointer
(void)std::fesetenv(envp);
// cppcheck-suppress nullPointer
(void)std::fesetenv(0);
}
void nullPointer_fesetexceptflag(int expects)
{
const fexcept_t* flagp = 0;
// cppcheck-suppress nullPointer
(void)std::fesetexceptflag(flagp,expects);
// cppcheck-suppress nullPointer
(void)std::fesetexceptflag(0,expects);
}
void nullPointer_feupdateenv(void)
{
const fenv_t* envp = 0;
// cppcheck-suppress nullPointer
(void)std::feupdateenv(envp);
// cppcheck-suppress nullPointer
(void)std::feupdateenv(0);
}
void nullPointer_atexit(void)
{
// cppcheck-suppress nullPointer
(void)std::atexit(0);
}
void nullPointer_atof(void)
{
const char * c = 0;
// cppcheck-suppress nullPointer
(void)std::atof(c);
// cppcheck-suppress nullPointer
(void)std::atof(0);
}
void nullPointer_memcpy(void *s1, const void *s2, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::memcpy(NULL,s2,n);
// cppcheck-suppress nullPointer
(void)std::memcpy(s1,NULL,n);
(void)std::memcpy(s1,s2,n);
}
void nullPointer_memmove(void *s1, void *s2, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::memmove(NULL,s2,n);
// cppcheck-suppress nullPointer
(void)std::memmove(s1,NULL,n);
(void)std::memmove(s1,s2,n);
}
void nullPointer_wmemmove(wchar_t* s1, const wchar_t* s2, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::wmemmove(NULL,s2,n);
// cppcheck-suppress nullPointer
(void)std::wmemmove(s1,NULL,n);
(void)std::wmemmove(s1,s2,n);
}
void nullPointer_wmemset(wchar_t* s, wchar_t c, size_t n)
{
// cppcheck-suppress nullPointer
(void)std::wmemset(NULL,c,n);
(void)std::wmemset(s,c,n);
}
///////////////////////////////////////////////////////////////////////
// <algorithm>
///////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <list>
#define pred [] (int i) {return i==0;}
void stdalgorithm(const std::list<int> &ints1, const std::list<int> &ints2)
{
// <!-- InputIterator std::find(InputIterator first, InputIterator last, T val) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::find(ints1.begin(), ints2.end(), 123);
// cppcheck-suppress mismatchingContainers
if (std::find(ints1.begin(), ints1.end(), 123) == ints2.end()) {}
// #9455
std::list<int>::const_iterator uninitItBegin;
std::list<int>::const_iterator uninitItEnd;
// cppcheck-suppress uninitvar
if (std::find(uninitItBegin, uninitItEnd, 123) == uninitItEnd) {}
// <!-- InputIterator std::find_if(InputIterator first, InputIterator last, UnaryPredicate val) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::find_if(ints1.begin(), ints2.end(), pred);
// cppcheck-suppress mismatchingContainers
if (std::find_if(ints1.begin(), ints1.end(), pred) == ints2.end()) {}
// <!-- InputIterator std::find_if_not(InputIterator first, InputIterator last, UnaryPredicate val) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::find_if_not(ints1.begin(), ints2.end(), pred);
// cppcheck-suppress mismatchingContainers
if (std::find_if_not(ints1.begin(), ints1.end(), pred) == ints2.end()) {}
// <!-- bool std::all_of(InputIterator first, InputIterator last, UnaryPredicate pred) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::all_of(ints1.begin(), ints2.end(), pred);
// <!-- bool std::any_of(InputIterator first, InputIterator last, UnaryPredicate pred) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::any_of(ints1.begin(), ints2.end(), pred);
// <!-- bool std::none_of(InputIterator first, InputIterator last, UnaryPredicate pred) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::none_of(ints1.begin(), ints2.end(), pred);
// <!-- difference_type std::count(InputIterator first, InputIterator last, T val) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::count(ints1.begin(), ints2.end(), 123);
// <!-- difference_type std::count_if(InputIterator first, InputIterator last, UnaryPredicate val) -->
// cppcheck-suppress mismatchingContainers
// cppcheck-suppress ignoredReturnValue
std::count_if(ints1.begin(), ints2.end(), pred);
// <!-- Function std::for_each(InputIterator first, InputIterator last, Function func) -->
// cppcheck-suppress mismatchingContainers
std::for_each(ints1.begin(), ints2.end(), [](int i) {});
}
void getline()
{
// #837
std::ifstream in("test1.txt");
char cBuf[10];
// cppcheck-suppress bufferAccessOutOfBounds
in.getline(cBuf, 100);
// cppcheck-suppress bufferAccessOutOfBounds
in.read(cBuf, 100);
// cppcheck-suppress bufferAccessOutOfBounds
in.readsome(cBuf, 100);
// cppcheck-suppress bufferAccessOutOfBounds
in.get(cBuf, 100);
// cppcheck-suppress bufferAccessOutOfBounds
in.get(cBuf, 100, 'a');
// cppcheck-suppress bufferAccessOutOfBounds
in.getline(cBuf, 100, 'a');
in.close();
}
// cppcheck-suppress passedByValue
void stream_write(std::ofstream& s, std::vector<char> v) {
if (v.empty()) {}
s.write(v.data(), v.size());
}
void stdstring()
{
std::string s;
// cppcheck-suppress ignoredReturnValue
s.size();
// valid
s.assign("a");
#ifdef __cpp_lib_starts_ends_with
// cppcheck-suppress ignoredReturnValue
s.starts_with("abc");
#endif
}
void stdvector()
{
int uninit1, uninit2, uninit3;
std::vector<int> v;
// cppcheck-suppress ignoredReturnValue
v.size();
// cppcheck-suppress ignoredReturnValue
v.capacity();
// cppcheck-suppress uselessCallsEmpty
// cppcheck-suppress ignoredReturnValue
v.empty();
// cppcheck-suppress ignoredReturnValue
v.max_size();
// cppcheck-suppress uninitvar
v.push_back(uninit1);
// cppcheck-suppress uninitvar
v.reserve(uninit2);
// cppcheck-suppress invalidFunctionArg
v.reserve(-1);
// no warning is expected for capacity 0 as it simply has no effect
v.reserve(0);
// cppcheck-suppress uninitvar
v.resize(uninit3);
// cppcheck-suppress invalidFunctionArg
v.resize(-1);
v.clear();
v.shrink_to_fit();
// no warning is expected for pop_back()
v.push_back(42);
v.pop_back();
v.push_back(42);
// cppcheck-suppress ignoredReturnValue
v.back();
// cppcheck-suppress ignoredReturnValue
v.front();
}
void stdbind_helper(int a)
{
printf("%d", a);
}
void stdbind()
{
using namespace std::placeholders;
// TODO cppcheck-suppress ignoredReturnValue #9369
std::bind(stdbind_helper, 1);
// TODO cppcheck-suppress unreadVariable
auto f1 = std::bind(stdbind_helper, _1);
// TODO cppcheck-suppress unreadVariable
auto f2 = std::bind(stdbind_helper, 10);
}
int stdexchange() {
int i;
// cppcheck-suppress uninitvar
int j = std::exchange(i, 5);
return j;
}
class A
{
std::vector<std::string> m_str;
public:
A() {}
// cppcheck-suppress functionConst
void begin_const_iterator(void)
{
for (std::vector<std::string>::const_iterator it = m_str.begin(); it != m_str.end(); ++it) {;}
}
// cppcheck-suppress functionConst
void cbegin_const_iterator(void)
{
for (std::vector<std::string>::const_iterator it = m_str.cbegin(); it != m_str.cend(); ++it) {;}
}
// cppcheck-suppress functionConst
void crbegin_const_iterator(void)
{
for (std::vector<std::string>::const_reverse_iterator it = m_str.crbegin(); it != m_str.crend(); ++it) {;}
}
// cppcheck-suppress functionConst
void rbegin_const_iterator(void)
{
for (std::vector<std::string>::const_reverse_iterator it = m_str.rbegin(); it != m_str.rend(); ++it) {;}
}
// cppcheck-suppress functionConst
void cbegin_auto(void)
{
for (auto it = m_str.cbegin(); it != m_str.cend(); ++it) {;}
}
void baz_begin_no_const_iterator(void)
{
for (std::vector<std::string>::iterator it = m_str.begin(); it != m_str.end(); ++it) {;}
}
void rbegin_no_const_iterator(void)
{
for (std::vector<std::string>::reverse_iterator it = m_str.rbegin(); it != m_str.rend(); ++it) {;}
}
};
void addressof(int a)
{
// cppcheck-suppress ignoredReturnValue
std::addressof(a);
}
void string_view_unused(std::string_view v)
{
// cppcheck-suppress ignoredReturnValue
v.substr(1, 3);
}
// cppcheck-suppress passedByValue
void string_substr(std::string s)
{
// cppcheck-suppress ignoredReturnValue
s.substr(1, 3);
}
void stdspan()
{
#ifndef __cpp_lib_span
#warning "This compiler does not support std::span"
#else
std::vector<int> vec{1,2,3,4};
std::span spn{vec};
// cppcheck-suppress unreadVariable
std::span spn2 = spn;
//cppcheck-suppress ignoredReturnValue
spn.begin();
//cppcheck-suppress ignoredReturnValue
spn.end();
//cppcheck-suppress ignoredReturnValue
spn.rbegin();
//cppcheck-suppress ignoredReturnValue
spn.front();
//cppcheck-suppress ignoredReturnValue
spn.back();
//cppcheck-suppress constStatement
spn[0];
//cppcheck-suppress ignoredReturnValue
spn.data();
//cppcheck-suppress ignoredReturnValue
spn.size();
//cppcheck-suppress ignoredReturnValue
spn.size_bytes();
//cppcheck-suppress ignoredReturnValue
spn.empty();
//cppcheck-suppress ignoredReturnValue
spn.first(2);
//cppcheck-suppress ignoredReturnValue
spn.last(2);
//cppcheck-suppress ignoredReturnValue
spn.subspan(1, 2);
spn.subspan<1>();
static constexpr std::array<int, 2> arr{1, 2};
constexpr std::span spn3{arr};
spn3.first<1>();
spn3.last<1>();
spn3.subspan<1, 1>();
#endif
}
void beginEnd()
{
std::vector<int> v;
//cppcheck-suppress ignoredReturnValue
std::begin(v);
//cppcheck-suppress ignoredReturnValue
std::rbegin(v);
//cppcheck-suppress ignoredReturnValue
std::cbegin(v);
//cppcheck-suppress ignoredReturnValue
std::crbegin(v);
//cppcheck-suppress ignoredReturnValue
std::end(v);
//cppcheck-suppress ignoredReturnValue
std::rend(v);
//cppcheck-suppress ignoredReturnValue
std::cend(v);
//cppcheck-suppress ignoredReturnValue
std::crend(v);
// cppcheck-suppress constVariable
int arr[4];
//cppcheck-suppress ignoredReturnValue
std::begin(arr);
//cppcheck-suppress ignoredReturnValue
std::rbegin(arr);
//cppcheck-suppress ignoredReturnValue
std::cbegin(arr);
//cppcheck-suppress ignoredReturnValue
std::crbegin(arr);
//cppcheck-suppress ignoredReturnValue
std::end(arr);
//cppcheck-suppress ignoredReturnValue
std::rend(arr);
//cppcheck-suppress ignoredReturnValue
std::cend(arr);
//cppcheck-suppress ignoredReturnValue
std::crend(arr);
}
void smartPtr_get()
{
std::unique_ptr<int> p;
//cppcheck-suppress ignoredReturnValue
p.get();
//cppcheck-suppress nullPointer
*p = 1;
}
void smartPtr_get2(std::vector<std::unique_ptr<int>>& v)
{
for (auto& u : v) {
int* p = u.get();
*p = 0;
}
}
void smartPtr_reset()
{
std::unique_ptr<int> p(new int());
p.reset(nullptr);
//cppcheck-suppress nullPointer
*p = 1;
}
void smartPtr_release()
{
std::unique_ptr<int> p{ new int() };
//cppcheck-suppress ignoredReturnValue
p.release();
//cppcheck-suppress nullPointer
*p = 1;
}
void std_vector_data_arithmetic()
{
std::vector<char> buf;
buf.resize(1);
memcpy(buf.data() + 0, "", 1);
}