Rubberstamped by Kevin Decker
[WebKit-https.git] / JavaScriptCore / JavaScriptCorePrefix.h
index 4c593a5..35f2442 100644 (file)
@@ -1,8 +1,15 @@
 #ifdef __cplusplus
+#define new ("if you use new/delete make sure to include config.h at the top of the file"()) 
+#define delete ("if you use new/delete make sure to include config.h at the top of the file"()) 
+#endif
+
+#ifdef __cplusplus
 #define NULL __null
+#else
+#define NULL ((void *)0)
 #endif
 
-#include <config.h>
+#include "config.h"
 
 #include <assert.h>
 #include <ctype.h>
 #include <sys/types.h>
 
 #ifdef __cplusplus
+
+/* Work around bug 3553309 by re-including <ctype.h>. */
+#include <cctype>
+#define isalnum(c)      __istype((c), (_CTYPE_A|_CTYPE_D))
+#define isalpha(c)      __istype((c), _CTYPE_A)
+#define iscntrl(c)      __istype((c), _CTYPE_C)
+#define isdigit(c)      __isctype((c), _CTYPE_D)        /* ANSI -- locale independent */
+#define isgraph(c)      __istype((c), _CTYPE_G)
+#define islower(c)      __istype((c), _CTYPE_L)
+#define isprint(c)      __istype((c), _CTYPE_R)
+#define ispunct(c)      __istype((c), _CTYPE_P)
+#define isspace(c)      __istype((c), _CTYPE_S)
+#define isupper(c)      __istype((c), _CTYPE_U)
+#define isxdigit(c)     __isctype((c), _CTYPE_X)        /* ANSI -- locale independent */
+#define tolower(c)      __tolower(c)
+#define toupper(c)      __toupper(c)
+
 #include <list>
 #include <typeinfo>
+
 #endif
+
+/* Work around bug with C++ library that screws up Objective-C++ when exception support is disabled. */
+#undef try
+#undef catch