Reviewed by Darin.
[WebKit-https.git] / JavaScriptCore / JavaScriptCorePrefix.h
1 #ifdef __cplusplus
2 #define new ("if you use new/delete make sure to include config.h at the top of the file"()) 
3 #define delete ("if you use new/delete make sure to include config.h at the top of the file"()) 
4 #endif
5
6 #ifdef __cplusplus
7 #define NULL __null
8 #else
9 #define NULL ((void *)0)
10 #endif
11
12 #include "config.h"
13
14 #include <assert.h>
15 #include <ctype.h>
16 #include <float.h>
17 #include <locale.h>
18 #include <math.h>
19 #include <stdio.h>
20 #include <stdlib.h>
21 #include <string.h>
22 #include <strings.h>
23 #include <time.h>
24 #include <sys/param.h>
25 #include <sys/time.h>
26 #include <sys/timeb.h>
27 #include <sys/types.h>
28
29 #ifdef __cplusplus
30
31 // Work around bug 3553309 by re-including <ctype.h>.
32 #include <cctype>
33 #define isalnum(c)      __istype((c), (_CTYPE_A|_CTYPE_D))
34 #define isalpha(c)      __istype((c), _CTYPE_A)
35 #define iscntrl(c)      __istype((c), _CTYPE_C)
36 #define isdigit(c)      __isctype((c), _CTYPE_D)        /* ANSI -- locale independent */
37 #define isgraph(c)      __istype((c), _CTYPE_G)
38 #define islower(c)      __istype((c), _CTYPE_L)
39 #define isprint(c)      __istype((c), _CTYPE_R)
40 #define ispunct(c)      __istype((c), _CTYPE_P)
41 #define isspace(c)      __istype((c), _CTYPE_S)
42 #define isupper(c)      __istype((c), _CTYPE_U)
43 #define isxdigit(c)     __isctype((c), _CTYPE_X)        /* ANSI -- locale independent */
44 #define tolower(c)      __tolower(c)
45 #define toupper(c)      __toupper(c)
46
47 #include <list>
48 #include <typeinfo>
49
50 #endif
51
52 // Work around bug with C++ library that screws up Objective-C++ when exception support is disabled.
53 #undef try
54 #undef catch