| Index: src/wasm/ast-decoder.cc
|
| diff --git a/src/wasm/ast-decoder.cc b/src/wasm/ast-decoder.cc
|
| index 20bdc0868aec119c007bd9573c80cc914284a6ac..c9fe4945d9e2d7035c19b174b1e96a65e1928baa 100644
|
| --- a/src/wasm/ast-decoder.cc
|
| +++ b/src/wasm/ast-decoder.cc
|
| @@ -48,7 +48,7 @@ struct Production {
|
|
|
| WasmOpcode opcode() const { return static_cast<WasmOpcode>(*pc()); }
|
| const byte* pc() const { return tree->pc; }
|
| - bool done() const { return index >= tree->count; }
|
| + bool done() const { return index >= static_cast<int>(tree->count); }
|
| Tree* last() const { return index > 0 ? tree->children[index - 1] : nullptr; }
|
| };
|
|
|
| @@ -611,7 +611,7 @@ class LR_WasmDecoder : public Decoder {
|
| return;
|
| }
|
|
|
| - if (trees_.size() < retcount) {
|
| + if (static_cast<int>(trees_.size()) < retcount) {
|
| error(limit_, nullptr,
|
| "ImplicitReturn expects %d arguments, only %d remain", retcount,
|
| static_cast<int>(trees_.size()));
|
| @@ -998,7 +998,7 @@ class LR_WasmDecoder : public Decoder {
|
| FunctionSig* sig = FunctionSigOperand(p->pc(), &index, &len);
|
| USE(sig);
|
| buffer[0] = nullptr; // reserved for code object.
|
| - for (int i = 1; i < count; i++) {
|
| + for (uint32_t i = 1; i < count; i++) {
|
| buffer[i] = p->tree->children[i - 1]->node;
|
| }
|
| p->tree->node = builder_->CallDirect(index, buffer);
|
| @@ -1017,7 +1017,7 @@ class LR_WasmDecoder : public Decoder {
|
| if (p->done() && build()) {
|
| uint32_t count = p->tree->count;
|
| TFNode** buffer = builder_->Buffer(count);
|
| - for (int i = 0; i < count; i++) {
|
| + for (uint32_t i = 0; i < count; i++) {
|
| buffer[i] = p->tree->children[i]->node;
|
| }
|
| p->tree->node = builder_->CallIndirect(index, buffer);
|
| @@ -1169,7 +1169,9 @@ class LR_WasmDecoder : public Decoder {
|
| } else if (to->effect != from->effect) {
|
| uint32_t count = builder_->InputCount(merge);
|
| TFNode** effects = builder_->Buffer(count);
|
| - for (int j = 0; j < count - 1; j++) effects[j] = to->effect;
|
| + for (uint32_t j = 0; j < count - 1; j++) {
|
| + effects[j] = to->effect;
|
| + }
|
| effects[count - 1] = from->effect;
|
| to->effect = builder_->EffectPhi(count, effects, merge);
|
| }
|
| @@ -1182,7 +1184,9 @@ class LR_WasmDecoder : public Decoder {
|
| } else if (tnode != fnode) {
|
| uint32_t count = builder_->InputCount(merge);
|
| TFNode** vals = builder_->Buffer(count);
|
| - for (int j = 0; j < count - 1; j++) vals[j] = tnode;
|
| + for (uint32_t j = 0; j < count - 1; j++) {
|
| + vals[j] = tnode;
|
| + }
|
| vals[count - 1] = fnode;
|
| to->locals[i] = builder_->Phi(function_env_->GetLocalType(i), count,
|
| vals, merge);
|
| @@ -1203,7 +1207,7 @@ class LR_WasmDecoder : public Decoder {
|
| } else if (tnode != fnode) {
|
| uint32_t count = builder_->InputCount(merge);
|
| TFNode** vals = builder_->Buffer(count);
|
| - for (int j = 0; j < count - 1; j++) vals[j] = tnode;
|
| + for (uint32_t j = 0; j < count - 1; j++) vals[j] = tnode;
|
| vals[count - 1] = fnode;
|
| return builder_->Phi(type, count, vals, merge);
|
| }
|
| @@ -1430,7 +1434,7 @@ std::ostream& operator<<(std::ostream& os, const Tree& tree) {
|
| }
|
| PrintF("%s", WasmOpcodes::OpcodeName(tree.opcode()));
|
| if (tree.count > 0) os << "(";
|
| - for (int i = 0; i < tree.count; i++) {
|
| + for (uint32_t i = 0; i < tree.count; i++) {
|
| if (i > 0) os << ", ";
|
| os << *tree.children[i];
|
| }
|
| @@ -1571,6 +1575,8 @@ int OpcodeArity(FunctionEnv* env, const byte* pc) {
|
| FOREACH_SIMPLE_OPCODE(DECLARE_OPCODE_CASE)
|
| #undef DECLARE_OPCODE_CASE
|
| }
|
| + UNREACHABLE();
|
| + return 0;
|
| }
|
| } // namespace wasm
|
| } // namespace internal
|
|
|