compiler: mark Call_expression multiple results as a result struct

In we stopped padding zero-sized trailing
fields in functions that return multiple results where the last result
is zero-sized. This CL makes the corresponding change on the caller side.

The test case is

Fixes golang/go#55242

Change-Id: I1270051ef7e4b4a20c1aa7a7fba16e0604e932ca
Reviewed-by: Ian Lance Taylor <>
Reviewed-by: Cherry Mui <>
diff --git a/go/ b/go/
index 5390130..4ac55af 100644
--- a/go/
+++ b/go/
@@ -11267,6 +11267,7 @@
       Struct_type* st = Type::make_struct_type(sfl, loc);
+      st->set_is_results_struct();
       this->call_temp_ = Statement::make_temporary(st, NULL, loc);