std.cfg: Improved function support and documentation.

This commit is contained in:
Martin Ettl 2015-01-18 14:37:07 +01:00
parent 5fecd85a33
commit 7c91dd2da6
1 changed files with 359 additions and 21 deletions

View File

@ -15,6 +15,66 @@
<not-bool/>
</arg>
</function>
<!-- double complex cproj(double complex x); -->
<function name="cproj">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float complex cprojf(float complex x); -->
<function name="cprojf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double complex cprojl(long double complex x); -->
<function name="cprojl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double creal(double complex x); -->
<function name="creal">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float crealf(float complex x); -->
<function name="crealf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double creall(long double complex x); -->
<function name="creall">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double acos(double x); -->
<function name="acos">
<use-retval/>
@ -87,6 +147,7 @@
<function name="assert">
<leak-ignore/>
</function>
<!-- double sqrt(double x); -->
<function name="sqrt">
<use-retval/>
<pure/>
@ -96,6 +157,7 @@
<not-uninit/>
</arg>
</function>
<!-- float sqrtf(float x); -->
<function name="sqrtf">
<use-retval/>
<pure/>
@ -105,6 +167,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double sqrtl(long double x); -->
<function name="sqrtl">
<use-retval/>
<pure/>
@ -114,6 +177,37 @@
<not-uninit/>
</arg>
</function>
<!-- double complex csqrt(double complex x); -->
<function name="csqrt">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float complex csqrtf(float complex x); -->
<function name="csqrtf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double complex csqrtl(long double complex x); -->
<function name="csqrtl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double sinh(double x); -->
<function name="sinh">
<use-retval/>
<pure/>
@ -123,6 +217,7 @@
<not-uninit/>
</arg>
</function>
<!-- float sinhf(float x); -->
<function name="sinhf">
<use-retval/>
<pure/>
@ -132,6 +227,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double sinhl(long double x); -->
<function name="sinhl">
<use-retval/>
<pure/>
@ -141,6 +237,7 @@
<not-uninit/>
</arg>
</function>
<!-- double sin(double x); -->
<function name="sin">
<use-retval/>
<pure/>
@ -150,6 +247,7 @@
<not-uninit/>
</arg>
</function>
<!-- float sinf(float f); -->
<function name="sinf">
<use-retval/>
<pure/>
@ -159,6 +257,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double sinl(long double x); -->
<function name="sinl">
<use-retval/>
<pure/>
@ -168,6 +267,66 @@
<not-uninit/>
</arg>
</function>
<!-- double complex csin(double complex x); -->
<function name="csin">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float complex csinf(float complex f); -->
<function name="csinf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double complex csinl(long double complex x); -->
<function name="csinl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double complex csinh(double complex x); -->
<function name="csinh">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float complex csinhf(float complex f); -->
<function name="csinhf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double complex csinhl(long double complex x); -->
<function name="csinhl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double asin(double x); -->
<function name="asin">
<use-retval/>
@ -308,6 +467,7 @@
<not-uninit/>
</arg>
</function>
<!-- double tan(double x); -->
<function name="tan">
<use-retval/>
<pure/>
@ -317,6 +477,7 @@
<not-uninit/>
</arg>
</function>
<!-- float tanf(float x); -->
<function name="tanf">
<use-retval/>
<pure/>
@ -326,6 +487,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double tanl(long double x); -->
<function name="tanl">
<use-retval/>
<pure/>
@ -335,6 +497,37 @@
<not-uninit/>
</arg>
</function>
<!-- double complex ctan(double complex x); -->
<function name="ctan">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float complex ctanf(float complex x); -->
<function name="ctanf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double complex ctanl(long double complex x); -->
<function name="ctanl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double tanh(double x); -->
<function name="tanh">
<use-retval/>
<pure/>
@ -344,6 +537,56 @@
<not-uninit/>
</arg>
</function>
<!-- float tanhf(float x); -->
<function name="tanhf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double tanhl(long double x); -->
<function name="tanhl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double complex ctanh(double complex x); -->
<function name="ctanh">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- float complex ctanhf(float complex x); -->
<function name="ctanhf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- long double complex ctanhl(long double complex x); -->
<function name="ctanhl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- int feclearexcept (int excepts); -->
<function name="feclearexcept">
<pure/>
@ -441,24 +684,6 @@
<not-uninit/>
</arg>
</function>
<function name="tanhf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<function name="tanhl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double atan(double x); -->
<function name="atan">
<use-retval/>
@ -762,6 +987,7 @@
<not-uninit/>
</arg>
</function>
<!-- double copysign(double x, double y); -->
<function name="copysign">
<use-retval/>
<pure/>
@ -774,6 +1000,7 @@
<not-uninit/>
</arg>
</function>
<!-- float copysignf(float x, float y); -->
<function name="copysignf">
<use-retval/>
<pure/>
@ -786,6 +1013,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double copysign(long double x, long double y); -->
<function name="copysignl">
<use-retval/>
<pure/>
@ -963,6 +1191,7 @@
<not-uninit/>
</arg>
</function>
<!-- char * ctime(const time_t *tp); -->
<function name="ctime">
<use-retval/>
<noreturn>false</noreturn>
@ -972,6 +1201,7 @@
<not-null/>
</arg>
</function>
<!-- double difftime(time_t time2, time_t time1); -->
<function name="difftime">
<use-retval/>
<noreturn>false</noreturn>
@ -983,6 +1213,7 @@
<not-uninit/>
</arg>
</function>
<!-- div_t div(int num, int denom); -->
<function name="div">
<pure/>
<noreturn>false</noreturn>
@ -994,12 +1225,14 @@
<not-uninit/>
</arg>
</function>
<!-- void exit(int status); -->
<function name="exit">
<noreturn>true</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- double erf(double x); -->
<function name="erf">
<use-retval/>
<pure/>
@ -1009,6 +1242,7 @@
<not-uninit/>
</arg>
</function>
<!-- float erff(float f); -->
<function name="erff">
<use-retval/>
<pure/>
@ -1018,6 +1252,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double erfl(long double x); -->
<function name="erfl">
<use-retval/>
<pure/>
@ -1027,6 +1262,7 @@
<not-uninit/>
</arg>
</function>
<!-- double erfc(double x); -->
<function name="erfc">
<use-retval/>
<pure/>
@ -1066,6 +1302,7 @@
<not-uninit/>
</arg>
</function>
<!-- float erfcf(float x); -->
<function name="erfcf">
<use-retval/>
<pure/>
@ -1075,6 +1312,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double erfcl(long double x); -->
<function name="erfcl">
<use-retval/>
<pure/>
@ -1174,6 +1412,7 @@
<not-uninit/>
</arg>
</function>
<!-- double exp2(double x); -->
<function name="exp2">
<use-retval/>
<pure/>
@ -1183,6 +1422,7 @@
<not-uninit/>
</arg>
</function>
<!-- float exp2f(float x); -->
<function name="exp2f">
<use-retval/>
<pure/>
@ -1192,6 +1432,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double exp2l(long double x);-->
<function name="exp2l">
<use-retval/>
<pure/>
@ -1201,7 +1442,8 @@
<not-uninit/>
</arg>
</function>
<function name="exmp1">
<!-- double expm1(double x); -->
<function name="expm1">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -1210,7 +1452,8 @@
<not-uninit/>
</arg>
</function>
<function name="exmp1f">
<!-- float expm1f(float x); -->
<function name="expm1f">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -1219,7 +1462,8 @@
<not-uninit/>
</arg>
</function>
<function name="exmp1l">
<!-- long double expm1l(long double x); -->
<function name="expm1l">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
@ -1228,6 +1472,7 @@
<not-uninit/>
</arg>
</function>
<!-- double fabs(double x); -->
<function name="fabs">
<use-retval/>
<pure/>
@ -1237,6 +1482,7 @@
<not-uninit/>
</arg>
</function>
<!-- float fabsf(float x); -->
<function name="fabsf">
<use-retval/>
<pure/>
@ -1246,6 +1492,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double fabsl(long double x); -->
<function name="fabsl">
<use-retval/>
<pure/>
@ -1255,6 +1502,7 @@
<not-uninit/>
</arg>
</function>
<!-- double fdim(double x, double y); -->
<function name="fdim">
<use-retval/>
<pure/>
@ -1267,6 +1515,7 @@
<not-uninit/>
</arg>
</function>
<!-- float fdimf(float x, float y); -->
<function name="fdimf">
<use-retval/>
<pure/>
@ -1279,6 +1528,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double fdiml(long double x, long double y); -->
<function name="fdiml">
<use-retval/>
<pure/>
@ -1291,6 +1541,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fclose(FILE * stream); -->
<function name="fclose">
<noreturn>false</noreturn>
<arg nr="1">
@ -1298,6 +1549,7 @@
<not-uninit/>
</arg>
</function>
<!-- int feof(FILE *stream); -->
<function name="feof">
<use-retval/>
<noreturn>false</noreturn>
@ -1307,6 +1559,7 @@
<not-uninit/>
</arg>
</function>
<!-- int ferror(FILE *stream);-->
<function name="ferror">
<use-retval/>
<noreturn>false</noreturn>
@ -1316,6 +1569,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fflush(FILE *stream); -->
<function name="fflush">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1323,6 +1577,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fgetc(FILE *stream); -->
<function name="fgetc">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1340,6 +1595,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fgetpos(FILE* stream, fpos_t *ptr); -->
<function name="fgetpos">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1352,6 +1608,7 @@
<not-uninit/>
</arg>
</function>
<!-- double floor(double x); -->
<function name="floor">
<use-retval/>
<pure/>
@ -1361,6 +1618,7 @@
<not-uninit/>
</arg>
</function>
<!-- float floorf(float x); -->
<function name="floorf">
<use-retval/>
<pure/>
@ -1370,6 +1628,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double floorl(long double x); -->
<function name="floorl">
<use-retval/>
<pure/>
@ -1379,6 +1638,7 @@
<not-uninit/>
</arg>
</function>
<!-- double fma(double x, double y, double z); -->
<function name="fma">
<use-retval/>
<pure/>
@ -1388,6 +1648,7 @@
<not-uninit/>
</arg>
</function>
<!-- float fmaf(float x, float y, float z); -->
<function name="fmaf">
<use-retval/>
<pure/>
@ -1397,6 +1658,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double fma(long double x, long double y, long double z); -->
<function name="fmal">
<use-retval/>
<pure/>
@ -1406,6 +1668,7 @@
<not-uninit/>
</arg>
</function>
<!-- double fmax(double x, double y); -->
<function name="fmax">
<use-retval/>
<pure/>
@ -1418,6 +1681,7 @@
<not-uninit/>
</arg>
</function>
<!-- float fmaxf(float x, float y); -->
<function name="fmaxf">
<use-retval/>
<pure/>
@ -1430,6 +1694,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double fmaxl(long double x, long double y); -->
<function name="fmaxl">
<use-retval/>
<pure/>
@ -1442,6 +1707,7 @@
<not-uninit/>
</arg>
</function>
<!-- double fmin(double x, double y); -->
<function name="fmin">
<use-retval/>
<pure/>
@ -1454,6 +1720,7 @@
<not-uninit/>
</arg>
</function>
<!-- float fminf(float x, float y); -->
<function name="fminf">
<use-retval/>
<pure/>
@ -1466,6 +1733,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double fminl(long double x, long double y); -->
<function name="fminl">
<use-retval/>
<pure/>
@ -1478,6 +1746,7 @@
<not-uninit/>
</arg>
</function>
<!-- double fmod(double x, double y); -->
<function name="fmod">
<use-retval/>
<pure/>
@ -1490,6 +1759,7 @@
<not-uninit/>
</arg>
</function>
<!-- float fmodf(float x, float y); -->
<function name="fmodf">
<use-retval/>
<pure/>
@ -1502,6 +1772,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double fmodl(long double x, long double y); -->
<function name="fmodl">
<use-retval/>
<pure/>
@ -1514,6 +1785,7 @@
<not-uninit/>
</arg>
</function>
<!-- FILE * fopen(const char *filename, const char* mode); -->
<function name="fopen">
<use-retval/>
<noreturn>false</noreturn>
@ -1526,6 +1798,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fprintf(FILE *stream, const char *format, ...); -->
<function name="fprintf">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1571,6 +1844,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fputc(int c, FILE *stream); -->
<function name="fputc">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1597,6 +1871,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fputs(const char *string, FILE* stream); -->
<function name="fputs">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1622,6 +1897,7 @@
<not-uninit/>
</arg>
</function>
<!-- size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream); -->
<function name="fread">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1640,12 +1916,14 @@
<not-uninit/>
</arg>
</function>
<!-- void free(void *block); -->
<function name="free">
<noreturn>false</noreturn>
<arg nr="1">
<not-uninit/>
</arg>
</function>
<!-- FILE *freopen(const char *filename, const char *mode, FILE *stream); -->
<function name="freopen">
<noreturn>false</noreturn>
<arg nr="1">
@ -1660,6 +1938,7 @@
<not-uninit/>
</arg>
</function>
<!-- double frexp(double x, int *exp); -->
<function name="frexp">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1670,6 +1949,7 @@
<not-null/>
</arg>
</function>
<!-- float frexpf(float x, int *exp); -->
<function name="frexpf">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1680,6 +1960,7 @@
<not-null/>
</arg>
</function>
<!-- long double frexpl(long double x, int *exp); -->
<function name="frexpl">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1690,6 +1971,7 @@
<not-null/>
</arg>
</function>
<!-- double hypot(double x, double y); -->
<function name="hypot">
<use-retval/>
<pure/>
@ -1702,6 +1984,7 @@
<not-uninit/>
</arg>
</function>
<!-- float hypotf(float x, float y); -->
<function name="hypotf">
<use-retval/>
<pure/>
@ -1714,6 +1997,7 @@
<not-uninit/>
</arg>
</function>
<!-- long double hypotl(long double x, long double y); -->
<function name="hypotl">
<use-retval/>
<pure/>
@ -1726,6 +2010,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fscanf(FILE *stream, const char *format, ...); -->
<function name="fscanf">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1748,6 +2033,7 @@
<formatstr/>
</arg>
</function>
<!-- int fseek(FILE* stream, long int offset, int origin); -->
<function name="fseek">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1762,6 +2048,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fsetpos(FILE *stream, const fpos_t *ptr); -->
<function name="fsetpos">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1774,6 +2061,7 @@
<not-uninit/>
</arg>
</function>
<!-- char * fgets(char *buffer, int n, FILE *stream); -->
<function name="fgets">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1809,6 +2097,7 @@
<not-uninit/>
</arg>
</function>
<!-- long int ftell(FILE *stream); -->
<function name="ftell">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1829,6 +2118,7 @@
<not-uninit/>
</arg>
</function>
<!-- size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream); -->
<function name="fwrite">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1955,6 +2245,7 @@
<not-uninit/>
</arg>
</function>
<!-- int getc(FILE *stream); -->
<function name="getc">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1972,6 +2263,7 @@
<not-uninit/>
</arg>
</function>
<!-- int getchar(void); -->
<function name="getchar">
<noreturn>false</noreturn>
<leak-ignore/>
@ -1998,6 +2290,7 @@
<not-uninit/>
</arg>
</function>
<!-- char * getenv(const char *name); -->
<function name="getenv">
<use-retval/>
<noreturn>false</noreturn>
@ -2007,6 +2300,7 @@
<not-uninit/>
</arg>
</function>
<!-- char *gets(char *buffer); -->
<function name="gets">
<noreturn>false</noreturn>
<leak-ignore/>
@ -2014,6 +2308,7 @@
<not-null/>
</arg>
</function>
<!-- struct tm * gmtime(const time_t *tp); -->
<function name="gmtime">
<use-retval/>
<noreturn>false</noreturn>
@ -2772,6 +3067,7 @@
<not-uninit/>
</arg>
</function>
<!-- int fpclassify (double x); -->
<function name="fpclassify">
<pure/>
<use-retval/>
@ -3273,6 +3569,7 @@
<not-uninit/>
</arg>
</function>
<!-- double pow(double x, double y); -->
<function name="pow">
<use-retval/>
<pure/>
@ -3285,6 +3582,20 @@
<not-uninit/>
</arg>
</function>
<!-- double complex cpow(double complex x, double complex y); -->
<function name="cpow">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- float powf(float x, float y);-->
<function name="powf">
<use-retval/>
<pure/>
@ -3297,6 +3608,20 @@
<not-uninit/>
</arg>
</function>
<!-- float complex cpowf(float complex x, float complex y);-->
<function name="cpowf">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<!-- long double powl(long double x, long double y); -->
<function name="powl">
<use-retval/>
<pure/>
@ -3309,6 +3634,19 @@
<not-uninit/>
</arg>
</function>
<!-- long double complex cpowl(long double complex x, long double complex y); -->
<function name="cpowl">
<use-retval/>
<pure/>
<noreturn>false</noreturn>
<leak-ignore/>
<arg nr="1">
<not-uninit/>
</arg>
<arg nr="2">
<not-uninit/>
</arg>
</function>
<function name="remainder">
<use-retval/>
<pure/>