1
0
mirror of https://github.com/golang/go synced 2024-11-23 21:30:08 -07:00

[dev.cc] cmd/6a, etc: fix line number accounting during #ifdef

Lines beginning with #ifdef, #else, #endif were not incrementing
the line number, resulting in bad line number information for
assembly files with #ifdefs.

Example:

	#ifndef GOARCH_ppc64
	#endif
	#ifdef GOARCH_ppc64le
	#endif

	TEXT ·use(SB),7,$0
		RET

Before this change, the line number recorded for use in 6a -S output
(and in the runtime information in the binary) was 4 too low.

Change-Id: I23e599112ec9919f72e53ac82d9bebbbae3439ed
Reviewed-on: https://go-review.googlesource.com/3783
Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
Russ Cox 2015-02-03 11:48:50 -05:00
parent 68475da68d
commit 975c82fd9b
2 changed files with 7 additions and 1 deletions

View File

@ -572,6 +572,8 @@ getc(void)
c = peekc;
if(c != IGN) {
peekc = IGN;
if(c == '\n')
lineno++;
return c;
}
c = GETC();
@ -633,7 +635,7 @@ loop:
return l;
}
}
peekc = c;
unget(c);
return l;
}
switch(c)

View File

@ -534,6 +534,9 @@ func getc() int {
c = peekc
if c != IGN {
peekc = IGN
if c == '\n' {
Lineno++
}
return c
}
@ -599,6 +602,7 @@ loop:
}
peekc = c
unget(c)
return l
}