Index: include/v8config.h |
diff --git a/include/v8config.h b/include/v8config.h |
index 452ffc73e701066016813a30709f745b0d1cb52d..be02b6e6ea1cabfae0a48188cfc5a49560521e8b 100644 |
--- a/include/v8config.h |
+++ b/include/v8config.h |
@@ -175,7 +175,10 @@ |
// V8_HAS_ATTRIBUTE_VISIBILITY - __attribute__((visibility)) supported |
// V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT - __attribute__((warn_unused_result)) |
// supported |
+// V8_HAS_BUILTIN_CLZ - __builtin_clz() supported |
+// V8_HAS_BUILTIN_CTZ - __builtin_ctz() supported |
// V8_HAS_BUILTIN_EXPECT - __builtin_expect() supported |
+// V8_HAS_BUILTIN_POPCOUNT - __builtin_popcount() supported |
// V8_HAS_DECLSPEC_ALIGN - __declspec(align(n)) supported |
// V8_HAS_DECLSPEC_DEPRECATED - __declspec(deprecated) supported |
// V8_HAS_DECLSPEC_NOINLINE - __declspec(noinline) supported |
@@ -206,7 +209,10 @@ |
# define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \ |
(__has_attribute(warn_unused_result)) |
+# define V8_HAS_BUILTIN_CLZ (__has_builtin(__builtin_clz)) |
+# define V8_HAS_BUILTIN_CTZ (__has_builtin(__builtin_ctz)) |
# define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect)) |
+# define V8_HAS_BUILTIN_POPCOUNT (__has_builtin(__builtin_popcount)) |
# define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas)) |
# define V8_HAS_CXX11_STATIC_ASSERT (__has_feature(cxx_static_assert)) |
@@ -238,7 +244,10 @@ |
# define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \ |
(!V8_CC_INTEL && V8_GNUC_PREREQ(4, 1, 0)) |
+# define V8_HAS_BUILTIN_CLZ (V8_GNUC_PREREQ(3, 4, 0)) |
+# define V8_HAS_BUILTIN_CTZ (V8_GNUC_PREREQ(3, 4, 0)) |
# define V8_HAS_BUILTIN_EXPECT (V8_GNUC_PREREQ(2, 96, 0)) |
+# define V8_HAS_BUILTIN_POPCOUNT (V8_GNUC_PREREQ(3, 4, 0)) |
// g++ requires -std=c++0x or -std=gnu++0x to support C++11 functionality |
// without warnings (functionality used by the macros below). These modes |