std.cfg: Improved testing of libary functions. Removed some non existent such as std::sinf from the libary and added corresponding test cases to test/cfg/.

This commit is contained in:
Martin Ettl 2015-08-16 00:52:52 +02:00
parent ee4a5843bb
commit b2bf6cde5f
3 changed files with 412 additions and 26 deletions

View File

@ -52,7 +52,7 @@
<!-- double acos(double x); -->
<!-- float acosf(float x); -->
<!-- long double acosl(long double x); -->
<function name="acos,std::acos,acosf,std::acosf,acosl,std::acosl">
<function name="acos,std::acos,acosf,acosl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -64,7 +64,7 @@
<!-- double acosh(double x); -->
<!-- float acoshf(float x); -->
<!-- long double acoshl(long double x); -->
<function name="acosh,std::acosh,acoshf,std::acoshf,acoshl,std::acoshl">
<function name="acosh,std::acosh,acoshf,acoshl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -117,7 +117,7 @@
<!-- double sinh(double x); -->
<!-- float sinhf(float x); -->
<!-- long double sinhl(long double x); -->
<function name="sinh,sinhf,sinhl">
<function name="sinh,std::sinh,sinhf,sinhl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -129,7 +129,7 @@
<!-- double sin(double x); -->
<!-- float sinf(float f); -->
<!-- long double sinl(long double x); -->
<function name="sin,sinf,sinl">
<function name="sin,std::sin,sinf,sinl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -165,7 +165,7 @@
<!-- double asin(double x); -->
<!-- float asinf(float x); -->
<!-- long double asinl(long double x); -->
<function name="asin,asinf,asinl">
<function name="asin,std::asin,asinf,asinl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -189,7 +189,7 @@
<!-- double asinh(double x); -->
<!-- float asinhf(float x); -->
<!-- long double asinhl(long double x); -->
<function name="asinh,asinhf,asinhl">
<function name="asinh,std::asinh,asinhf,asinhl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>

View File

@ -333,6 +333,231 @@ void uninit_putchar(void)
putchar(c);
}
void uninitvar_cproj(void) // #6939
{
float complex fc;
// cppcheck-suppress uninitvar
(void)cprojf(fc);
double complex dc;
// cppcheck-suppress uninitvar
(void)cproj(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)cprojl(ldc);
}
void uninitvar_creal(void)
{
float complex fc;
// cppcheck-suppress uninitvar
(void)crealf(fc);
double complex dc;
// cppcheck-suppress uninitvar
(void)creal(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)creall(ldc);
}
void uninitvar_acos(void)
{
float f;
// cppcheck-suppress uninitvar
(void)acosf(f);
double d;
// cppcheck-suppress uninitvar
(void)acos(d);
long double ld;
// cppcheck-suppress uninitvar
(void)acosl(ld);
}
void uninitvar_acosh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)acoshf(f);
double d;
// cppcheck-suppress uninitvar
(void)acosh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)acoshl(ld);
}
void uninitvar_asctime(void)
{
const struct tm *tm;
// cppcheck-suppress uninitvar
// cppcheck-suppress obsoleteFunctionsasctime
(void)asctime(tm);
}
void uninitvar_assert(void)
{
int i;
// cppcheck-suppress uninitvar
assert(i);
}
void uninitvar_sqrt(void)
{
float f;
// cppcheck-suppress uninitvar
(void)sqrtf(f);
double d;
// cppcheck-suppress uninitvar
(void)sqrt(d);
long double ld;
// cppcheck-suppress uninitvar
(void)sqrtl(ld);
}
void uninitvar_csqrt(void)
{
float complex fc;
// cppcheck-suppress uninitvar
(void)csqrtf(fc);
double complex dc;
// cppcheck-suppress uninitvar
(void)csqrt(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)csqrtl(ldc);
}
void uninitvar_sinh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)sinhf(f);
double d;
// cppcheck-suppress uninitvar
(void)sinh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)sinhl(ld);
}
void uninitvar_sin(void)
{
float f;
// cppcheck-suppress uninitvar
(void)sinf(f);
double d;
// cppcheck-suppress uninitvar
(void)sin(d);
long double ld;
// cppcheck-suppress uninitvar
(void)sinl(ld);
}
void uninitvar_csin(void)
{
float complex fd;
// cppcheck-suppress uninitvar
(void)csinf(fd);
double complex dc;
// cppcheck-suppress uninitvar
(void)csin(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)csinl(ldc);
}
void uninitvar_csinh(void)
{
float complex fd;
// cppcheck-suppress uninitvar
(void)csinhf(fd);
double complex dc;
// cppcheck-suppress uninitvar
(void)csinh(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)csinhl(ldc);
}
void uninitvar_asin(void)
{
float f;
// cppcheck-suppress uninitvar
(void)asinf(f);
double d;
// cppcheck-suppress uninitvar
(void)asin(d);
long double ld;
// cppcheck-suppress uninitvar
(void)asinl(ld);
}
void uninitvar_casin(void)
{
float complex fd;
// cppcheck-suppress uninitvar
(void)casinf(fd);
double complex dc;
// cppcheck-suppress uninitvar
(void)casin(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)casinl(ldc);
}
void uninitvar_asinh(void)
{
float f;
// cppcheck-suppress uninitvar
(void)asinhf(f);
double d;
// cppcheck-suppress uninitvar
(void)asinh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)asinhl(ld);
}
void uninitvar_casinh(void)
{
float complex fd;
// cppcheck-suppress uninitvar
(void)casinhf(fd);
double complex dc;
// cppcheck-suppress uninitvar
(void)casinh(dc);
long double complex ldc;
// cppcheck-suppress uninitvar
(void)casinhl(ldc);
}
void ignoreretrn(void)
{
char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";

View File

@ -13,6 +13,7 @@
#include <ctime>
#include <cctype>
#include <complex>
#include <cassert>
void bufferAccessOutOfBounds(void)
{
@ -28,40 +29,200 @@ void bufferAccessOutOfBounds(void)
std::strncpy(a,"abcde",6);
}
void uninitvar(void)
void uninitvar_abs(void)
{
int i;
// cppcheck-suppress uninitvar
(void)std::abs(i);
}
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;
const std::complex<double> dc(d,d);
// cppcheck-suppress uninitvar
(void)std::proj(dc);
}
void uninitvar_acos(void)
{
float f;
// cppcheck-suppress uninitvar
(void)std::isalnum(i);
// cppcheck-suppress uninitvar
(void)std::isalpha(i);
// cppcheck-suppress uninitvar
(void)std::iscntrl(i);
// cppcheck-suppress uninitvar
(void)std::isdigit(i);
// cppcheck-suppress uninitvar
(void)std::isgraph(i);
// cppcheck-suppress uninitvar
(void)std::islower(i);
// cppcheck-suppress uninitvar
(void)std::isprint(i);
// cppcheck-suppress uninitvar
(void)std::isspace(i);
// cppcheck-suppress uninitvar
(void)std::isupper(i);
// cppcheck-suppress uninitvar
(void)std::isxdigit(i);
(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::acosh(f);
double d;
// cppcheck-suppress uninitvar
(void)std::acosh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::acosh(ld);
}
void uninitvar_asctime(void)
{
const struct tm *tm;
// cppcheck-suppress uninitvar
// cppcheck-suppress obsoleteFunctionsasctime
(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::asinh(f);
double d;
// cppcheck-suppress uninitvar
(void)std::asinh(d);
long double ld;
// cppcheck-suppress uninitvar
(void)std::asinh(ld);
}