Commit 221b2845 authored by rossberg@chromium.org's avatar rossberg@chromium.org

Explicitly mask enum values to work around probable VS/Win64 compiler bug

TBR=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/564413003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 14079043
......@@ -275,10 +275,13 @@ class TypeImpl : public Config::Base {
// Constructors.
// Explicitly mask, since VS on Win64 (wrongly?) sign extends the enum value.
#define DEFINE_TYPE_CONSTRUCTOR(type, value) \
static TypeImpl* type() { return BitsetType::New(BitsetType::k##type); } \
static TypeImpl* type() { \
return BitsetType::New(BitsetType::k##type & 0xffffffffu); \
} \
static TypeHandle type(Region* region) { \
return BitsetType::New(BitsetType::k##type, region); \
return BitsetType::New(BitsetType::k##type & 0xffffffffu, region); \
}
BITSET_TYPE_LIST(DEFINE_TYPE_CONSTRUCTOR)
#undef DEFINE_TYPE_CONSTRUCTOR
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment