1
0
mirror of https://github.com/golang/go synced 2024-11-21 20:14:52 -07:00

cmd/gc: insert \n at end of every input file

Not just the first one.

Fixes #5433.
Fixes #5913.

R=ken2
CC=golang-dev
https://golang.org/cl/12028049
This commit is contained in:
Russ Cox 2013-07-30 10:27:08 -04:00
parent 28138f1364
commit 27d17255db
3 changed files with 6 additions and 2 deletions

View File

@ -751,6 +751,7 @@ struct Io
int32 ilineno;
int nlsemi;
int eofnl;
int last;
int peekc;
int peekc1; // second peekc for ...
char* cp; // used for content when bin==nil

View File

@ -329,6 +329,8 @@ main(int argc, char *argv[])
curio.peekc = 0;
curio.peekc1 = 0;
curio.nlsemi = 0;
curio.eofnl = 0;
curio.last = 0;
// Skip initial BOM if present.
if(Bgetrune(curio.bin) != BOM)
@ -1602,7 +1604,7 @@ check:
}
case EOF:
// insert \n at EOF
if(curio.eofnl)
if(curio.eofnl || curio.last == '\n')
return EOF;
curio.eofnl = 1;
c = '\n';
@ -1611,6 +1613,7 @@ check:
lexlineno++;
break;
}
curio.last = c;
return c;
}

View File

@ -12,4 +12,4 @@
package main
func foo() {
bar(1, // ERROR "unexpected|missing|undefined"
bar(1, // ERROR "unexpected|missing|undefined"