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/_ming…
==============================================================================
--- 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/asser…
==============================================================================
--- 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.…
==============================================================================
--- 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/s…
==============================================================================
--- 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/s…
==============================================================================
--- 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/s…
==============================================================================
--- 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/setjm…
==============================================================================
--- 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/stdli…
==============================================================================
--- 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/strin…
==============================================================================
--- 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 */