This patch to the Go frontend gives a better error message when setting
a const to nil.  Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu.  Committed to mainline.

Ian

diff -r d04de877d993 go/gogo.cc
--- a/go/gogo.cc	Fri Mar 25 22:31:14 2011 -0700
+++ b/go/gogo.cc	Fri Mar 25 22:41:02 2011 -0700
@@ -1527,7 +1527,9 @@
       && !ctype->is_boolean_type()
       && !ctype->is_string_type())
     {
-      if (!ctype->is_error())
+      if (ctype->is_nil_type())
+	error_at(constant->location(), "const initializer cannot be nil");
+      else if (!ctype->is_error())
 	error_at(constant->location(), "invalid constant type");
       constant->set_error();
     }

Reply via email to