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)