mirror of
https://github.com/golang/go
synced 2024-09-23 15:30:17 -06:00
cmd/compile: reject identifiers beginning with non-ASCII digit
Fixes #11359. Change-Id: I0fdfa410939f7e42020cbb19d74a67e1cc3cd610 Reviewed-on: https://go-review.googlesource.com/16919 Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
f2eb3de636
commit
247959d9b8
@ -1469,6 +1469,9 @@ talph:
|
||||
if !unicode.IsLetter(r) && !unicode.IsDigit(r) && (importpkg == nil || r != 0xb7) {
|
||||
Yyerror("invalid identifier character U+%04x", r)
|
||||
}
|
||||
if cp.Len() == 0 && unicode.IsDigit(r) {
|
||||
Yyerror("identifier cannot begin with digit U+%04x", r)
|
||||
}
|
||||
cp.WriteRune(r)
|
||||
} else if !isAlnum(c) && c != '_' {
|
||||
break
|
||||
|
11
test/fixedbugs/issue11359.go
Normal file
11
test/fixedbugs/issue11359.go
Normal file
@ -0,0 +1,11 @@
|
||||
// errorcheck
|
||||
|
||||
// Copyright 2015 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.
|
||||
|
||||
// identifiers beginning with non-ASCII digits were incorrectly accepted.
|
||||
// issue 11359.
|
||||
|
||||
package p
|
||||
var ۶ = 0 // ERROR "identifier cannot begin with digit"
|
Loading…
Reference in New Issue
Block a user