compiler: fix parsing of composite literals with omitted pointer types
The frontend could parse omitted pointer typess at the end of the
type, but not in the middle, so code like []*[][]int{{{1}}} failed.
Test case is in https://golang.org/cl/123477.
Fixes golang/go#26340
Change-Id: I32f0c7154e6525871a5304e92215f4b3a64eac32
Reviewed-on: https://go-review.googlesource.com/123479
Reviewed-by: Than McIntosh <thanm@google.com>
diff --git a/go/expressions.cc b/go/expressions.cc
index e7d0b75..2c2ae1c 100644
--- a/go/expressions.cc
+++ b/go/expressions.cc
@@ -13666,6 +13666,7 @@
for (int depth = 0; depth < this->depth_; ++depth)
{
+ type = type->deref();
if (type->array_type() != NULL)
type = type->array_type()->element_type();
else if (type->map_type() != NULL)