Author: hyperion Date: Wed Oct 29 08:17:12 2008 New Revision: 37053
URL: http://svn.reactos.org/svn/reactos?rev=37053&view=rev Log: modified _mingw.h added msc added msc/_msc_float.h added msc/stdarg.h added msc/stdbool.h added msc/stddef.h Ported the MinGW runtime to Visual C++ We can now assume ReactOS is always compiled with MinGW, with one of two possible backends (GNUC/MSC) Backend headers copied from the GCC ones for now TODO: rewrite the Visual C++ intrin.h instead of using a hacked version of Visual C++'s native one (which I won't commit to avoid an obvious copyright violation) TODO: rename include/crt/mingw32 to include/crt/gnuc TODO: move the GCC intrin.h to include/crt/gnuc
modified assert.h modified setjmp.h modified stdio.h modified stdlib.h modified string.h Use Visual C++-compatible placement of function attributes
modified float.h Use a cleaner alternative to #include_next for Visual C++
modified math.h Refactored, translated inline assembler to Visual C++ TODO: review, ensure the translation is correct, ensure the refactoring didn't break something
Added: branches/the-real-msvc/include/crt/msc/ (with props) branches/the-real-msvc/include/crt/msc/_msc_float.h (props changed) - copied unchanged from r36960, branches/the-real-msvc/include/crt/mingw32/float.h branches/the-real-msvc/include/crt/msc/stdarg.h (contents, props changed) - copied, changed from r36960, branches/the-real-msvc/include/crt/mingw32/stdarg.h branches/the-real-msvc/include/crt/msc/stdbool.h (contents, props changed) - copied, changed from r36960, branches/the-real-msvc/include/crt/mingw32/stdbool.h branches/the-real-msvc/include/crt/msc/stddef.h (contents, props changed) - copied, changed from r36960, branches/the-real-msvc/include/crt/mingw32/stddef.h Modified: branches/the-real-msvc/include/crt/_mingw.h branches/the-real-msvc/include/crt/assert.h branches/the-real-msvc/include/crt/float.h branches/the-real-msvc/include/crt/math.h branches/the-real-msvc/include/crt/setjmp.h branches/the-real-msvc/include/crt/stdio.h branches/the-real-msvc/include/crt/stdlib.h branches/the-real-msvc/include/crt/string.h
Modified: branches/the-real-msvc/include/crt/_mingw.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/_mingw... ============================================================================== --- branches/the-real-msvc/include/crt/_mingw.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/_mingw.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -51,7 +51,7 @@ /* Try to avoid problems with outdated checks for GCC __attribute__ support. */ #undef __attribute__
-#ifndef __GNUC__ +#if defined(_MSC_VER) # ifndef __MINGW_IMPORT # define __MINGW_IMPORT __declspec(dllimport) # endif @@ -60,7 +60,8 @@ # endif # define __DECLSPEC_SUPPORTED # define __attribute__(x) /* nothing */ -#else /* __GNUC__ */ +# define __restrict__ /* nothing */ +#elif defined(__GNUC__) # ifdef __declspec # ifndef __MINGW_IMPORT /* Note the extern. This is needed to work around GCC's @@ -82,8 +83,14 @@ # define _CRTIMP # endif # endif /* __declspec */ + +/* + The next two defines can cause problems if user code adds the __cdecl attribute + like so: + void __attribute__ ((__cdecl)) foo(void); +*/ # ifndef __cdecl -# define __cdecl __attribute__ ((__cdecl__)) +# define __cdecl __attribute__ ((__cdecl__)) # endif # ifndef __stdcall # define __stdcall __attribute__ ((__stdcall__)) @@ -106,6 +113,15 @@ # ifndef __hyper # define __hyper long long # endif +#else +# ifndef __MINGW_IMPORT +# define __MINGW_IMPORT __declspec(dllimport) +# endif +# ifndef _CRTIMP +# define _CRTIMP __declspec(dllimport) +# endif +# define __DECLSPEC_SUPPORTED +# define __attribute__(x) /* nothing */ #endif /* __GNUC__ */
#if defined (__GNUC__) && defined (__GNUC_MINOR__) @@ -116,10 +132,20 @@ #define __MINGW_GNUC_PREREQ(major, minor) 0 #endif
+#if defined (_MSC_VER) +#define __MINGW_MSC_PREREQ(major, minor) \ + ((_MSC_VER / 100) > (major) \ + || ((_MSC_VER / 100) == (major) && (_MSC_VER % 100) >= (minor))) +#else +#define __MINGW_MSC_PREREQ(major, minor) 0 +#endif + #ifdef __cplusplus # define __CRT_INLINE inline #else -# if __GNUC_STDC_INLINE__ +# if defined(_MSC_VER) +# define __CRT_INLINE __inline +# elif __GNUC_STDC_INLINE__ # define __CRT_INLINE extern inline __attribute__((__gnu_inline__)) # else # define __CRT_INLINE extern __inline__ @@ -139,6 +165,9 @@ #ifdef __GNUC__ #define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__)) #define __MINGW_ATTRIB_CONST __attribute__ ((__const__)) +#elif __MINGW_MSC_PREREQ(12, 0) +#define __MINGW_ATTRIB_NORETURN __declspec(noreturn) +#define __MINGW_ATTRIB_CONST #else #define __MINGW_ATTRIB_NORETURN #define __MINGW_ATTRIB_CONST @@ -147,6 +176,9 @@ #if __MINGW_GNUC_PREREQ (3, 0) #define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__)) #define __MINGW_ATTRIB_PURE __attribute__ ((__pure__)) +#elif __MINGW_MSC_PREREQ (14, 0) +#define __MINGW_ATTRIB_MALLOC __declspec(noalias) __declspec(restrict) +#define __MINGW_ATTRIB_PURE #else #define __MINGW_ATTRIB_MALLOC #define __MINGW_ATTRIB_PURE @@ -163,35 +195,28 @@
#if __MINGW_GNUC_PREREQ (3, 1) #define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__)) +#elif __MINGW_MSC_PREREQ (12, 0) +#define __MINGW_ATTRIB_DEPRECATED __declspec (deprecated) #else #define __MINGW_ATTRIB_DEPRECATED -#endif /* GNUC >= 3.1 */ - +#endif + #if __MINGW_GNUC_PREREQ (3, 3) #define __MINGW_NOTHROW __attribute__ ((__nothrow__)) +#elif __MINGW_MSC_PREREQ (12, 0) && defined (__cplusplus) +#define __MINGW_NOTHROW __declspec (nothrow) #else #define __MINGW_NOTHROW -#endif /* GNUC >= 3.3 */ +#endif + +/* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW. This will +allow GCC to optimize away some EH unwind code, at least in DW2 case. */
#ifndef __MSVCRT_VERSION__ /* High byte is the major version, low byte is the minor. */ # define __MSVCRT_VERSION__ 0x0600 #endif
-#ifndef _SIZE_T_DEFINED -#define _SIZE_T_DEFINED -#undef size_t -#ifdef _WIN64 -#if defined(__GNUC__) && defined(__STRICT_ANSI__) - typedef unsigned int size_t __attribute__ ((mode (DI))); -#else - typedef unsigned __int64 size_t; -#endif -#else - typedef unsigned int size_t; -#endif -#endif - #define __MINGW32_VERSION 3.13 #define __MINGW32_MAJOR_VERSION 3 #define __MINGW32_MINOR_VERSION 13
Modified: branches/the-real-msvc/include/crt/assert.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/assert... ============================================================================== --- branches/the-real-msvc/include/crt/assert.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/assert.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -35,7 +35,7 @@ * CRTDLL nicely supplies a function which does the actual output and * call to abort. */ -_CRTIMP void __cdecl __MINGW_NOTHROW _assert (const char*, const char*, int) __MINGW_ATTRIB_NORETURN; +_CRTIMP __MINGW_ATTRIB_NORETURN void __cdecl __MINGW_NOTHROW _assert (const char*, const char*, int);
/* * Definition of the assert macro.
Modified: branches/the-real-msvc/include/crt/float.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/float.... ============================================================================== --- branches/the-real-msvc/include/crt/float.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/float.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -16,7 +16,11 @@ * */
+#if defined(__GNUC__) #include_next<float.h> +#elif defined(_MSC_VER) +#include <_msc_float.h> +#endif
#ifndef _MINGW_FLOAT_H_ #define _MINGW_FLOAT_H_
Modified: branches/the-real-msvc/include/crt/math.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/math.h... ============================================================================== --- branches/the-real-msvc/include/crt/math.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/math.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -318,6 +318,20 @@ #define FP_SUBNORMAL (FP_NORMAL | FP_ZERO) /* 0x0200 is signbit mask */
+#if defined(__GNUC__) +#define __mingw_fxam(sw, x) __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)) +#elif defined(_MSC_VER) +#define __mingw_fxam(sw, x) \ + __asm { fld [x] } \ + __asm { fxam } \ + __asm { fstsw ax } \ + __asm { fstp st(0) } \ + __asm { mov [sw], ax } +#else +#error TODO +#endif + +
/* We can't inline float or double, because we want to ensure truncation @@ -331,7 +345,7 @@
__CRT_INLINE int __cdecl __fpclassifyl (long double x){ unsigned short sw; - __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)); + __mingw_fxam(sw, x); return sw & (FP_NAN | FP_NORMAL | FP_ZERO ); }
@@ -352,8 +366,7 @@ __CRT_INLINE int __cdecl __isnan (double _x) { unsigned short sw; - __asm__ ("fxam;" - "fstsw %%ax": "=a" (sw) : "t" (_x)); + __mingw_fxam(sw, _x); return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) == FP_NAN; } @@ -361,8 +374,7 @@ __CRT_INLINE int __cdecl __isnanf (float _x) { unsigned short sw; - __asm__ ("fxam;" - "fstsw %%ax": "=a" (sw) : "t" (_x)); + __mingw_fxam(sw, _x); return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) == FP_NAN; } @@ -370,8 +382,7 @@ __CRT_INLINE int __cdecl __isnanl (long double _x) { unsigned short sw; - __asm__ ("fxam;" - "fstsw %%ax": "=a" (sw) : "t" (_x)); + __mingw_fxam(sw, _x); return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) == FP_NAN; } @@ -387,19 +398,19 @@ /* 7.12.3.6 The signbit macro */ __CRT_INLINE int __cdecl __signbit (double x) { unsigned short stw; - __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); + __mingw_fxam(stw, x); return (stw & 0x0200) != 0; }
__CRT_INLINE int __cdecl __signbitf (float x) { unsigned short stw; - __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); + __mingw_fxam(stw, x); return (stw & 0x0200) != 0; }
__CRT_INLINE int __cdecl __signbitl (long double x) { unsigned short stw; - __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); + __mingw_fxam(stw, x); return (stw & 0x0200) != 0; }
@@ -518,27 +529,39 @@ /* Inline versions. GCC-4.0+ can do a better fast-math optimization with __builtins. */ #if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ ) +#if defined(__GNUC__) +#define __mingw_fxtract(res, x) \ + __asm__ ("fxtract\n\t" \ + "fstp %%st" : "=t" (res) : "0" (x)) +#elif defined(_MSC_VER) +// REVIEW is this correct? +#define __mingw_fxtract(res, x) \ + __asm { fld [x] } \ + __asm { fxtract } \ + __asm { fstp st } \ + __asm { fistp [res] } +#else +#error TODO +#endif + __CRT_INLINE double __cdecl logb (double x) { double res; - __asm__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); + __mingw_fxtract(res, x); return res; }
__CRT_INLINE float __cdecl logbf (float x) { float res; - __asm__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); + __mingw_fxtract(res, x); return res; }
__CRT_INLINE long double __cdecl logbl (long double x) { long double res; - __asm__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); + __mingw_fxtract(res, x); return res; } #endif /* !defined __FAST_MATH__ || !__MINGW_GNUC_PREREQ (4, 0) */ @@ -632,72 +655,105 @@ /* Inline versions of above. GCC 4.0+ can do a better fast-math job with __builtins. */ #if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ ) + +#if defined(__GNUC__) +#define __mingw_frndint(res, x) __asm__ ("frndint;": "=t" (res) : "0" (x)) +#elif defined(_MSC_VER) +// REVIEW is this correct? +#define __mingw_frndint(res, x) \ + __asm { fld [x] } \ + __asm { frndint } \ + __asm { fistp [res] } +#else +#error TODO +#endif + __CRT_INLINE double __cdecl rint (double x) { double retval; - __asm__ ("frndint;": "=t" (retval) : "0" (x)); + __mingw_frndint (retval, x); return retval; }
__CRT_INLINE float __cdecl rintf (float x) { float retval; - __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); + __mingw_frndint (retval, x); return retval; }
__CRT_INLINE long double __cdecl rintl (long double x) { long double retval; - __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); + __mingw_frndint (retval, x); return retval; }
+#if defined(__GNUC__) +#define __mingw_fistpl(res, x) \ + __asm__ __volatile__ \ + ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); +#elif defined(_MSC_VER) +// REVIEW is this correct? +#define __mingw_fistpl(res, x) \ + __asm { fld [x] } \ + __asm { fistp dword ptr [res] } +#else +#error TODO +#endif + __CRT_INLINE long __cdecl lrint (double x) { long retval; - __asm__ __volatile__ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); + __mingw_fistpl(retval, x); return retval; }
__CRT_INLINE long __cdecl lrintf (float x) { long retval; - __asm__ __volatile__ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); + __mingw_fistpl(retval, x); return retval; }
__CRT_INLINE long __cdecl lrintl (long double x) { long retval; - __asm__ __volatile__ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); + __mingw_fistpl(retval, x); return retval; }
+#if defined(__GNUC__) +#define __mingw_fistpll(res, x) \ + __asm__ __volatile__ \ + ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); +#elif defined(_MSC_VER) +// REVIEW is this correct? +#define __mingw_fistpll(res, x) \ + __asm { fld [x] } \ + __asm { fistp qword ptr [res] } +#else +#error TODO +#endif + __CRT_INLINE long long __cdecl llrint (double x) { long long retval; - __asm__ __volatile__ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); + __mingw_fistpll(retval, x); return retval; }
__CRT_INLINE long long __cdecl llrintf (float x) { long long retval; - __asm__ __volatile__ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); + __mingw_fistpll(retval, x); return retval; }
__CRT_INLINE long long __cdecl llrintl (long double x) { long long retval; - __asm__ __volatile__ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); + __mingw_fistpll(retval, x); return retval; } #endif /* !__FAST_MATH__ || !__MINGW_GNUC_PREREQ (4,0) */ @@ -800,7 +856,7 @@ * which always returns true: yes, (NaN != NaN) is true). */
-#if __GNUC__ >= 3 +#if __MINGW_GNUC_PREREQ(3, 0)
#define isgreater(x, y) __builtin_isgreater(x, y) #define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) @@ -814,8 +870,19 @@ __CRT_INLINE int __cdecl __fp_unordered_compare (long double x, long double y){ unsigned short retval; +#if defined(__GNUC__) __asm__ ("fucom %%st(1);" "fnstsw;": "=a" (retval) : "t" (x), "u" (y)); +#elif defined(_MSC_VER) + __asm + { + fld [y] // REVIEW is this the right order? + fld [x] + fucom st(1) + fnstsw ax + mov [retval], ax + } +#endif return retval; }
Propchange: branches/the-real-msvc/include/crt/msc/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Wed Oct 29 08:17:12 2008 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: branches/the-real-msvc/include/crt/msc/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: branches/the-real-msvc/include/crt/msc/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/the-real-msvc/include/crt/msc/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
Propchange: branches/the-real-msvc/include/crt/msc/_msc_float.h ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: branches/the-real-msvc/include/crt/msc/_msc_float.h ------------------------------------------------------------------------------ svn:mergeinfo =
Copied: branches/the-real-msvc/include/crt/msc/stdarg.h (from r36960, branches/the-real-msvc/include/crt/mingw32/stdarg.h) URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/msc/st... ============================================================================== --- branches/the-real-msvc/include/crt/mingw32/stdarg.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/msc/stdarg.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -36,96 +36,77 @@ #endif /* not __need___va_list */ #undef __need___va_list
-/* Define __gnuc_va_list. */ +/* Define __msc_va_list. */
-#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST -typedef __builtin_va_list __gnuc_va_list; +#ifndef __MSC_VA_LIST +#define __MSC_VA_LIST +#ifdef _M_CEE_PURE +typedef System::ArgIterator __msc_va_list; +#else +typedef char * __msc_va_list; +#endif + +#ifdef __cplusplus +#define __msc_addressof(v) (&reinterpret_cast<const char &>(v)) +#else +#define __msc_addressof(v) (&(v)) +#endif + +#if defined(_M_IA64) && !defined(_M_CEE_PURE) +#define __msc_va_align 8 +#define __msc_slotsizeof(t) ((sizeof(t) + __msc_va_align - 1) & ~(__msc_va_align - 1)) + +#define __msc_va_struct_align 16 +#define __msc_alignof(ap) ((((ap)+ __msc_va_struct_align - 1) & ~(__msc_va_struct_align - 1)) - (ap)) +#define __msc_apalign(t,ap) (__alignof(t) > 8 ? __msc_alignof((unsigned __int64)ap) : 0) +#else +#define __msc_slotsizeof(t) (sizeof(t)) +#define __msc_apalign(t,ap) (__alignof(t)) +#endif + +#if defined(_M_CEE) +extern void __cdecl __va_start(va_list*, ...); +extern void * __cdecl __va_arg(va_list*, ...); +extern void __cdecl __va_end(va_list*); +#define __msc_va_start(ap,v) (__va_start(&ap, __msc_addressof(v), __msc_slotsizeof(v), __alignof(v), __msc_addressof(v))) +#define __msc_va_end(ap) (__va_end(&ap)) +#define __msc_va_arg(ap,t) (*(t *)__va_arg(&ap, __msc_slotsizeof(t), __msc_apalign(t,ap), (t *)0)) +#elif defined(_M_IA64) +#error TODO IA64 support +#elif defined(_M_AMD64) +#error TODO IA64 support +#else +#define __msc_intsizeof(n) ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1)) +#define __msc_va_start(ap,v) ((void)(ap = (__msc_va_list)__msc_addressof(v) + __msc_intsizeof(v))) +#define __msc_va_end(ap) ((void)(ap = (va_list)0)) +#define __msc_va_arg(ap,t) (*(t *)((ap += __msc_intsizeof(t)) - __msc_intsizeof(t))) +#endif + +#define __msc_va_copy(d,s) ((void)((d) = (s))) #endif
/* Define the standard macros for the user, if this invocation was from the user program. */ #ifdef _STDARG_H
-#define va_start(v,l) __builtin_va_start(v,l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v,l) __builtin_va_arg(v,l) +#define va_start(v,l) __msc_va_start(v,l) +#define va_end(v) __msc_va_end(v) +#define va_arg(v,l) __msc_va_arg(v,l) #if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L -#define va_copy(d,s) __builtin_va_copy(d,s) +#define va_copy(d,s) __msc_va_copy(d,s) #endif -#define __va_copy(d,s) __builtin_va_copy(d,s) +#define __va_copy(d,s) __msc_va_copy(d,s)
-/* Define va_list, if desired, from __gnuc_va_list. */ -/* We deliberately do not define va_list when called from - stdio.h, because ANSI C says that stdio.h is not supposed to define - va_list. stdio.h needs to have access to that data type, - but must not use that name. It should use the name __gnuc_va_list, - which is safe because it is reserved for the implementation. */ +/* Define va_list, if desired, from __msc_va_list. */
-#ifdef _HIDDEN_VA_LIST /* On OSF1, this means varargs.h is "half-loaded". */ -#undef _VA_LIST +#if !defined(_VA_LIST_) && !defined(_VA_LIST) && !defined(_VA_LIST_DEFINED) && !defined(_VA_LIST_T_H) && !defined(__va_list__) +#define _VA_LIST_ +#define _VA_LIST +#define _VA_LIST_DEFINED +#define _VA_LIST_T_H +#define __va_list__ +typedef __msc_va_list va_list; #endif - -#ifdef _BSD_VA_LIST -#undef _BSD_VA_LIST -#endif - -#if defined(__svr4__) || (defined(_SCO_DS) && !defined(__VA_LIST)) -/* SVR4.2 uses _VA_LIST for an internal alias for va_list, - so we must avoid testing it and setting it here. - SVR4 uses _VA_LIST as a flag in stdarg.h, but we should - have no conflict with that. */ -#ifndef _VA_LIST_ -#define _VA_LIST_ -#ifdef __i860__ -#ifndef _VA_LIST -#define _VA_LIST va_list -#endif -#endif /* __i860__ */ -typedef __gnuc_va_list va_list; -#ifdef _SCO_DS -#define __VA_LIST -#endif -#endif /* _VA_LIST_ */ -#else /* not __svr4__ || _SCO_DS */ - -/* The macro _VA_LIST_ is the same thing used by this file in Ultrix. - But on BSD NET2 we must not test or define or undef it. - (Note that the comments in NET 2's ansi.h - are incorrect for _VA_LIST_--see stdio.h!) */ -#if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT) -/* The macro _VA_LIST_DEFINED is used in Windows NT 3.5 */ -#ifndef _VA_LIST_DEFINED -/* The macro _VA_LIST is used in SCO Unix 3.2. */ -#ifndef _VA_LIST -/* The macro _VA_LIST_T_H is used in the Bull dpx2 */ -#ifndef _VA_LIST_T_H -/* The macro __va_list__ is used by BeOS. */ -#ifndef __va_list__ -typedef __gnuc_va_list va_list; -#endif /* not __va_list__ */ -#endif /* not _VA_LIST_T_H */ -#endif /* not _VA_LIST */ -#endif /* not _VA_LIST_DEFINED */ -#if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__)) -#define _VA_LIST_ -#endif -#ifndef _VA_LIST -#define _VA_LIST -#endif -#ifndef _VA_LIST_DEFINED -#define _VA_LIST_DEFINED -#endif -#ifndef _VA_LIST_T_H -#define _VA_LIST_T_H -#endif -#ifndef __va_list__ -#define __va_list__ -#endif - -#endif /* not _VA_LIST_, except on certain systems */ - -#endif /* not __svr4__ */
#endif /* _STDARG_H */
Propchange: branches/the-real-msvc/include/crt/msc/stdarg.h ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: branches/the-real-msvc/include/crt/msc/stdarg.h ------------------------------------------------------------------------------ svn:mergeinfo =
Copied: branches/the-real-msvc/include/crt/msc/stdbool.h (from r36960, branches/the-real-msvc/include/crt/mingw32/stdbool.h) URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/msc/st... ============================================================================== --- branches/the-real-msvc/include/crt/mingw32/stdbool.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/msc/stdbool.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -33,7 +33,7 @@
#ifndef __cplusplus
-#define bool _Bool +#define bool unsigned char #define true 1 #define false 0
Propchange: branches/the-real-msvc/include/crt/msc/stdbool.h ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: branches/the-real-msvc/include/crt/msc/stdbool.h ------------------------------------------------------------------------------ svn:mergeinfo =
Copied: branches/the-real-msvc/include/crt/msc/stddef.h (from r36960, branches/the-real-msvc/include/crt/mingw32/stddef.h) URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/msc/st... ============================================================================== --- branches/the-real-msvc/include/crt/mingw32/stddef.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/msc/stddef.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -211,7 +211,9 @@ #define __SIZE_TYPE__ long unsigned int #endif #if !(defined (__GNUG__) && defined (size_t)) +#if !defined(__cplusplus) typedef __SIZE_TYPE__ size_t; +#endif #ifdef __BEOS__ typedef long ssize_t; #endif /* __BEOS__ */ @@ -320,7 +322,7 @@ #endif
#ifndef __WCHAR_TYPE__ -#define __WCHAR_TYPE__ int +#define __WCHAR_TYPE__ unsigned short #endif #ifndef __cplusplus typedef __WCHAR_TYPE__ wchar_t;
Propchange: branches/the-real-msvc/include/crt/msc/stddef.h ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: branches/the-real-msvc/include/crt/msc/stddef.h ------------------------------------------------------------------------------ svn:mergeinfo =
Modified: branches/the-real-msvc/include/crt/setjmp.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/setjmp... ============================================================================== --- branches/the-real-msvc/include/crt/setjmp.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/setjmp.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -44,7 +44,7 @@ * Return to the last setjmp call and act as if setjmp had returned * nVal (which had better be non-zero!). */ -_CRTIMP void __cdecl __MINGW_NOTHROW longjmp (jmp_buf, int) __MINGW_ATTRIB_NORETURN; +_CRTIMP __MINGW_ATTRIB_NORETURN void __cdecl __MINGW_NOTHROW longjmp (jmp_buf, int);
#ifdef __cplusplus }
Modified: branches/the-real-msvc/include/crt/stdio.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/stdio.... ============================================================================== --- branches/the-real-msvc/include/crt/stdio.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/stdio.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -166,44 +166,44 @@ /* * File Operations */ -_CRTIMP FILE* __cdecl __MINGW_NOTHROW fopen (const char*, const char*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW freopen (const char*, const char*, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fflush (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fclose (FILE*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl fopen (const char*, const char*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl freopen (const char*, const char*, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fflush (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fclose (FILE*); /* MS puts remove & rename (but not wide versions) in io.h also */ -_CRTIMP int __cdecl __MINGW_NOTHROW remove (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW rename (const char*, const char*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW tmpfile (void); -_CRTIMP char* __cdecl __MINGW_NOTHROW tmpnam (char*); +_CRTIMP __MINGW_NOTHROW int __cdecl remove (const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl rename (const char*, const char*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl tmpfile (void); +_CRTIMP __MINGW_NOTHROW char* __cdecl tmpnam (char*);
#ifndef __STRICT_ANSI__ -_CRTIMP char* __cdecl __MINGW_NOTHROW _tempnam (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _rmtmp(void); -_CRTIMP int __cdecl __MINGW_NOTHROW _unlink (const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl _tempnam (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _rmtmp(void); +_CRTIMP __MINGW_NOTHROW int __cdecl _unlink (const char*);
#ifndef NO_OLDNAMES -_CRTIMP char* __cdecl __MINGW_NOTHROW tempnam (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW rmtmp(void); -_CRTIMP int __cdecl __MINGW_NOTHROW unlink (const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl tempnam (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl rmtmp(void); +_CRTIMP __MINGW_NOTHROW int __cdecl unlink (const char*); #endif #endif /* __STRICT_ANSI__ */
-_CRTIMP int __cdecl __MINGW_NOTHROW setvbuf (FILE*, char*, int, size_t); - -_CRTIMP void __cdecl __MINGW_NOTHROW setbuf (FILE*, char*); +_CRTIMP __MINGW_NOTHROW int __cdecl setvbuf (FILE*, char*, int, size_t); + +_CRTIMP __MINGW_NOTHROW void __cdecl setbuf (FILE*, char*);
/* * Formatted Output */
-_CRTIMP int __cdecl __MINGW_NOTHROW fprintf (FILE*, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW printf (const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW sprintf (char*, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _snprintf (char*, size_t, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vfprintf (FILE*, const char*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vprintf (const char*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vsprintf (char*, const char*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW _vsnprintf (char*, size_t, const char*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl fprintf (FILE*, const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl printf (const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl sprintf (char*, const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl _snprintf (char*, size_t, const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl vfprintf (FILE*, const char*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl vprintf (const char*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl vsprintf (char*, const char*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl _vsnprintf (char*, size_t, const char*, __VALIST);
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ int __cdecl __MINGW_NOTHROW snprintf(char *, size_t, const char *, ...); @@ -220,20 +220,20 @@ * Formatted Input */
-_CRTIMP int __cdecl __MINGW_NOTHROW fscanf (FILE*, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW scanf (const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW sscanf (const char*, const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl fscanf (FILE*, const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl scanf (const char*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl sscanf (const char*, const char*, ...); /* * Character Input and Output Functions */
-_CRTIMP int __cdecl __MINGW_NOTHROW fgetc (FILE*); -_CRTIMP char* __cdecl __MINGW_NOTHROW fgets (char*, int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputc (int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputs (const char*, FILE*); -_CRTIMP char* __cdecl __MINGW_NOTHROW gets (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW puts (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW ungetc (int, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fgetc (FILE*); +_CRTIMP __MINGW_NOTHROW char* __cdecl fgets (char*, int, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fputc (int, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fputs (const char*, FILE*); +_CRTIMP __MINGW_NOTHROW char* __cdecl gets (char*); +_CRTIMP __MINGW_NOTHROW int __cdecl puts (const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl ungetc (int, FILE*);
/* Traditionally, getc and putc are defined as macros. but the standard doesn't say that they must be macros. @@ -241,8 +241,8 @@ to be used in C++ with namespace qualification, eg., ::getc.
_filbuf and _flsbuf are not thread-safe. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _filbuf (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _flsbuf (int, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _filbuf (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _flsbuf (int, FILE*);
#if !defined _MT
@@ -275,10 +275,10 @@
#else /* Use library functions. */
-_CRTIMP int __cdecl __MINGW_NOTHROW getc (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW putc (int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW getchar (void); -_CRTIMP int __cdecl __MINGW_NOTHROW putchar (int); +_CRTIMP __MINGW_NOTHROW int __cdecl getc (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl putc (int, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl getchar (void); +_CRTIMP __MINGW_NOTHROW int __cdecl putchar (int);
#endif
@@ -286,25 +286,25 @@ * Direct Input and Output Functions */
-_CRTIMP size_t __cdecl __MINGW_NOTHROW fread (void*, size_t, size_t, FILE*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW fwrite (const void*, size_t, size_t, FILE*); +_CRTIMP __MINGW_NOTHROW size_t __cdecl fread (void*, size_t, size_t, FILE*); +_CRTIMP __MINGW_NOTHROW size_t __cdecl fwrite (const void*, size_t, size_t, FILE*);
/* * File Positioning Functions */
-_CRTIMP int __cdecl __MINGW_NOTHROW fseek (FILE*, long, int); -_CRTIMP long __cdecl __MINGW_NOTHROW ftell (FILE*); -_CRTIMP void __cdecl __MINGW_NOTHROW rewind (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fseek (FILE*, long, int); +_CRTIMP __MINGW_NOTHROW long __cdecl ftell (FILE*); +_CRTIMP __MINGW_NOTHROW void __cdecl rewind (FILE*);
#if __MSVCRT_VERSION__ >= 0x800 -_CRTIMP int __cdecl __MINGW_NOTHROW _fseek_nolock (FILE*, long, int); -_CRTIMP long __cdecl __MINGW_NOTHROW _ftell_nolock (FILE*); - -_CRTIMP int __cdecl __MINGW_NOTHROW _fseeki64 (FILE*, __int64, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _ftelli64 (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fseeki64_nolock (FILE*, __int64, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _ftelli64_nolock (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _fseek_nolock (FILE*, long, int); +_CRTIMP __MINGW_NOTHROW long __cdecl _ftell_nolock (FILE*); + +_CRTIMP __MINGW_NOTHROW int __cdecl _fseeki64 (FILE*, __int64, int); +_CRTIMP __MINGW_NOTHROW __int64 __cdecl _ftelli64 (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _fseeki64_nolock (FILE*, __int64, int); +_CRTIMP __MINGW_NOTHROW __int64 __cdecl _ftelli64_nolock (FILE*); #endif
#ifdef __USE_MINGW_FSEEK /* These are in libmingwex.a */ @@ -334,15 +334,15 @@ typedef long fpos_t; #endif
-_CRTIMP int __cdecl __MINGW_NOTHROW fgetpos (FILE*, fpos_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW fsetpos (FILE*, const fpos_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl fgetpos (FILE*, fpos_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl fsetpos (FILE*, const fpos_t*);
/* * Error Functions */
-_CRTIMP int __cdecl __MINGW_NOTHROW feof (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW ferror (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl feof (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl ferror (FILE*);
#ifdef __cplusplus inline int __cdecl __MINGW_NOTHROW feof (FILE* __F) @@ -354,47 +354,47 @@ #define ferror(__F) ((__F)->_flag & _IOERR) #endif
-_CRTIMP void __cdecl __MINGW_NOTHROW clearerr (FILE*); -_CRTIMP void __cdecl __MINGW_NOTHROW perror (const char*); +_CRTIMP __MINGW_NOTHROW void __cdecl clearerr (FILE*); +_CRTIMP __MINGW_NOTHROW void __cdecl perror (const char*);
#ifndef __STRICT_ANSI__ /* * Pipes */ -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _popen (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _pclose (FILE*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _popen (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _pclose (FILE*);
#ifndef NO_OLDNAMES -_CRTIMP FILE* __cdecl __MINGW_NOTHROW popen (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW pclose (FILE*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl popen (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl pclose (FILE*); #endif
/* * Other Non ANSI functions */ -_CRTIMP int __cdecl __MINGW_NOTHROW _flushall (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _fgetchar (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _fputchar (int); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _fdopen (int, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fileno (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fcloseall(void); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _fsopen(const char*, const char*, int); +_CRTIMP __MINGW_NOTHROW int __cdecl _flushall (void); +_CRTIMP __MINGW_NOTHROW int __cdecl _fgetchar (void); +_CRTIMP __MINGW_NOTHROW int __cdecl _fputchar (int); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _fdopen (int, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _fileno (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _fcloseall(void); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _fsopen(const char*, const char*, int); #ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _getmaxstdio(void); -_CRTIMP int __cdecl __MINGW_NOTHROW _setmaxstdio(int); +_CRTIMP __MINGW_NOTHROW int __cdecl _getmaxstdio(void); +_CRTIMP __MINGW_NOTHROW int __cdecl _setmaxstdio(int); #endif
#if __MSVCRT_VERSION__ >= 0x800 -_CRTIMP int __cdecl __MINGW_NOTHROW _set_printf_count_output(int); -_CRTIMP int __cdecl __MINGW_NOTHROW _get_printf_count_output(void); +_CRTIMP __MINGW_NOTHROW int __cdecl _set_printf_count_output(int); +_CRTIMP __MINGW_NOTHROW int __cdecl _get_printf_count_output(void); #endif
#ifndef _NO_OLDNAMES -_CRTIMP int __cdecl __MINGW_NOTHROW fgetchar (void); -_CRTIMP int __cdecl __MINGW_NOTHROW fputchar (int); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW fdopen (int, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW fileno (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fgetchar (void); +_CRTIMP __MINGW_NOTHROW int __cdecl fputchar (int); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl fdopen (int, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl fileno (FILE*); #endif /* Not _NO_OLDNAMES */
#define _fileno(__F) ((__F)->_file) @@ -404,19 +404,19 @@
#if defined (__MSVCRT__) && !defined (__NO_MINGW_LFS) #include <sys/types.h> -__CRT_INLINE FILE* __cdecl __MINGW_NOTHROW fopen64 (const char* filename, const char* mode) +__MINGW_NOTHROW __CRT_INLINE FILE* __cdecl fopen64 (const char* filename, const char* mode) { return fopen (filename, mode); }
-int __cdecl __MINGW_NOTHROW fseeko64 (FILE*, off64_t, int); +__MINGW_NOTHROW int __cdecl fseeko64 (FILE*, off64_t, int);
#ifdef __USE_MINGW_FSEEK -int __cdecl __MINGW_NOTHROW __mingw_fseeko64 (FILE *, off64_t, int); +__MINGW_NOTHROW int __cdecl __mingw_fseeko64 (FILE *, off64_t, int); #define fseeko64(fp, offset, whence) __mingw_fseeko64(fp, offset, whence) #endif
-__CRT_INLINE off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE * stream) +__MINGW_NOTHROW __CRT_INLINE off64_t __cdecl ftello64 (FILE * stream) { fpos_t pos; if (fgetpos(stream, &pos)) @@ -432,40 +432,40 @@
#ifndef _WSTDIO_DEFINED /* also in wchar.h - keep in sync */ -_CRTIMP int __cdecl __MINGW_NOTHROW fwprintf (FILE*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW wprintf (const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW swprintf (wchar_t*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _snwprintf (wchar_t*, size_t, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vfwprintf (FILE*, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vwprintf (const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vswprintf (wchar_t*, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW fwscanf (FILE*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW wscanf (const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW swscanf (const wchar_t*, const wchar_t*, ...); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fgetwc (FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fputwc (wchar_t, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW ungetwc (wchar_t, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fwprintf (FILE*, const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl wprintf (const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl swprintf (wchar_t*, const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl _snwprintf (wchar_t*, size_t, const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl vfwprintf (FILE*, const wchar_t*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl vwprintf (const wchar_t*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl vswprintf (wchar_t*, const wchar_t*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST); +_CRTIMP __MINGW_NOTHROW int __cdecl fwscanf (FILE*, const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl wscanf (const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW int __cdecl swscanf (const wchar_t*, const wchar_t*, ...); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl fgetwc (FILE*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl fputwc (wchar_t, FILE*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl ungetwc (wchar_t, FILE*);
#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW fgetws (wchar_t*, int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputws (const wchar_t*, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwc (FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwchar (void); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _getws (wchar_t*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _putws (const wchar_t*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfdopen(int, const wchar_t *); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfopen (const wchar_t*, const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfreopen (const wchar_t*, const wchar_t*, FILE*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfsopen (const wchar_t*, const wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtmpnam (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtempnam (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrename (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wremove (const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wperror (const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl fgetws (wchar_t*, int, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl fputws (const wchar_t*, FILE*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl getwc (FILE*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl getwchar (void); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _getws (wchar_t*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl putwc (wint_t, FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _putws (const wchar_t*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl putwchar (wint_t); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _wfdopen(int, const wchar_t *); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _wfopen (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _wfreopen (const wchar_t*, const wchar_t*, FILE*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _wfsopen (const wchar_t*, const wchar_t*, int); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wtmpnam (wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wtempnam (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wrename (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wremove (const wchar_t*); +_CRTIMP __MINGW_NOTHROW void __cdecl _wperror (const wchar_t*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl _wpopen (const wchar_t*, const wchar_t*); #endif /* __MSVCRT__ */
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ @@ -486,23 +486,23 @@ #ifndef __STRICT_ANSI__ #ifdef __MSVCRT__ #ifndef NO_OLDNAMES -_CRTIMP FILE* __cdecl __MINGW_NOTHROW wpopen (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW FILE* __cdecl wpopen (const wchar_t*, const wchar_t*); #endif /* not NO_OLDNAMES */ #endif /* MSVCRT runtime */
/* * Other Non ANSI wide functions */ -_CRTIMP wint_t __cdecl __MINGW_NOTHROW _fgetwchar (void); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW _fputwchar (wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _getw (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _putw (int, FILE*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl _fgetwchar (void); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl _fputwchar (wint_t); +_CRTIMP __MINGW_NOTHROW int __cdecl _getw (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl _putw (int, FILE*);
#ifndef _NO_OLDNAMES -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fgetwchar (void); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fputwchar (wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW getw (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW putw (int, FILE*); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl fgetwchar (void); +_CRTIMP __MINGW_NOTHROW wint_t __cdecl fputwchar (wint_t); +_CRTIMP __MINGW_NOTHROW int __cdecl getw (FILE*); +_CRTIMP __MINGW_NOTHROW int __cdecl putw (int, FILE*); #endif /* Not _NO_OLDNAMES */
#endif /* __STRICT_ANSI */
Modified: branches/the-real-msvc/include/crt/stdlib.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/stdlib... ============================================================================== --- branches/the-real-msvc/include/crt/stdlib.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/stdlib.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -74,9 +74,9 @@ /* imports from runtime dll of the above variables */ #ifdef __MSVCRT__
-extern int* __cdecl __MINGW_NOTHROW __p___argc(void); -extern char*** __cdecl __MINGW_NOTHROW __p___argv(void); -extern wchar_t*** __cdecl __MINGW_NOTHROW __p___wargv(void); +extern __MINGW_NOTHROW int* __cdecl __p___argc(void); +extern __MINGW_NOTHROW char*** __cdecl __p___argv(void); +extern __MINGW_NOTHROW wchar_t*** __cdecl __p___wargv(void);
#define __argc (*__p___argc()) #define __argv (*__p___argv()) @@ -126,28 +126,28 @@ #endif /* __DECLSPEC_SUPPORTED */ #endif /* MB_CUR_MAX */
-/* - * MS likes to declare errno in stdlib.h as well. +/* + * MS likes to declare errno in stdlib.h as well. */
#ifdef _UWIN #undef errno extern int errno; #else - _CRTIMP int* __cdecl __MINGW_NOTHROW _errno(void); + _CRTIMP __MINGW_NOTHROW int* __cdecl _errno(void); #define errno (*_errno()) #endif - _CRTIMP int* __cdecl __MINGW_NOTHROW __doserrno(void); + _CRTIMP __MINGW_NOTHROW int* __cdecl __doserrno(void); #define _doserrno (*__doserrno())
#if !defined (__STRICT_ANSI__) /* - * Use environ from the DLL, not as a global. + * Use environ from the DLL, not as a global. */
#ifdef __MSVCRT__ - extern _CRTIMP char *** __cdecl __MINGW_NOTHROW __p__environ(void); - extern _CRTIMP wchar_t *** __cdecl __MINGW_NOTHROW __p__wenviron(void); + extern _CRTIMP __MINGW_NOTHROW char *** __cdecl __p__environ(void); + extern _CRTIMP __MINGW_NOTHROW wchar_t *** __cdecl __p__wenviron(void); # define _environ (*__p__environ()) # define _wenviron (*__p__wenviron()) #else /* ! __MSVCRT__ */ @@ -206,10 +206,10 @@ #ifdef __MSVCRT__ /* msvcrtxx.dll */
-extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__osver(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winver(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winmajor(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winminor(void); +extern _CRTIMP __MINGW_NOTHROW unsigned int* __cdecl __p__osver(void); +extern _CRTIMP __MINGW_NOTHROW unsigned int* __cdecl __p__winver(void); +extern _CRTIMP __MINGW_NOTHROW unsigned int* __cdecl __p__winmajor(void); +extern _CRTIMP __MINGW_NOTHROW unsigned int* __cdecl __p__winminor(void);
#ifndef __DECLSPEC_SUPPORTED # define _osver (*__p__osver()) @@ -257,9 +257,9 @@ #if defined __MSVCRT__ /* although the _pgmptr is exported as DATA, * be safe and use the access function __p__pgmptr() to get it. */ -_CRTIMP char** __cdecl __MINGW_NOTHROW __p__pgmptr(void); +_CRTIMP __MINGW_NOTHROW char** __cdecl __p__pgmptr(void); #define _pgmptr (*__p__pgmptr()) -_CRTIMP wchar_t** __cdecl __MINGW_NOTHROW __p__wpgmptr(void); +_CRTIMP __MINGW_NOTHROW wchar_t** __cdecl __p__wpgmptr(void); #define _wpgmptr (*__p__wpgmptr()) #else /* ! __MSVCRT__ */ # ifndef __DECLSPEC_SUPPORTED @@ -300,74 +300,74 @@
#endif /* Not __STRICT_ANSI__ */
-_CRTIMP double __cdecl __MINGW_NOTHROW atof (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW atoi (const char*); -_CRTIMP long __cdecl __MINGW_NOTHROW atol (const char*); +_CRTIMP __MINGW_NOTHROW double __cdecl atof (const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl atoi (const char*); +_CRTIMP __MINGW_NOTHROW long __cdecl atol (const char*); #if !defined (__STRICT_ANSI__) -_CRTIMP int __cdecl __MINGW_NOTHROW _wtoi (const wchar_t *); -_CRTIMP long __cdecl __MINGW_NOTHROW _wtol (const wchar_t *); -#endif -_CRTIMP double __cdecl __MINGW_NOTHROW strtod (const char*, char**); +_CRTIMP __MINGW_NOTHROW int __cdecl _wtoi (const wchar_t *); +_CRTIMP __MINGW_NOTHROW long __cdecl _wtol (const wchar_t *); +#endif +_CRTIMP __MINGW_NOTHROW double __cdecl strtod (const char*, char**); #if !defined __NO_ISOCEXT /* in libmingwex.a */ -float __cdecl __MINGW_NOTHROW strtof (const char * __restrict__, char ** __restrict__); -long double __cdecl __MINGW_NOTHROW strtold (const char * __restrict__, char ** __restrict__); +__MINGW_NOTHROW float __cdecl strtof (const char * __restrict__, char ** __restrict__); +__MINGW_NOTHROW long double __cdecl strtold (const char * __restrict__, char ** __restrict__); #endif /* __NO_ISOCEXT */
-_CRTIMP long __cdecl __MINGW_NOTHROW strtol (const char*, char**, int); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW strtoul (const char*, char**, int); +__MINGW_NOTHROW _CRTIMP long __cdecl strtol (const char*, char**, int); +__MINGW_NOTHROW _CRTIMP unsigned long __cdecl strtoul (const char*, char**, int);
#ifndef _WSTDLIB_DEFINED /* also declared in wchar.h */ -_CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int); -_CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**); +_CRTIMP __MINGW_NOTHROW long __cdecl wcstol (const wchar_t*, wchar_t**, int); +_CRTIMP __MINGW_NOTHROW unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int); +_CRTIMP __MINGW_NOTHROW double __cdecl wcstod (const wchar_t*, wchar_t**); #if !defined __NO_ISOCEXT /* in libmingwex.a */ -float __cdecl __MINGW_NOTHROW wcstof( const wchar_t * __restrict__, wchar_t ** __restrict__); -long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); +__MINGW_NOTHROW float __cdecl wcstof( const wchar_t * __restrict__, wchar_t ** __restrict__); +__MINGW_NOTHROW long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); #endif /* __NO_ISOCEXT */ -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wputenv(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsystem(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, size_t); +#ifdef __MSVCRT__ +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wgetenv(const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wputenv(const wchar_t*); +_CRTIMP __MINGW_NOTHROW void __cdecl _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wsystem(const wchar_t*); +_CRTIMP __MINGW_NOTHROW void __cdecl _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW void __cdecl _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wfullpath (wchar_t*, const wchar_t*, size_t); #endif #define _WSTDLIB_DEFINED #endif
-_CRTIMP size_t __cdecl __MINGW_NOTHROW wcstombs (char*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wctomb (char*, wchar_t); - -_CRTIMP int __cdecl __MINGW_NOTHROW mblen (const char*, size_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW mbstowcs (wchar_t*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW mbtowc (wchar_t*, const char*, size_t); - -_CRTIMP int __cdecl __MINGW_NOTHROW rand (void); -_CRTIMP void __cdecl __MINGW_NOTHROW srand (unsigned int); - -_CRTIMP void* __cdecl __MINGW_NOTHROW calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC; -_CRTIMP void* __cdecl __MINGW_NOTHROW malloc (size_t) __MINGW_ATTRIB_MALLOC; -_CRTIMP void* __cdecl __MINGW_NOTHROW realloc (void*, size_t); -_CRTIMP void __cdecl __MINGW_NOTHROW free (void*); -_CRTIMP void __cdecl __MINGW_NOTHROW abort (void) __MINGW_ATTRIB_NORETURN; -_CRTIMP void __cdecl __MINGW_NOTHROW exit (int) __MINGW_ATTRIB_NORETURN; +_CRTIMP __MINGW_NOTHROW size_t __cdecl wcstombs (char*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl wctomb (char*, wchar_t); + +_CRTIMP __MINGW_NOTHROW int __cdecl mblen (const char*, size_t); +_CRTIMP __MINGW_NOTHROW size_t __cdecl mbstowcs (wchar_t*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl mbtowc (wchar_t*, const char*, size_t); + +_CRTIMP __MINGW_NOTHROW int __cdecl rand (void); +_CRTIMP __MINGW_NOTHROW void __cdecl srand (unsigned int); + +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_MALLOC void* __cdecl calloc (size_t, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_MALLOC void* __cdecl malloc (size_t); +_CRTIMP __MINGW_NOTHROW void* __cdecl realloc (void*, size_t); +_CRTIMP __MINGW_NOTHROW void __cdecl free (void*); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_NORETURN void __cdecl abort (void); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_NORETURN void __cdecl exit (int);
/* Note: This is in startup code, not imported directly from dll */ int __cdecl __MINGW_NOTHROW atexit (void (*)(void));
-_CRTIMP int __cdecl __MINGW_NOTHROW system (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW getenv (const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl system (const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl getenv (const char*);
/* bsearch and qsort are also in non-ANSI header search.h */ -_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, +_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, int (*)(const void*, const void*)); _CRTIMP void __cdecl qsort(void*, size_t, size_t, int (*)(const void*, const void*));
-_CRTIMP int __cdecl __MINGW_NOTHROW abs (int) __MINGW_ATTRIB_CONST; -_CRTIMP long __cdecl __MINGW_NOTHROW labs (long) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW int __cdecl abs (int) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW long __cdecl labs (long) __MINGW_ATTRIB_CONST;
/* * div_t and ldiv_t are structures used to return the results of div and @@ -380,8 +380,8 @@ typedef struct { int quot, rem; } div_t; typedef struct { long quot, rem; } ldiv_t;
-_CRTIMP div_t __cdecl __MINGW_NOTHROW div (int, int) __MINGW_ATTRIB_CONST; -_CRTIMP ldiv_t __cdecl __MINGW_NOTHROW ldiv (long, long) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW div_t __cdecl div (int, int) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW ldiv_t __cdecl ldiv (long, long) __MINGW_ATTRIB_CONST;
#if !defined (__STRICT_ANSI__)
@@ -389,53 +389,53 @@ * NOTE: Officially the three following functions are obsolete. The Win32 API * functions SetErrorMode, Beep and Sleep are their replacements. */ -_CRTIMP void __cdecl __MINGW_NOTHROW _beep (unsigned int, unsigned int) __MINGW_ATTRIB_DEPRECATED; +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED void __cdecl _beep (unsigned int, unsigned int); /* Not to be confused with _set_error_mode (int). */ -_CRTIMP void __cdecl __MINGW_NOTHROW _seterrormode (int) __MINGW_ATTRIB_DEPRECATED; -_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED; - -_CRTIMP void __cdecl __MINGW_NOTHROW _exit (int) __MINGW_ATTRIB_NORETURN; +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED void __cdecl _seterrormode (int); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED void __cdecl _sleep (unsigned long); + +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_NORETURN void __cdecl _exit (int);
/* _onexit is MS extension. Use atexit for portability. */ /* Note: This is in startup code, not imported directly from dll */ typedef int (* _onexit_t)(void); _onexit_t __cdecl __MINGW_NOTHROW _onexit( _onexit_t );
-_CRTIMP int __cdecl __MINGW_NOTHROW _putenv (const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _searchenv (const char*, const char*, char*); - - -_CRTIMP char* __cdecl __MINGW_NOTHROW _ecvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _fcvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _gcvt (double, int, char*); - -_CRTIMP void __cdecl __MINGW_NOTHROW _makepath (char*, const char*, const char*, const char*, const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _splitpath (const char*, char*, char*, char*, char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _fullpath (char*, const char*, size_t); - -_CRTIMP char* __cdecl __MINGW_NOTHROW _itoa (int, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ltoa (long, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ultoa(unsigned long, char*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _itow (int, wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ltow (long, wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ultow (unsigned long, wchar_t*, int); - -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _atoi64(const char *); - +_CRTIMP __MINGW_NOTHROW int __cdecl _putenv (const char*); +_CRTIMP __MINGW_NOTHROW void __cdecl _searchenv (const char*, const char*, char*); + + +_CRTIMP __MINGW_NOTHROW char* __cdecl _ecvt (double, int, int*, int*); +_CRTIMP __MINGW_NOTHROW char* __cdecl _fcvt (double, int, int*, int*); +_CRTIMP __MINGW_NOTHROW char* __cdecl _gcvt (double, int, char*); + +_CRTIMP __MINGW_NOTHROW void __cdecl _makepath (char*, const char*, const char*, const char*, const char*); +_CRTIMP __MINGW_NOTHROW void __cdecl _splitpath (const char*, char*, char*, char*, char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl _fullpath (char*, const char*, size_t); + +_CRTIMP __MINGW_NOTHROW char* __cdecl _itoa (int, char*, int); +_CRTIMP __MINGW_NOTHROW char* __cdecl _ltoa (long, char*, int); +_CRTIMP __MINGW_NOTHROW char* __cdecl _ultoa(unsigned long, char*, int); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _itow (int, wchar_t*, int); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _ltow (long, wchar_t*, int); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _ultow (unsigned long, wchar_t*, int); + +_CRTIMP __MINGW_NOTHROW __int64 __cdecl _atoi64(const char *); + #ifdef __MSVCRT__ -_CRTIMP char* __cdecl __MINGW_NOTHROW _i64toa(__int64, char *, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ui64toa(unsigned __int64, char *, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _wtoi64(const wchar_t *); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _i64tow(__int64, wchar_t *, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ui64tow(unsigned __int64, wchar_t *, int); - - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _rotl(unsigned int, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _rotr(unsigned int, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW _lrotl(unsigned long, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW _lrotr(unsigned long, int) __MINGW_ATTRIB_CONST; - -_CRTIMP int __cdecl __MINGW_NOTHROW _set_error_mode (int); +_CRTIMP __MINGW_NOTHROW char* __cdecl _i64toa(__int64, char *, int); +_CRTIMP __MINGW_NOTHROW char* __cdecl _ui64toa(unsigned __int64, char *, int); +_CRTIMP __MINGW_NOTHROW __int64 __cdecl _wtoi64(const wchar_t *); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _i64tow(__int64, wchar_t *, int); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _ui64tow(unsigned __int64, wchar_t *, int); + + +_CRTIMP __MINGW_NOTHROW unsigned int __cdecl _rotl(unsigned int, int) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW unsigned int __cdecl _rotr(unsigned int, int) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW unsigned long __cdecl _lrotl(unsigned long, int) __MINGW_ATTRIB_CONST; +_CRTIMP __MINGW_NOTHROW unsigned long __cdecl _lrotr(unsigned long, int) __MINGW_ATTRIB_CONST; + +_CRTIMP __MINGW_NOTHROW int __cdecl _set_error_mode (int); #define _OUT_TO_DEFAULT 0 #define _OUT_TO_STDERR 1 #define _OUT_TO_MSGBOX 2 @@ -450,7 +450,7 @@ typedef int intptr_t; #endif #endif -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_abort_behavior (unsigned int, unsigned int); +_CRTIMP __MINGW_NOTHROW unsigned int __cdecl _set_abort_behavior (unsigned int, unsigned int); /* These masks work with msvcr80.dll version 8.0.50215.44 (a beta release). */ #define _WRITE_ABORT_MSG 1 #define _CALL_REPORTFAULT 2 @@ -466,16 +466,16 @@
#ifndef _NO_OLDNAMES
-_CRTIMP int __cdecl __MINGW_NOTHROW putenv (const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW searchenv (const char*, const char*, char*); - -_CRTIMP char* __cdecl __MINGW_NOTHROW itoa (int, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW ltoa (long, char*, int); +_CRTIMP __MINGW_NOTHROW int __cdecl putenv (const char*); +_CRTIMP __MINGW_NOTHROW void __cdecl searchenv (const char*, const char*, char*); + +_CRTIMP __MINGW_NOTHROW char* __cdecl itoa (int, char*, int); +_CRTIMP __MINGW_NOTHROW char* __cdecl ltoa (long, char*, int);
#ifndef _UWIN -_CRTIMP char* __cdecl __MINGW_NOTHROW ecvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW fcvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW gcvt (double, int, char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl ecvt (double, int, int*, int*); +_CRTIMP __MINGW_NOTHROW char* __cdecl fcvt (double, int, int*, int*); +_CRTIMP __MINGW_NOTHROW char* __cdecl gcvt (double, int, char*); #endif /* _UWIN */ #endif /* Not _NO_OLDNAMES */
@@ -486,11 +486,11 @@ #if !defined __NO_ISOCEXT /* externs in static libmingwex.a */
/* C99 name for _exit */ -void __cdecl __MINGW_NOTHROW _Exit(int) __MINGW_ATTRIB_NORETURN; +void __MINGW_ATTRIB_NORETURN __cdecl __MINGW_NOTHROW _Exit(int); #ifndef __STRICT_ANSI__ /* inline using non-ansi functions */ __CRT_INLINE void __cdecl __MINGW_NOTHROW _Exit(int __status) { _exit (__status); } -#endif +#endif
typedef struct { long long quot, rem; } lldiv_t;
@@ -503,29 +503,29 @@ long long __cdecl __MINGW_NOTHROW strtoll (const char* __restrict__, char** __restrict, int); unsigned long long __cdecl __MINGW_NOTHROW strtoull (const char* __restrict__, char** __restrict__, int);
-#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */ +#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */ long long __cdecl __MINGW_NOTHROW atoll (const char *);
#if !defined (__STRICT_ANSI__) -long long __cdecl __MINGW_NOTHROW wtoll (const wchar_t *); -char* __cdecl __MINGW_NOTHROW lltoa (long long, char *, int); -char* __cdecl __MINGW_NOTHROW ulltoa (unsigned long long , char *, int); -wchar_t* __cdecl __MINGW_NOTHROW lltow (long long, wchar_t *, int); -wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long, wchar_t *, int); +__MINGW_NOTHROW long long __cdecl wtoll (const wchar_t *); +__MINGW_NOTHROW char* __cdecl lltoa (long long, char *, int); +__MINGW_NOTHROW char* __cdecl ulltoa (unsigned long long , char *, int); +__MINGW_NOTHROW wchar_t* __cdecl lltow (long long, wchar_t *, int); +__MINGW_NOTHROW wchar_t* __cdecl ulltow (unsigned long long, wchar_t *, int);
/* inline using non-ansi functions */ -__CRT_INLINE long long __cdecl __MINGW_NOTHROW atoll (const char * _c) +__CRT_INLINE __MINGW_NOTHROW long long __cdecl atoll (const char * _c) { return _atoi64 (_c); } -__CRT_INLINE char* __cdecl __MINGW_NOTHROW lltoa (long long _n, char * _c, int _i) +__CRT_INLINE __MINGW_NOTHROW char* __cdecl lltoa (long long _n, char * _c, int _i) { return _i64toa (_n, _c, _i); } -__CRT_INLINE char* __cdecl __MINGW_NOTHROW ulltoa (unsigned long long _n, char * _c, int _i) +__CRT_INLINE __MINGW_NOTHROW char* __cdecl ulltoa (unsigned long long _n, char * _c, int _i) { return _ui64toa (_n, _c, _i); } -__CRT_INLINE long long __cdecl __MINGW_NOTHROW wtoll (const wchar_t * _w) +__CRT_INLINE __MINGW_NOTHROW long long __cdecl wtoll (const wchar_t * _w) { return _wtoi64 (_w); } -__CRT_INLINE wchar_t* __cdecl __MINGW_NOTHROW lltow (long long _n, wchar_t * _w, int _i) - { return _i64tow (_n, _w, _i); } -__CRT_INLINE wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long _n, wchar_t * _w, int _i) - { return _ui64tow (_n, _w, _i); } +__CRT_INLINE __MINGW_NOTHROW wchar_t* __cdecl lltow (long long _n, wchar_t * _w, int _i) + { return _i64tow (_n, _w, _i); } +__CRT_INLINE __MINGW_NOTHROW wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i) + { return _ui64tow (_n, _w, _i); } #endif /* (__STRICT_ANSI__) */
#endif /* __MSVCRT__ */
Modified: branches/the-real-msvc/include/crt/string.h URL: http://svn.reactos.org/svn/reactos/branches/the-real-msvc/include/crt/string... ============================================================================== --- branches/the-real-msvc/include/crt/string.h [iso-8859-1] (original) +++ branches/the-real-msvc/include/crt/string.h [iso-8859-1] Wed Oct 29 08:17:12 2008 @@ -33,52 +33,52 @@ /* * Prototypes of the ANSI Standard C library string functions. */ -_CRTIMP void* __cdecl __MINGW_NOTHROW memchr (const void*, int, size_t) __MINGW_ATTRIB_PURE; -_CRTIMP int __cdecl __MINGW_NOTHROW memcmp (const void*, const void*, size_t) __MINGW_ATTRIB_PURE; -_CRTIMP void* __cdecl __MINGW_NOTHROW memcpy (void*, const void*, size_t); -_CRTIMP void* __cdecl __MINGW_NOTHROW memmove (void*, const void*, size_t); -_CRTIMP void* __cdecl __MINGW_NOTHROW memset (void*, int, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strcat (char*, const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW strchr (const char*, int) __MINGW_ATTRIB_PURE; -_CRTIMP int __cdecl __MINGW_NOTHROW strcmp (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP int __cdecl __MINGW_NOTHROW strcoll (const char*, const char*); /* Compare using locale */ -_CRTIMP char* __cdecl __MINGW_NOTHROW strcpy (char*, const char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW strcspn (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strerror (int); /* NOTE: NOT an old name wrapper. */ +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE void* __cdecl memchr (const void*, int, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE int __cdecl memcmp (const void*, const void*, size_t); +_CRTIMP __MINGW_NOTHROW void* __cdecl memcpy (void*, const void*, size_t); +_CRTIMP __MINGW_NOTHROW void* __cdecl memmove (void*, const void*, size_t); +_CRTIMP __MINGW_NOTHROW void* __cdecl memset (void*, int, size_t); +_CRTIMP __MINGW_NOTHROW char* __cdecl strcat (char*, const char*); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE char* __cdecl strchr (const char*, int) ; +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE int __cdecl strcmp (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl strcoll (const char*, const char*); /* Compare using locale */ +_CRTIMP __MINGW_NOTHROW char* __cdecl strcpy (char*, const char*); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE size_t __cdecl strcspn (const char*, const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl strerror (int); /* NOTE: NOT an old name wrapper. */
-_CRTIMP size_t __cdecl __MINGW_NOTHROW strlen (const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strncat (char*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW strncmp (const char*, const char*, size_t) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strncpy (char*, const char*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strpbrk (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strrchr (const char*, int) __MINGW_ATTRIB_PURE; -_CRTIMP size_t __cdecl __MINGW_NOTHROW strspn (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strstr (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strtok (char*, const char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW strxfrm (char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE size_t __cdecl strlen (const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl strncat (char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE int __cdecl strncmp (const char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW char* __cdecl strncpy (char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE char* __cdecl strpbrk (const char*, const char*); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE char* __cdecl strrchr (const char*, int); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE size_t __cdecl strspn (const char*, const char*); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_PURE char* __cdecl strstr (const char*, const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl strtok (char*, const char*); +_CRTIMP __MINGW_NOTHROW size_t __cdecl strxfrm (char*, const char*, size_t);
#ifndef __STRICT_ANSI__ /* * Extra non-ANSI functions provided by the CRTDLL library */ -_CRTIMP char* __cdecl __MINGW_NOTHROW _strerror (const char *); -_CRTIMP void* __cdecl __MINGW_NOTHROW _memccpy (void*, const void*, int, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _memicmp (const void*, const void*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strdup (const char*) __MINGW_ATTRIB_MALLOC; -_CRTIMP int __cdecl __MINGW_NOTHROW _strcmpi (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stricmp (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stricoll (const char*, const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strlwr (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _strnicmp (const char*, const char*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strnset (char*, int, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strrev (char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strset (char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strupr (char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _swab (const char*, char*, size_t); +_CRTIMP __MINGW_NOTHROW char* __cdecl _strerror (const char *); +_CRTIMP __MINGW_NOTHROW void* __cdecl _memccpy (void*, const void*, int, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl _memicmp (const void*, const void*, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_MALLOC char* __cdecl _strdup (const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _strcmpi (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _stricmp (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _stricoll (const char*, const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl _strlwr (char*); +_CRTIMP __MINGW_NOTHROW int __cdecl _strnicmp (const char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW char* __cdecl _strnset (char*, int, size_t); +_CRTIMP __MINGW_NOTHROW char* __cdecl _strrev (char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl _strset (char*, int); +_CRTIMP __MINGW_NOTHROW char* __cdecl _strupr (char*); +_CRTIMP __MINGW_NOTHROW void __cdecl _swab (const char*, char*, size_t);
#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _strncoll(const char*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _strnicoll(const char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl _strncoll(const char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl _strnicoll(const char*, const char*, size_t); #endif
#ifndef _NO_OLDNAMES @@ -87,28 +87,28 @@ * and provide a little extra portability. Also a few extra UNIX-isms like * strcasecmp. */ -_CRTIMP void* __cdecl __MINGW_NOTHROW memccpy (void*, const void*, int, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW memicmp (const void*, const void*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strdup (const char*) __MINGW_ATTRIB_MALLOC; -_CRTIMP int __cdecl __MINGW_NOTHROW strcmpi (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW stricmp (const char*, const char*); +_CRTIMP __MINGW_NOTHROW void* __cdecl memccpy (void*, const void*, int, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl memicmp (const void*, const void*, size_t); +_CRTIMP __MINGW_NOTHROW __MINGW_ATTRIB_MALLOC char* __cdecl strdup (const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl strcmpi (const char*, const char*); +_CRTIMP __MINGW_NOTHROW int __cdecl stricmp (const char*, const char*); __CRT_INLINE int __cdecl __MINGW_NOTHROW strcasecmp (const char*, const char *); __CRT_INLINE int __cdecl __MINGW_NOTHROW strcasecmp (const char * __sz1, const char * __sz2) {return _stricmp (__sz1, __sz2);} -_CRTIMP int __cdecl __MINGW_NOTHROW stricoll (const char*, const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW strlwr (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW strnicmp (const char*, const char*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl stricoll (const char*, const char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl strlwr (char*); +_CRTIMP __MINGW_NOTHROW int __cdecl strnicmp (const char*, const char*, size_t); __CRT_INLINE int __cdecl __MINGW_NOTHROW strncasecmp (const char *, const char *, size_t); __CRT_INLINE int __cdecl __MINGW_NOTHROW strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare) {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);} -_CRTIMP char* __cdecl __MINGW_NOTHROW strnset (char*, int, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strrev (char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW strset (char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW strupr (char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl strnset (char*, int, size_t); +_CRTIMP __MINGW_NOTHROW char* __cdecl strrev (char*); +_CRTIMP __MINGW_NOTHROW char* __cdecl strset (char*, int); +_CRTIMP __MINGW_NOTHROW char* __cdecl strupr (char*); #ifndef _UWIN -_CRTIMP void __cdecl __MINGW_NOTHROW swab (const char*, char*, size_t); +_CRTIMP __MINGW_NOTHROW void __cdecl swab (const char*, char*, size_t); #endif /* _UWIN */ #endif /* _NO_OLDNAMES */
@@ -119,23 +119,23 @@ * Unicode versions of the standard calls. * Also in wchar.h, where they belong according to ISO standard. */ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscat (wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcschr (const wchar_t*, wchar_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wcscmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcscoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscpy (wchar_t*, const wchar_t*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcscspn (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcscat (wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcschr (const wchar_t*, wchar_t); +_CRTIMP __MINGW_NOTHROW int __cdecl wcscmp (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl wcscoll (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcscpy (wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW size_t __cdecl wcscspn (const wchar_t*, const wchar_t*); /* Note: _wcserror requires __MSVCRT_VERSION__ >= 0x0700. */ -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcslen (const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncat (wchar_t*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsncmp(const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncpy(wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcspbrk(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrchr(const wchar_t*, wchar_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsspn(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsstr(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcstok(wchar_t*, const wchar_t*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsxfrm(wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW size_t __cdecl wcslen (const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsncat (wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl wcsncmp(const wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsncpy(wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcspbrk(const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsrchr(const wchar_t*, wchar_t); +_CRTIMP __MINGW_NOTHROW size_t __cdecl wcsspn(const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsstr(const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcstok(wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW size_t __cdecl wcsxfrm(wchar_t*, const wchar_t*, size_t);
#ifndef __STRICT_ANSI__ /* @@ -145,22 +145,22 @@ /* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */ #define _wcscmpi _wcsicmp
-_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsdup (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcslwr (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicmp (const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsnset (wchar_t*, wchar_t, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsrev (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsset (wchar_t*, wchar_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsupr (wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcsdup (const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wcsicmp (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wcsicoll (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcslwr (wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl _wcsnicmp (const wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcsnset (wchar_t*, wchar_t, size_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcsrev (wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcsset (wchar_t*, wchar_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcsupr (wchar_t*);
#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsncoll(const wchar_t*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicoll(const wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW int __cdecl _wcsnicoll(const wchar_t*, const wchar_t*, size_t); #if __MSVCRT_VERSION__ >= 0x0700 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcserror(int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl _wcserror(int); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl __wcserror(const wchar_t*); #endif #endif
@@ -170,15 +170,15 @@ __CRT_INLINE int __cdecl __MINGW_NOTHROW wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);} -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsdup (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsicmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsicoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcslwr (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsnicmp (const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsnset (wchar_t*, wchar_t, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrev (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsset (wchar_t*, wchar_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsupr (wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsdup (const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl wcsicmp (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl wcsicoll (const wchar_t*, const wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcslwr (wchar_t*); +_CRTIMP __MINGW_NOTHROW int __cdecl wcsnicmp (const wchar_t*, const wchar_t*, size_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsnset (wchar_t*, wchar_t, size_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsrev (wchar_t*); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsset (wchar_t*, wchar_t); +_CRTIMP __MINGW_NOTHROW wchar_t* __cdecl wcsupr (wchar_t*); #endif /* Not _NO_OLDNAMES */
#endif /* Not strict ANSI */