diff options
Diffstat (limited to 'src/cmd/compile/internal/gc/parser.go')
| -rw-r--r-- | src/cmd/compile/internal/gc/parser.go | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/gc/parser.go b/src/cmd/compile/internal/gc/parser.go index 941a0ec00f..19202674a6 100644 --- a/src/cmd/compile/internal/gc/parser.go +++ b/src/cmd/compile/internal/gc/parser.go @@ -15,14 +15,27 @@ package gc import ( "bufio" "fmt" + "os" "strconv" "strings" ) const trace = false // if set, parse tracing can be enabled with -x -// parse_file parses a single Go source file. -func parse_file(bin *bufio.Reader) { +// oldParseFile parses a single Go source file. +func oldParseFile(infile string) { + f, err := os.Open(infile) + if err != nil { + fmt.Printf("open %s: %v\n", infile, err) + errorexit() + } + defer f.Close() + bin := bufio.NewReader(f) + + // Skip initial BOM if present. + if r, _, _ := bin.ReadRune(); r != BOM { + bin.UnreadRune() + } newparser(bin, nil).file() } |
