• Matthew Dempsky's avatar
    cmd/compile: handle pragmas immediately with -newparser=1 · ee161e85
    Matthew Dempsky authored
    Instead of saving all pragmas and processing them after parsing is
    finished, process them immediately during scanning like the current
    lexer does.
    
    This is a bit unfortunate because it means we can't use
    syntax.ParseFile to concurrently parse files yet, but it fixes how we
    report syntax errors in the presence of //line pragmas.
    
    While here, add a bunch more gcCompat entries to syntax/parser.go to
    get "go build -toolexec='toolstash -cmp' std cmd" passing. There are
    still a few remaining cases only triggered building unit tests, but
    this seems like a nice checkpoint.
    
    Change-Id: Iaf3bbcf2849857a460496f31eea228e0c585ce13
    Reviewed-on: https://go-review.googlesource.com/28226
    Run-TryBot: Matthew Dempsky <mdempsky@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    ee161e85
lex.go 22 KB