From: Anthony Martin Date: Tue, 23 Apr 2013 23:02:50 +0000 (-0700) Subject: cmd/dist: fix line numbers in goc2c generated files X-Git-Tag: go1.1rc2~54 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d33f09bcc0814d900510c23ad5285b3a7c3b2e5c;p=gostls13.git cmd/dist: fix line numbers in goc2c generated files We have to reset the global lineno variable before processing each file otherwise line numbers will be offset by the number of lines in the previous file. The following examples are from the beginning of the ztime_linux_amd64.c file which is generated from time.goc in the runtime package. Before: #line 2483 "/home/apm/src/go/src/pkg/runtime/time.goc" static Timers timers; static void addtimer ( Timer* ) ; void time·Sleep(int64 ns) { #line 2492 "/home/apm/src/go/src/pkg/runtime/time.goc" After: #line 16 "/home/apm/src/go/src/pkg/runtime/time.goc" static Timers timers; static void addtimer ( Timer* ) ; void time·Sleep(int64 ns) { #line 25 "/home/apm/src/go/src/pkg/runtime/time.goc" R=golang-dev, minux.ma, iant, r, adg CC=golang-dev https://golang.org/cl/8653045 --- diff --git a/src/cmd/dist/goc2c.c b/src/cmd/dist/goc2c.c index a103bce8d9..f584603971 100644 --- a/src/cmd/dist/goc2c.c +++ b/src/cmd/dist/goc2c.c @@ -66,7 +66,7 @@ static int gcc; /* File and line number */ static const char *file; -static unsigned int lineno = 1; +static unsigned int lineno; /* List of names and types. */ struct params { @@ -754,6 +754,7 @@ goc2c(char *goc, char *c) input = bstr(&in); output = &out; + lineno = 1; process_file(); writefile(&out, c, 0);