cmd/compile/internal/parser: don't crash after unexpected token

Added missing nil-check. We will get rid of the gcCompat corrections
shortly but it's still worthwhile having the new test case added.

Fixes #19056.

Change-Id: I35bd938a4d789058da15724e34c05e5e631ecad0
Reviewed-on: https://go-review.googlesource.com/36908
Run-TryBot: Robert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Robert Griesemer 2017-02-13 09:22:46 -08:00
parent 8da91a6297
commit ee2f5fafd8
2 changed files with 10 additions and 1 deletions

View file

@ -799,7 +799,7 @@ loop:
p.syntax_error("expecting name or (") p.syntax_error("expecting name or (")
p.advance(_Semi, _Rparen) p.advance(_Semi, _Rparen)
} }
if gcCompat { if gcCompat && x != nil {
x.init(p) x.init(p)
} }

View file

@ -0,0 +1,9 @@
// errorcheck
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package p
var _ = ... . // ERROR "unexpected ..."