mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 04:13:18 +00:00
[INCLUDE]
- Move definition of va_list to crtdefs.h - Remove useless definitions from vadefs.h - Cleanup the mess in stdarg.h - Add memmove prototype to intrin_x86.h, since it's used there - basetyps.h: guard STDMETHODCALLTYPE & friends from redefinition - guiddef.h: define FAR, include string.h - ntdef.h: don't include stdarg.h and string anymore, enable STRICT, remove FAR, add STDMETHODCALLTYPE & friends svn path=/trunk/; revision=63530
This commit is contained in:
parent
1591c79743
commit
ac7d530c44
7 changed files with 68 additions and 165 deletions
|
@ -20,6 +20,10 @@
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#undef _CRT_PACKING
|
||||||
|
#define _CRT_PACKING 8
|
||||||
|
#pragma pack(push,_CRT_PACKING)
|
||||||
|
|
||||||
/* Disable non-ANSI C definitions if compiling with __STDC__ */
|
/* Disable non-ANSI C definitions if compiling with __STDC__ */
|
||||||
//HACK: Disabled
|
//HACK: Disabled
|
||||||
//#if __STDC__
|
//#if __STDC__
|
||||||
|
@ -29,10 +33,6 @@
|
||||||
|
|
||||||
/** Properties ***************************************************************/
|
/** Properties ***************************************************************/
|
||||||
|
|
||||||
#undef _CRT_PACKING
|
|
||||||
#define _CRT_PACKING 8
|
|
||||||
#pragma pack(push,_CRT_PACKING)
|
|
||||||
|
|
||||||
#ifndef _CRT_STRINGIZE
|
#ifndef _CRT_STRINGIZE
|
||||||
#define __CRT_STRINGIZE(_Value) #_Value
|
#define __CRT_STRINGIZE(_Value) #_Value
|
||||||
#define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value)
|
#define _CRT_STRINGIZE(_Value) __CRT_STRINGIZE(_Value)
|
||||||
|
@ -327,6 +327,22 @@ extern "C" {
|
||||||
typedef unsigned short wctype_t;
|
typedef unsigned short wctype_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#ifndef __GNUC_VA_LIST
|
||||||
|
#define __GNUC_VA_LIST
|
||||||
|
typedef __builtin_va_list __gnuc_va_list;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _VA_LIST_DEFINED
|
||||||
|
#define _VA_LIST_DEFINED
|
||||||
|
#if defined(__GNUC__)
|
||||||
|
typedef __gnuc_va_list va_list;
|
||||||
|
#elif defined(_MSC_VER)
|
||||||
|
typedef _Writable_bytes_(_Inexpressible_("length varies")) char * va_list;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef _ERRCODE_DEFINED
|
#ifndef _ERRCODE_DEFINED
|
||||||
#define _ERRCODE_DEFINED
|
#define _ERRCODE_DEFINED
|
||||||
typedef int errcode;
|
typedef int errcode;
|
||||||
|
|
|
@ -70,6 +70,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*** memcopy must be memmove ***/
|
/*** memcopy must be memmove ***/
|
||||||
|
void* memmove(void*, const void*, size_t);
|
||||||
__INTRIN_INLINE void* memcpy(void* dest, const void* source, size_t num)
|
__INTRIN_INLINE void* memcpy(void* dest, const void* source, size_t num)
|
||||||
{
|
{
|
||||||
return memmove(dest, source, num);
|
return memmove(dest, source, num);
|
||||||
|
|
|
@ -28,124 +28,18 @@ Boston, MA 02110-1301, USA. */
|
||||||
* ISO C Standard: 7.15 Variable arguments <stdarg.h>
|
* ISO C Standard: 7.15 Variable arguments <stdarg.h>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
#ifndef _INC_STDARG
|
#ifndef _INC_STDARG
|
||||||
#define _INC_STDARG
|
#define _INC_STDARG
|
||||||
|
|
||||||
|
#include <crtdefs.h>
|
||||||
|
#include <vadefs.h>
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#error Only Win32 target is supported!
|
#error Only Win32 target is supported!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _STDARG_H
|
|
||||||
#ifndef _ANSI_STDARG_H_
|
|
||||||
#ifndef __need___va_list
|
|
||||||
#define _STDARG_H
|
|
||||||
#define _ANSI_STDARG_H_
|
|
||||||
#endif /* not __need___va_list */
|
|
||||||
#undef __need___va_list
|
|
||||||
|
|
||||||
/* Define __gnuc_va_list. */
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#ifndef __GNUC_VA_LIST
|
|
||||||
#define __GNUC_VA_LIST
|
|
||||||
typedef __builtin_va_list __gnuc_va_list;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define the standard macros for the user,
|
|
||||||
if this invocation was from the user program. */
|
|
||||||
#ifdef _STDARG_H
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#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)
|
|
||||||
#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
|
|
||||||
#define va_copy(d,s) __builtin_va_copy(d,s)
|
|
||||||
#endif
|
|
||||||
#define __va_copy(d,s) __builtin_va_copy(d,s)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* 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. */
|
|
||||||
|
|
||||||
#ifdef _HIDDEN_VA_LIST /* On OSF1, this means varargs.h is "half-loaded". */
|
|
||||||
#undef _VA_LIST
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _BSD_VA_LIST
|
|
||||||
#undef _BSD_VA_LIST
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#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 /* __GNUC__ */
|
|
||||||
#endif /* _STDARG_H */
|
|
||||||
|
|
||||||
#endif /* not _ANSI_STDARG_H_ */
|
|
||||||
#endif /* not _STDARG_H */
|
|
||||||
|
|
||||||
#include <vadefs.h>
|
|
||||||
|
|
||||||
#ifndef va_start
|
#ifndef va_start
|
||||||
#define va_start _crt_va_start
|
#define va_start _crt_va_start
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -20,39 +20,6 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _UINTPTR_T_DEFINED
|
|
||||||
#define _UINTPTR_T_DEFINED
|
|
||||||
#ifndef __uintptr_t_defined
|
|
||||||
#define __uintptr_t_defined
|
|
||||||
#undef uintptr_t
|
|
||||||
#ifdef _WIN64
|
|
||||||
#if defined(__GNUC__) && defined(__STRICT_ANSI__)
|
|
||||||
typedef unsigned int uintptr_t __attribute__ ((mode (DI)));
|
|
||||||
#else
|
|
||||||
__MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
|
|
||||||
#endif
|
|
||||||
#else
|
|
||||||
typedef unsigned long uintptr_t;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __GNUC__
|
|
||||||
#ifndef __GNUC_VA_LIST
|
|
||||||
#define __GNUC_VA_LIST
|
|
||||||
typedef __builtin_va_list __gnuc_va_list;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _VA_LIST_DEFINED
|
|
||||||
#define _VA_LIST_DEFINED
|
|
||||||
#if defined(__GNUC__)
|
|
||||||
typedef __gnuc_va_list va_list;
|
|
||||||
#elif defined(_MSC_VER)
|
|
||||||
typedef char * va_list;
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#define _ADDRESSOF(v) (&reinterpret_cast<const char &>(v))
|
#define _ADDRESSOF(v) (&reinterpret_cast<const char &>(v))
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef STDMETHODCALLTYPE
|
||||||
#define STDMETHODCALLTYPE __stdcall
|
#define STDMETHODCALLTYPE __stdcall
|
||||||
#define STDMETHODVCALLTYPE __cdecl
|
#define STDMETHODVCALLTYPE __cdecl
|
||||||
#define STDAPICALLTYPE __stdcall
|
#define STDAPICALLTYPE __stdcall
|
||||||
|
@ -45,6 +46,7 @@
|
||||||
#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
|
#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
|
||||||
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
||||||
#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
|
#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
|
||||||
|
#endif /* !STDMETHODCALLTYPE */
|
||||||
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
# define interface struct
|
# define interface struct
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#ifndef GUID_DEFINED
|
#ifndef GUID_DEFINED
|
||||||
#define GUID_DEFINED
|
#define GUID_DEFINED
|
||||||
|
|
||||||
typedef struct _GUID
|
typedef struct _GUID
|
||||||
{
|
{
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
|
@ -31,6 +32,10 @@ typedef struct _GUID
|
||||||
} GUID;
|
} GUID;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef FAR
|
||||||
|
#define FAR
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef DECLSPEC_SELECTANY
|
#ifndef DECLSPEC_SELECTANY
|
||||||
#define DECLSPEC_SELECTANY __declspec(selectany)
|
#define DECLSPEC_SELECTANY __declspec(selectany)
|
||||||
#endif
|
#endif
|
||||||
|
@ -109,6 +114,8 @@ typedef GUID FMTID,*LPFMTID;
|
||||||
#define REFFMTID const FMTID* __MIDL_CONST
|
#define REFFMTID const FMTID* __MIDL_CONST
|
||||||
#endif /* !defined(__cplusplus) && !defined(CINTERFACE) */
|
#endif /* !defined(__cplusplus) && !defined(CINTERFACE) */
|
||||||
|
|
||||||
|
#if !defined(__midl) && !defined(__WIDL__)
|
||||||
|
#include <string.h>
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
|
|
||||||
__inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
|
__inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
|
||||||
|
@ -131,6 +138,7 @@ __inline int InlineIsEqualGUID(REFGUID rguid1, REFGUID rguid2)
|
||||||
#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
|
#define IsEqualGUID(rguid1, rguid2) (!memcmp(rguid1, rguid2, sizeof(GUID)))
|
||||||
|
|
||||||
#endif /* defined(__cplusplus) && !defined(CINTERFACE) */
|
#endif /* defined(__cplusplus) && !defined(CINTERFACE) */
|
||||||
|
#endif /* __midl && __WIDL__ */
|
||||||
|
|
||||||
#if defined(__cplusplus) && !defined(CINTERFACE)
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
|
@ -31,10 +31,6 @@
|
||||||
#include <specstrings.h>
|
#include <specstrings.h>
|
||||||
#include <kernelspecs.h>
|
#include <kernelspecs.h>
|
||||||
|
|
||||||
// FIXME: Shouldn't be included!
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -42,7 +38,7 @@ extern "C" {
|
||||||
/* Default to strict */
|
/* Default to strict */
|
||||||
#ifndef NO_STRICT
|
#ifndef NO_STRICT
|
||||||
#ifndef STRICT
|
#ifndef STRICT
|
||||||
//#define STRICT 1 // FIXME: disabled for now
|
#define STRICT 1
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -68,11 +64,6 @@ extern "C" {
|
||||||
#define CRITICAL
|
#define CRITICAL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// FIXME: deprecated
|
|
||||||
#ifndef FAR
|
|
||||||
#define FAR
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Constant modifier */
|
/* Constant modifier */
|
||||||
#ifndef CONST
|
#ifndef CONST
|
||||||
#define CONST const
|
#define CONST const
|
||||||
|
@ -98,12 +89,6 @@ extern "C" {
|
||||||
#define ANYSIZE_ARRAY 1
|
#define ANYSIZE_ARRAY 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define EXTERN_C extern "C"
|
|
||||||
#else
|
|
||||||
#define EXTERN_C extern
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Helper macro to enable gcc's extension. */
|
/* Helper macro to enable gcc's extension. */
|
||||||
#ifndef __GNU_EXTENSION
|
#ifndef __GNU_EXTENSION
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
|
@ -232,6 +217,12 @@ extern "C" {
|
||||||
#define PROBE_ALIGNMENT32(_s) TYPE_ALIGNMENT(ULONG)
|
#define PROBE_ALIGNMENT32(_s) TYPE_ALIGNMENT(ULONG)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define EXTERN_C extern "C"
|
||||||
|
#else
|
||||||
|
#define EXTERN_C extern
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Calling Conventions */
|
/* Calling Conventions */
|
||||||
#if defined(_MANAGED)
|
#if defined(_MANAGED)
|
||||||
#define FASTCALL __stdcall
|
#define FASTCALL __stdcall
|
||||||
|
@ -243,6 +234,30 @@ extern "C" {
|
||||||
|
|
||||||
#define NTAPI __stdcall
|
#define NTAPI __stdcall
|
||||||
|
|
||||||
|
#ifndef STDMETHODCALLTYPE
|
||||||
|
#define STDMETHODCALLTYPE __stdcall
|
||||||
|
#define STDMETHODVCALLTYPE __cdecl
|
||||||
|
#define STDAPICALLTYPE __stdcall
|
||||||
|
#define STDAPIVCALLTYPE __cdecl
|
||||||
|
#define STDAPI EXTERN_C HRESULT STDAPICALLTYPE
|
||||||
|
#define STDAPI_(t) EXTERN_C t STDAPICALLTYPE
|
||||||
|
#define STDMETHODIMP HRESULT STDMETHODCALLTYPE
|
||||||
|
#define STDMETHODIMP_(t) t STDMETHODCALLTYPE
|
||||||
|
#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE
|
||||||
|
#define STDAPIV_(t) EXTERN_C t STDAPIVCALLTYPE
|
||||||
|
#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE
|
||||||
|
#define STDMETHODIMPV_(t) t STDMETHODVCALLTYPE
|
||||||
|
#endif /* !STDMETHODCALLTYPE */
|
||||||
|
|
||||||
|
#define STDOVERRIDEMETHODIMP __override STDMETHODIMP
|
||||||
|
#define STDOVERRIDEMETHODIMP_(t) __override STDMETHODIMP_(t)
|
||||||
|
#define IFACEMETHODIMP __override STDMETHODIMP
|
||||||
|
#define IFACEMETHODIMP_(t) __override STDMETHODIMP_(t)
|
||||||
|
#define STDOVERRIDEMETHODIMPV __override STDMETHODIMPV
|
||||||
|
#define STDOVERRIDEMETHODIMPV_(t) __override STDMETHODIMPV_(t)
|
||||||
|
#define IFACEMETHODIMPV __override STDMETHODIMPV
|
||||||
|
#define IFACEMETHODIMPV_(t) __override STDMETHODIMPV_(t)
|
||||||
|
|
||||||
|
|
||||||
/* Import and Export Specifiers */
|
/* Import and Export Specifiers */
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue