aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-rw-r--r--gcc/go/gofrontend/expressions.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index 4ac55af..d276bd8 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -12272,7 +12272,8 @@ Call_expression::intrinsify(Gogo* gogo,
return Runtime::make_call(code, loc, 3, a1, a2, a3);
}
}
- else if (package == "internal/abi")
+ else if (package == "internal/abi"
+ || package == "bootstrap/internal/abi") // for bootstrapping gc
{
if (is_method)
return NULL;
@@ -18307,6 +18308,16 @@ Slice_value_expression::do_traverse(Traverse* traverse)
return TRAVERSE_CONTINUE;
}
+// Determine type of a slice value.
+
+void
+Slice_value_expression::do_determine_type(const Type_context*)
+{
+ this->valmem_->determine_type_no_context();
+ this->len_->determine_type_no_context();
+ this->cap_->determine_type_no_context();
+}
+
Expression*
Slice_value_expression::do_copy()
{