aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2016-06-10 11:22:11 -0700
committerMatthew Dempsky <mdempsky@google.com>2016-08-16 14:32:08 -0700
commita17ec6b30cff13a378d7d28a693fdebe14cd9a7f (patch)
tree533e52bea0857d9d6436cc0c459c2f8e4238b694
parent0d8ac5ecf1c6be4d81214b11579a7fd1cf7a4514 (diff)
downloadgo-a17ec6b30cff13a378d7d28a693fdebe14cd9a7f.tar.gz
go-a17ec6b30cff13a378d7d28a693fdebe14cd9a7f.zip
cmd/compile/internal/syntax: simplify BOM handling
Change-Id: I5e2522d34720d7687e1e9ff0831936702976a1c7
-rw-r--r--src/cmd/compile/internal/syntax/source.go6
-rw-r--r--src/cmd/compile/internal/syntax/syntax.go5
2 files changed, 4 insertions, 7 deletions
diff --git a/src/cmd/compile/internal/syntax/source.go b/src/cmd/compile/internal/syntax/source.go
index fc63e04931..577d7cb168 100644
--- a/src/cmd/compile/internal/syntax/source.go
+++ b/src/cmd/compile/internal/syntax/source.go
@@ -112,8 +112,10 @@ redo:
// BOM's are only allowed as the first character in a file
const BOM = 0xfeff
- if r == BOM && s.r0 > 0 { // s.r0 is always > 0 after 1st character (fill will set it to 1)
- s.error("invalid BOM in the middle of the file")
+ if r == BOM {
+ if s.r0 > 0 { // s.r0 is always > 0 after 1st character (fill will set it to 1)
+ s.error("invalid BOM in the middle of the file")
+ }
goto redo
}
diff --git a/src/cmd/compile/internal/syntax/syntax.go b/src/cmd/compile/internal/syntax/syntax.go
index 5d50883753..71990bca8b 100644
--- a/src/cmd/compile/internal/syntax/syntax.go
+++ b/src/cmd/compile/internal/syntax/syntax.go
@@ -46,11 +46,6 @@ func Read(src io.Reader, errh ErrorHandler, mode Mode) (*File, error) {
var p parser
p.init(src, errh)
- // skip initial BOM if present
- if p.getr() != '\ufeff' {
- p.ungetr()
- }
-
p.next()
ast := p.file()