Remove WTF::String::operator+=
[WebKit-https.git] / Source / WTF / wtf / Platform.h
index 50710b1..13adf82 100644 (file)
     || defined(_ARM_)
 #define WTF_CPU_ARM 1
 
+#if defined(__ARM_PCS_VFP)
+#define WTF_CPU_ARM_HARDFP 1
+#endif
+
 #if defined(__ARMEB__) || (COMPILER(RVCT) && defined(__BIG_ENDIAN))
 #define WTF_CPU_BIG_ENDIAN 1
 
 #endif
 #endif
 
-#if PLATFORM(BLACKBERRY)
+#if OS(QNX)
 #define USE_SYSTEM_MALLOC 1
+#endif
+
+#if PLATFORM(BLACKBERRY)
 #define WTF_USE_MERSENNE_TWISTER_19937 1
 #define WTF_USE_SKIA 1
+#define WTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION 1
+#define WTF_USE_LOW_QUALITY_IMAGE_NO_JPEG_DITHERING 1
+#define WTF_USE_LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING 1
 #endif
 
 #if PLATFORM(GTK)
 #define ENABLE_GESTURE_EVENTS 1
 #define ENABLE_RUBBER_BANDING 1
 #define WTF_USE_SCROLLBAR_PAINTER 1
+#define HAVE_XPC 1
 #endif
 #if !defined(ENABLE_JAVA_BRIDGE)
 #define ENABLE_JAVA_BRIDGE 1
 #endif
 #endif
 
+#if !defined(ENABLE_GESTURE_ANIMATION)
+#if PLATFORM(QT) || !ENABLE(SMOOTH_SCROLLING)
+#define ENABLE_GESTURE_ANIMATION 0
+#else
+#define ENABLE_GESTURE_ANIMATION 1
+#endif
+#endif
+
+#if !defined(ENABLE_SATURATED_LAYOUT_ARITHMETIC)
+#define ENABLE_SATURATED_LAYOUT_ARITHMETIC 0
+#endif
+
+#if ENABLE(ENABLE_SATURATED_LAYOUT_ARITHMETIC) && !ENABLE(ENABLE_SUBPIXEL_LAYOUT)
+#error "ENABLE_SATURATED_LAYOUT_ARITHMETIC requires ENABLE_SUBPIXEL_LAYOUT"
+#endif
+
 #define ENABLE_DEBUG_WITH_BREAKPOINT 0
 #define ENABLE_SAMPLING_COUNTERS 0
 #define ENABLE_SAMPLING_FLAGS 0
 #endif
 
 /* Ensure that either the JIT or the interpreter has been enabled. */
-#if !defined(ENABLE_CLASSIC_INTERPRETER) && !ENABLE(JIT)
+#if !defined(ENABLE_CLASSIC_INTERPRETER) && !ENABLE(JIT) && !ENABLE(LLINT)
 #define ENABLE_CLASSIC_INTERPRETER 1
 #endif
-#if !(ENABLE(JIT) || ENABLE(CLASSIC_INTERPRETER))
+
+/* If the jit and classic interpreter is not available, enable the LLInt C Loop: */
+#if !ENABLE(JIT) && !ENABLE(CLASSIC_INTERPRETER)
+    #define ENABLE_LLINT 1
+    #define ENABLE_LLINT_C_LOOP 1
+    #define ENABLE_DFG_JIT 0
+#endif
+
+/* Do a sanity check to make sure that we at least have one execution engine in
+   use: */
+#if !(ENABLE(JIT) || ENABLE(CLASSIC_INTERPRETER) || ENABLE(LLINT))
 #error You have to have at least one execution model enabled to build JSC
 #endif
+/* Do a sanity check to make sure that we don't have both the classic interpreter
+   and the llint C loop in use at the same time: */
+#if ENABLE(CLASSIC_INTERPRETER) && ENABLE(LLINT_C_LOOP)
+#error You cannot build both the classic interpreter and the llint C loop together
+#endif
 
 /* Configure the JIT */
 #if CPU(X86) && COMPILER(MSVC)
 #define ENABLE_COMPUTED_GOTO_CLASSIC_INTERPRETER 1
 #endif
 
+/* Determine if we need to enable Computed Goto Opcodes or not: */
+#if (HAVE(COMPUTED_GOTO) && ENABLE(LLINT)) || ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
+#define ENABLE_COMPUTED_GOTO_OPCODES 1
+#endif
+
 /* Regular Expression Tracing - Set to 1 to trace RegExp's in jsc.  Results dumped at exit */
 #define ENABLE_REGEXP_TRACING 0
 
 /* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
-#if !defined(ENABLE_YARR_JIT) && ENABLE(JIT) && !PLATFORM(CHROMIUM)
+#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) && !PLATFORM(CHROMIUM)
 #define ENABLE_YARR_JIT 1
 
 /* Setting this flag compares JIT results with interpreter results. */
 
 /* Compositing on the UI-process in WebKit2 */
 #if PLATFORM(QT)
-#define WTF_USE_UI_SIDE_COMPOSITING 1
+#define WTF_USE_COORDINATED_GRAPHICS 1
 #endif
 
 #if PLATFORM(MAC) || PLATFORM(IOS)
 #define WTF_USE_ZLIB 1
 #endif
 
+#if PLATFORM(QT) || PLATFORM(GTK) || PLATFORM(WIN)
+#define WTF_DEPRECATED_STRING_OPERATORS
+#endif
+
 #if PLATFORM(QT)
 #include <qglobal.h>
 #if defined(QT_OPENGL_ES_2) && !defined(WTF_USE_OPENGL_ES_2)