| Index: src/compiler/typer.cc
|
| diff --git a/src/compiler/typer.cc b/src/compiler/typer.cc
|
| index 996eecd361caacde8ae062304ac1180d68902e75..ce1ea188336830c0b15579ea8c4f62ac33e45d9d 100644
|
| --- a/src/compiler/typer.cc
|
| +++ b/src/compiler/typer.cc
|
| @@ -467,6 +467,10 @@ Type* Typer::Visitor::NumberToInt32(Type* type, Typer* t) {
|
| // TODO(neis): DCHECK(type->Is(Type::Number()));
|
| if (type->Is(Type::Signed32())) return type;
|
| if (type->Is(t->zeroish)) return t->singleton_zero;
|
| + if (type->Is(Type::Union(Type::MinusZero(), Type::Signed32(), t->zone()))) {
|
| + return Type::Intersect(Type::Union(type, t->singleton_zero, t->zone()),
|
| + Type::Signed32(), t->zone());
|
| + }
|
| return Type::Signed32();
|
| }
|
|
|
|
|