2009-08-08 Danny Smith <dannysmith@users.sourceforge.net>

* include/math.h (__fpclassifyl, __isnan, __isnanf, isnanl, __signbit,
        __signbitf, __signbitl, sinhf, tanhf, expf, frexpf, ldexpf, hypotf, powf,
        __fp_unordered_compare): Add prototypes.
        * include/stdio.h (vsnwprintf): Add prototype.
        * include/wchar.h (vsnwprintf): Add prototype.
        * include/unistd.h (ftruncate): Move prototype out of __NO_INLINE__ guard.
This commit is contained in:
Chris Sutcliffe 2009-08-08 13:26:11 +00:00
parent 45f03e330f
commit 75bf04114e
6 changed files with 32 additions and 3 deletions

View File

@ -1,3 +1,13 @@
2009-08-08 Danny Smith <dannysmith@users.sourceforge.net>
* include/math.h (__fpclassifyl, __isnan, __isnanf, isnanl, __signbit,
__signbitf, __signbitl, sinhf, tanhf, expf, frexpf, ldexpf, hypotf, powf,
__fp_unordered_compare): Add prototypes.
* include/stdio.h (vsnwprintf): Add prototype.
* include/wchar.h (vsnwprintf): Add prototype.
* include/stdlib.h (_Exit): Protect inline definition with !__STRICT_ANSI__.
* include/unistd.h (ftruncate): Move prototype out of __NO_INLINE__ guard.
2009-07-29 Keith Marshall <keithmarshall@users.sourceforge.net>
Correct disposition of wchar_t output in printf().

View File

@ -353,6 +353,7 @@ typedef long double double_t;
extern int __cdecl __fpclassifyf (float);
extern int __cdecl __fpclassify (double);
extern int __cdecl __fpclassifyl (long double);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl __fpclassifyl (long double x){
@ -375,6 +376,9 @@ __CRT_INLINE int __cdecl __fpclassifyl (long double x){
/* 7.12.3.4 */
/* We don't need to worry about truncation here:
A NaN stays a NaN. */
extern int __cdecl __isnan (double);
extern int __cdecl __isnanf (float);
extern int __cdecl __isnanl (long double);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl __isnan (double _x)
{
@ -412,6 +416,9 @@ __CRT_INLINE int __cdecl __isnanl (long double _x)
#define isnormal(x) (fpclassify(x) == FP_NORMAL)
/* 7.12.3.6 The signbit macro */
extern int __cdecl __signbit (double);
extern int __cdecl __signbitf (float);
extern int __cdecl __signbitl (long double);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl __signbit (double x) {
unsigned short stw;
@ -459,18 +466,21 @@ extern float __cdecl atan2f (float, float);
extern long double __cdecl atan2l (long double, long double);
/* 7.12.5 Hyperbolic functions: Double in C89 */
extern float __cdecl sinhf (float);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl sinhf (float x)
{return (float) sinh (x);}
#endif
extern long double __cdecl sinhl (long double);
extern float __cdecl coshf (float);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl coshf (float x)
{return (float) cosh (x);}
#endif
extern long double __cdecl coshl (long double);
extern float __cdecl tanhf (float);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl tanhf (float x)
{return (float) tanh (x);}
@ -495,6 +505,7 @@ extern long double __cdecl atanhl (long double);
/* Exponentials and logarithms */
/* 7.12.6.1 Double in C89 */
extern float __cdecl expf (float);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl expf (float x)
{return (float) exp (x);}
@ -513,6 +524,7 @@ extern float __cdecl expm1f(float);
extern long double __cdecl expm1l(long double);
/* 7.12.6.4 Double in C89 */
extern float __cdecl frexpf (float, int*);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl frexpf (float x, int* expn)
{return (float) frexp (x, expn);}
@ -527,6 +539,7 @@ extern int __cdecl ilogbf (float);
extern int __cdecl ilogbl (long double);
/* 7.12.6.6 Double in C89 */
extern float __cdecl ldexpf (float, int);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl ldexpf (float x, int expn)
{return (float) ldexp (x, expn);}
@ -611,6 +624,7 @@ extern long double __cdecl fabsl (long double x);
/* 7.12.7.3 */
extern double __cdecl hypot (double, double); /* in libmoldname.a */
extern float __cdecl hypotf (float, float);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl hypotf (float x, float y)
{ return (float) hypot (x, y);}
@ -618,6 +632,7 @@ __CRT_INLINE float __cdecl hypotf (float x, float y)
extern long double __cdecl hypotl (long double, long double);
/* 7.12.7.4 The pow functions. Double in C89 */
extern float __cdecl powf (float, float);
#ifndef __NO_INLINE__
__CRT_INLINE float __cdecl powf (float x, float y)
{return (float) pow (x, y);}
@ -860,6 +875,7 @@ extern long double __cdecl fmal (long double, long double, long double);
#else
/* helper */
extern int __cdecl __fp_unordered_compare (long double, long double);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl
__fp_unordered_compare (long double x, long double y){

View File

@ -601,6 +601,7 @@ _CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*);
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int __cdecl __MINGW_NOTHROW snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...);
int __cdecl __MINGW_NOTHROW vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl __MINGW_NOTHROW
vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)

View File

@ -503,7 +503,7 @@ _CRTIMP char* __cdecl __MINGW_NOTHROW gcvt (double, int, char*);
/* C99 name for _exit */
void __cdecl __MINGW_NOTHROW _Exit(int) __MINGW_ATTRIB_NORETURN;
#ifndef __NO_INLINE__
#if !defined __NO_INLINE__ && !defined __STRICT_ANSI__
__CRT_INLINE void __cdecl __MINGW_NOTHROW _Exit(int __status)
{ _exit (__status); }
#endif

View File

@ -38,8 +38,8 @@ int __cdecl __MINGW_NOTHROW usleep(useconds_t useconds);
/* This is defined as a real library function to allow autoconf
to verify its existence. */
#ifndef __NO_INLINE__
int ftruncate(int, off_t);
#ifndef __NO_INLINE__
__CRT_INLINE int ftruncate(int __fd, off_t __length)
{
return _chsize (__fd, __length);

View File

@ -143,7 +143,8 @@ _CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*);
#endif /* __MSVCRT__ */
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int __cdecl __MINGW_NOTHROW snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...);
int __cdecl __MINGW_NOTHROW snwprintf (wchar_t*, size_t, const wchar_t*, ...);
int __cdecl __MINGW_NOTHROW vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl __MINGW_NOTHROW
vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
@ -249,6 +250,7 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*);
#ifndef _NO_OLDNAMES
/* NOTE: There is no _wcscmpi, but this is for compatibility. */
int __cdecl __MINGW_NOTHROW wcscmpi (const wchar_t *, const wchar_t *);
#ifndef __NO_INLINE__
__CRT_INLINE int __cdecl __MINGW_NOTHROW
wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2)