diff options
Diffstat (limited to 'gcc/go/gofrontend/statements.cc')
-rw-r--r-- | gcc/go/gofrontend/statements.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc index af34670..ad249f6 100644 --- a/gcc/go/gofrontend/statements.cc +++ b/gcc/go/gofrontend/statements.cc @@ -4841,6 +4841,8 @@ Select_clauses::get_backend(Translate_context* context, std::vector<std::vector<Bexpression*> > cases(count); std::vector<Bstatement*> clauses(count); + Type* int32_type = Type::lookup_integer_type("int32"); + int i = 0; for (Clauses::iterator p = this->clauses_.begin(); p != this->clauses_.end(); @@ -4849,7 +4851,8 @@ Select_clauses::get_backend(Translate_context* context, int index = p->index(); mpz_t ival; mpz_init_set_ui(ival, index); - Expression* index_expr = Expression::make_integer(&ival, NULL, location); + Expression* index_expr = Expression::make_integer(&ival, int32_type, + location); mpz_clear(ival); cases[i].push_back(tree_to_expr(index_expr->get_tree(context))); |