| Index: base/third_party/nspr/prtypes.h
|
| ===================================================================
|
| --- base/third_party/nspr/prtypes.h (revision 78986)
|
| +++ base/third_party/nspr/prtypes.h (working copy)
|
| @@ -135,55 +135,6 @@
|
| #define PR_CALLBACK_DECL
|
| #define PR_STATIC_CALLBACK(__x) static __x
|
|
|
| -#elif defined(WIN16)
|
| -
|
| -#define PR_CALLBACK_DECL __cdecl
|
| -
|
| -#if defined(_WINDLL)
|
| -#define PR_EXPORT(__type) extern __type _cdecl _export _loadds
|
| -#define PR_IMPORT(__type) extern __type _cdecl _export _loadds
|
| -#define PR_EXPORT_DATA(__type) extern __type _export
|
| -#define PR_IMPORT_DATA(__type) extern __type _export
|
| -
|
| -#define PR_EXTERN(__type) extern __type _cdecl _export _loadds
|
| -#define PR_IMPLEMENT(__type) __type _cdecl _export _loadds
|
| -#define PR_EXTERN_DATA(__type) extern __type _export
|
| -#define PR_IMPLEMENT_DATA(__type) __type _export
|
| -
|
| -#define PR_CALLBACK __cdecl __loadds
|
| -#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
|
| -
|
| -#else /* this must be .EXE */
|
| -#define PR_EXPORT(__type) extern __type _cdecl _export
|
| -#define PR_IMPORT(__type) extern __type _cdecl _export
|
| -#define PR_EXPORT_DATA(__type) extern __type _export
|
| -#define PR_IMPORT_DATA(__type) extern __type _export
|
| -
|
| -#define PR_EXTERN(__type) extern __type _cdecl _export
|
| -#define PR_IMPLEMENT(__type) __type _cdecl _export
|
| -#define PR_EXTERN_DATA(__type) extern __type _export
|
| -#define PR_IMPLEMENT_DATA(__type) __type _export
|
| -
|
| -#define PR_CALLBACK __cdecl __loadds
|
| -#define PR_STATIC_CALLBACK(__x) __x PR_CALLBACK
|
| -#endif /* _WINDLL */
|
| -
|
| -#elif defined(XP_MAC)
|
| -
|
| -#define PR_EXPORT(__type) extern __declspec(export) __type
|
| -#define PR_EXPORT_DATA(__type) extern __declspec(export) __type
|
| -#define PR_IMPORT(__type) extern __declspec(export) __type
|
| -#define PR_IMPORT_DATA(__type) extern __declspec(export) __type
|
| -
|
| -#define PR_EXTERN(__type) extern __declspec(export) __type
|
| -#define PR_IMPLEMENT(__type) __declspec(export) __type
|
| -#define PR_EXTERN_DATA(__type) extern __declspec(export) __type
|
| -#define PR_IMPLEMENT_DATA(__type) __declspec(export) __type
|
| -
|
| -#define PR_CALLBACK
|
| -#define PR_CALLBACK_DECL
|
| -#define PR_STATIC_CALLBACK(__x) static __x
|
| -
|
| #elif defined(XP_OS2) && defined(__declspec)
|
|
|
| #define PR_EXPORT(__type) extern __declspec(dllexport) __type
|
| @@ -200,20 +151,26 @@
|
| #define PR_CALLBACK_DECL
|
| #define PR_STATIC_CALLBACK(__x) static __x
|
|
|
| -#elif defined(XP_OS2_VACPP)
|
| +#elif defined(SYMBIAN)
|
|
|
| -#define PR_EXPORT(__type) extern __type
|
| -#define PR_EXPORT_DATA(__type) extern __type
|
| -#define PR_IMPORT(__type) extern __type
|
| -#define PR_IMPORT_DATA(__type) extern __type
|
| +#define PR_EXPORT(__type) extern __declspec(dllexport) __type
|
| +#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
|
| +#ifdef __WINS__
|
| +#define PR_IMPORT(__type) extern __declspec(dllexport) __type
|
| +#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type
|
| +#else
|
| +#define PR_IMPORT(__type) extern __declspec(dllimport) __type
|
| +#define PR_IMPORT_DATA(__type) extern __declspec(dllimport) __type
|
| +#endif
|
|
|
| #define PR_EXTERN(__type) extern __type
|
| #define PR_IMPLEMENT(__type) __type
|
| #define PR_EXTERN_DATA(__type) extern __type
|
| #define PR_IMPLEMENT_DATA(__type) __type
|
| -#define PR_CALLBACK _Optlink
|
| +
|
| +#define PR_CALLBACK
|
| #define PR_CALLBACK_DECL
|
| -#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
|
| +#define PR_STATIC_CALLBACK(__x) static __x
|
|
|
| #else /* Unix */
|
|
|
| @@ -301,7 +258,7 @@
|
| ** PRInt8
|
| ** DESCRIPTION:
|
| ** The int8 types are known to be 8 bits each. There is no type that
|
| -** is equivalent to a plain "char".
|
| +** is equivalent to a plain "char".
|
| ************************************************************************/
|
| #if PR_BYTES_PER_BYTE == 1
|
| typedef unsigned char PRUint8;
|
| @@ -340,7 +297,7 @@
|
| ** TYPES: PRUint16
|
| ** PRInt16
|
| ** DESCRIPTION:
|
| -** The int16 types are known to be 16 bits each.
|
| +** The int16 types are known to be 16 bits each.
|
| ************************************************************************/
|
| #if PR_BYTES_PER_SHORT == 2
|
| typedef unsigned short PRUint16;
|
| @@ -365,7 +322,7 @@
|
| ** TYPES: PRUint32
|
| ** PRInt32
|
| ** DESCRIPTION:
|
| -** The int32 types are known to be 32 bits each.
|
| +** The int32 types are known to be 32 bits each.
|
| ************************************************************************/
|
| #if PR_BYTES_PER_INT == 4
|
| typedef unsigned int PRUint32;
|
| @@ -404,12 +361,15 @@
|
| ** the LL_ macros (see prlong.h).
|
| ************************************************************************/
|
| #ifdef HAVE_LONG_LONG
|
| -#if PR_BYTES_PER_LONG == 8
|
| +/* Keep this in sync with prlong.h. */
|
| +/*
|
| + * On 64-bit Mac OS X, uint64 needs to be defined as unsigned long long to
|
| + * match uint64_t, otherwise our uint64 typedef conflicts with the uint64
|
| + * typedef in cssmconfig.h, which CoreServices.h includes indirectly.
|
| + */
|
| +#if PR_BYTES_PER_LONG == 8 && !defined(__APPLE__)
|
| typedef long PRInt64;
|
| typedef unsigned long PRUint64;
|
| -#elif defined(WIN16)
|
| -typedef __int64 PRInt64;
|
| -typedef unsigned __int64 PRUint64;
|
| #elif defined(WIN32) && !defined(__GNUC__)
|
| typedef __int64 PRInt64;
|
| typedef unsigned __int64 PRUint64;
|
| @@ -435,7 +395,7 @@
|
| ** The PRIntn types are most appropriate for automatic variables. They are
|
| ** guaranteed to be at least 16 bits, though various architectures may
|
| ** define them to be wider (e.g., 32 or even 64 bits). These types are
|
| -** never valid for fields of a structure.
|
| +** never valid for fields of a structure.
|
| ************************************************************************/
|
| #if PR_BYTES_PER_INT >= 2
|
| typedef int PRIntn;
|
| @@ -447,14 +407,14 @@
|
| /************************************************************************
|
| ** TYPES: PRFloat64
|
| ** DESCRIPTION:
|
| -** NSPR's floating point type is always 64 bits.
|
| +** NSPR's floating point type is always 64 bits.
|
| ************************************************************************/
|
| typedef double PRFloat64;
|
|
|
| /************************************************************************
|
| ** TYPES: PRSize
|
| ** DESCRIPTION:
|
| -** A type for representing the size of objects.
|
| +** A type for representing the size of objects.
|
| ************************************************************************/
|
| typedef size_t PRSize;
|
|
|
| @@ -462,7 +422,7 @@
|
| /************************************************************************
|
| ** TYPES: PROffset32, PROffset64
|
| ** DESCRIPTION:
|
| -** A type for representing byte offsets from some location.
|
| +** A type for representing byte offsets from some location.
|
| ************************************************************************/
|
| typedef PRInt32 PROffset32;
|
| typedef PRInt64 PROffset64;
|
| @@ -471,7 +431,7 @@
|
| ** TYPES: PRPtrDiff
|
| ** DESCRIPTION:
|
| ** A type for pointer difference. Variables of this type are suitable
|
| -** for storing a pointer or pointer subtraction.
|
| +** for storing a pointer or pointer subtraction.
|
| ************************************************************************/
|
| typedef ptrdiff_t PRPtrdiff;
|
|
|
| @@ -479,10 +439,10 @@
|
| ** TYPES: PRUptrdiff
|
| ** DESCRIPTION:
|
| ** A type for pointer difference. Variables of this type are suitable
|
| -** for storing a pointer or pointer sutraction.
|
| +** for storing a pointer or pointer sutraction.
|
| ************************************************************************/
|
| #ifdef _WIN64
|
| -typedef unsigned __int64 PRUptrdiff;
|
| +typedef PRUint64 PRUptrdiff;
|
| #else
|
| typedef unsigned long PRUptrdiff;
|
| #endif
|
| @@ -493,7 +453,7 @@
|
| ** Use PRBool for variables and parameter types. Use PR_FALSE and PR_TRUE
|
| ** for clarity of target type in assignments and actual arguments. Use
|
| ** 'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans
|
| -** just as you would C int-valued conditions.
|
| +** just as you would C int-valued conditions.
|
| ************************************************************************/
|
| typedef PRIntn PRBool;
|
| #define PR_TRUE 1
|
| @@ -508,14 +468,14 @@
|
| typedef PRUint8 PRPackedBool;
|
|
|
| /*
|
| -** Status code used by some routines that have a single point of failure or
|
| +** Status code used by some routines that have a single point of failure or
|
| ** special status return.
|
| */
|
| typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus;
|
|
|
| #ifndef __PRUNICHAR__
|
| #define __PRUNICHAR__
|
| -#if defined(WIN32) || defined(XP_MAC)
|
| +#ifdef WIN32
|
| typedef wchar_t PRUnichar;
|
| #else
|
| typedef PRUint16 PRUnichar;
|
| @@ -534,8 +494,8 @@
|
| ** http://java.sun.com/docs/books/vmspec/index.html.)
|
| */
|
| #ifdef _WIN64
|
| -typedef __int64 PRWord;
|
| -typedef unsigned __int64 PRUword;
|
| +typedef PRInt64 PRWord;
|
| +typedef PRUint64 PRUword;
|
| #else
|
| typedef long PRWord;
|
| typedef unsigned long PRUword;
|
| @@ -580,6 +540,14 @@
|
| /********* ????????????? End Fix me ?????????????????????????????? *****/
|
| #endif /* NO_NSPR_10_SUPPORT */
|
|
|
| +/*
|
| +** Compile-time assert. "condition" must be a constant expression.
|
| +** The macro can be used only in places where an "extern" declaration is
|
| +** allowed.
|
| +*/
|
| +#define PR_STATIC_ASSERT(condition) \
|
| + extern void pr_static_assert(int arg[(condition) ? 1 : -1])
|
| +
|
| PR_END_EXTERN_C
|
|
|
| #if !defined(NO_NSPR_10_SUPPORT)
|
|
|