| Index: src/base/macros.h
|
| diff --git a/src/base/macros.h b/src/base/macros.h
|
| index 1832a44cd365f2f67a62cfbc4fd7270d041c565e..80a89496a5e25bc06caf3aa6445cdbb11b484303 100644
|
| --- a/src/base/macros.h
|
| +++ b/src/base/macros.h
|
| @@ -5,9 +5,11 @@
|
| #ifndef V8_BASE_MACROS_H_
|
| #define V8_BASE_MACROS_H_
|
|
|
| +#include <stddef.h>
|
| +#include <stdint.h>
|
| +
|
| #include <cstring>
|
|
|
| -#include "include/v8stdint.h"
|
| #include "src/base/build_config.h"
|
| #include "src/base/compiler-specific.h"
|
| #include "src/base/logging.h"
|
| @@ -23,6 +25,8 @@
|
| (reinterpret_cast<intptr_t>(&(reinterpret_cast<type*>(4)->field)) - 4)
|
|
|
|
|
| +#if V8_OS_NACL
|
| +
|
| // ARRAYSIZE_UNSAFE performs essentially the same calculation as arraysize,
|
| // but can be used on anonymous types or types defined inside
|
| // functions. It's less safe than arraysize as it accepts some
|
| @@ -63,9 +67,6 @@
|
| ((sizeof(a) / sizeof(*(a))) / \
|
| static_cast<size_t>(!(sizeof(a) % sizeof(*(a))))) // NOLINT
|
|
|
| -
|
| -#if V8_OS_NACL
|
| -
|
| // TODO(bmeurer): For some reason, the NaCl toolchain cannot handle the correct
|
| // definition of arraysize() below, so we have to use the unsafe version for
|
| // now.
|
| @@ -396,4 +397,22 @@ inline T RoundUp(T x, intptr_t m) {
|
| return RoundDown<T>(static_cast<T>(x + m - 1), m);
|
| }
|
|
|
| +
|
| +namespace v8 {
|
| +namespace base {
|
| +
|
| +// TODO(yangguo): This is a poor man's replacement for std::is_fundamental,
|
| +// which requires C++11. Switch to std::is_fundamental once possible.
|
| +template <typename T>
|
| +inline bool is_fundamental() {
|
| + return false;
|
| +}
|
| +
|
| +template <>
|
| +inline bool is_fundamental<uint8_t>() {
|
| + return true;
|
| +}
|
| +}
|
| +} // namespace v8::base
|
| +
|
| #endif // V8_BASE_MACROS_H_
|
|
|