Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Mar 2006 02:48:47 +0100 (CET)
From:      <pfgshield-freebsd@yahoo.com>
To:        freebsd-standards@FreeBSD.org
Subject:   Dinkum tests FreeBSD's C library
Message-ID:  <20060310014847.70448.qmail@web32715.mail.mud.yahoo.com>

next in thread | raw e-mail | index | archive | help
Hi again;

This might be slightly outdated but nevertheless interesting:

http://dinkumware.com/conform_c.html

For those too lazy to look ...

______________

FreeBSD C Library
C95
The following list covers the faults uncovered while testing compliance for
C95. With the headers iso646.h and wchar.h missing, the coverage for C95 is
minimal.

assert() does not raise SIGABRT 
EILSEQ is not defined in errno.h 
The header iso646.h is not included. 
The header wchar.h is not included. 
The function mbtowc does not correctly convert "" to a wide character string. 
ferror fails to return an error indicator for a read of a file that was opened
using fopen with an argument mode of "w". 
The optional math functions are not implemented for C95. (See Table 1.)

C++
The same issues that were found during the C95 testing are also present when
compiling for C++, plus the following.

The islpha, isalnum, iscntrl, isdigit, islower, isprint, ispunct, isspace,
isupper, isxdigit, tolower, and toupper functions in ctype.h are defined as
macros. 
va_list is not defined in stdarg.h. 
Not all the signatures called for by the C++ Standard for memchr, strchr,
strpbrk, strchr, and strstr are declared in string.h. 
Not all the signatures called for by the C++ Standard for wmemchr, wcspbrk,
wcschr, wcsrchr, and wcsstr are declared in wchar.h. 
The float and the long double versions of ceil, fabs, floor, fmod, frexp,
ldexp, modf, acos, asin, atan, atan2, cos, sin, tan, cosh, exp, log, log10,
sinh, sqrt and tanh functions are not declared in math.h. 
The long int overloads of the functions abs and div are not declared in
stdlib.h. 
Overloads abs(double) and pow(double, int) in math.h give bad or inaccurate
results. 
setjmp is not defined as a macro in setjmp.h. 
The functions feof, ferror, clearerr, getc, putc, getchar, and putchar in
stdio.h are defined as macros. 
Overloads abs(long) and div(long, long) in stdlib.h are missing. 
C99
The same issues that were found during the C95 testing are also present when
compiling for C99, plus the following.

The properties for unsigned long long are not reasonable, in a #if preprocessor
directive the statement ULLONG_MAX / 2 < LLONG_MAX evaluates to a nonzero. 
The properties for long long are not reasonable, in a #if preprocessor
directive the statement LLONG_MAX < LONG_MAX evaluates to a nonzero. 
The hh print specifier for d, i, o, u, x, or X conversion specifier does not
convert the value to a signed or unsigned char before printing. 
The a and A print/scan specifiers are not implemented. 
The e and f print specifiers display INFINITY as Inf. The C Standard indicates
that [-]inf or [-]infinity are the valid representations. 
The F print specifier is not implemented. 
The e or f print specifiers display NAN as NaN. The C Standard indicates that
[-]nan or [-]nan(n-char-sequence) are the valid representations. 
The type lldiv_t is not define in stdlib.h. 
The function _Exit is not declared in stdlib.h. 
The functions llabs, lldiv, atoll, strtof, strtold are not declared in
stdlib.h. 
F specifier for strftime is not implemented. 
The header complex.h is not included. 
The type imaxdiv_t is not defined in inttypes.h. 
The functions imaxabs, imaxdiv, strtoimax, strtoumax, wcstoimax, and wcstoumax
are not declared in inttypes.h. 
The functions nexttoward, acoshf, asinhf, atanhf, cbrtf, exp2f, expm1f, log1pf,
log2f, erff, erfcf, lgammaf, tgammaf, hypotf, nexttowardf, acoshl, asinhl,
atanhl, cbrtl, exp2l, expm1l, scalbnl, scalblnl, ilogbl, log1pl, log2l, logbl,
erfl, erfcl, lgammal, tgammal, copysignl, fdiml, fmal, fmaxl, fminl, hypotl,
remainderl, remquol, llrintl, llroundl, lrintl, lroundl, rintl, roundl,
nearbyintl, nextafterl, nexttowardl, truncl, and nanl are not declared in
math.h. 
The header tgmath.h is not included. 
_________________



	

	
		
___________________________________ 
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB 
http://mail.yahoo.it



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060310014847.70448.qmail>