This patch to the Go frontend gives a better error message for a missing
comma in a composite literal. Bootstrapped and ran Go testsuite on
x86_64-unknown-linux-gnu. Committed to mainline and 4.7 branch.
Ian
diff -r f47f5449a663 go/parse.cc
--- a/go/parse.cc Mon Sep 24 15:20:45 2012 -0700
+++ b/go/parse.cc Wed Sep 26 22:21:36 2012 -0700
@@ -2723,7 +2723,11 @@
}
else
{
- error_at(this->location(), "expected %<,%> or %<}%>");
+ if (token->is_op(OPERATOR_SEMICOLON))
+ error_at(this->location(),
+ "need trailing comma before newline in composite literal");
+ else
+ error_at(this->location(), "expected %<,%> or %<}%>");
this->gogo_->mark_locals_used();
int depth = 0;