Commit d0c21af7 authored by Russ Cox's avatar Russ Cox

[dev.cc] cmd/9a, cmd/new9a: fix line numbers

Fixed for the other assemblers in CL 2297042 in 2010.

Change-Id: I6cf41c569e884d98d295369e60e550ff8c0884e6
Reviewed-on: https://go-review.googlesource.com/5173Reviewed-by: 's avatarRob Pike <r@golang.org>
parent 09d7db3b
...@@ -118,6 +118,7 @@ EXTERN char* outfile; ...@@ -118,6 +118,7 @@ EXTERN char* outfile;
EXTERN int pass; EXTERN int pass;
EXTERN int32 pc; EXTERN int32 pc;
EXTERN int peekc; EXTERN int peekc;
EXTERN int32 stmtline;
EXTERN int sym; EXTERN int sym;
EXTERN char* symb; EXTERN char* symb;
EXTERN int thechar; EXTERN int thechar;
......
...@@ -64,7 +64,11 @@ ...@@ -64,7 +64,11 @@
%type <addr> imm ximm fimm rel psr lcr cbit fpscr msr mask %type <addr> imm ximm fimm rel psr lcr cbit fpscr msr mask
%% %%
prog: prog:
| prog line | prog
{
stmtline = lineno;
}
line
line: line:
LNAME ':' LNAME ':'
......
...@@ -672,7 +672,7 @@ outcode(int a, Addr *g1, int reg, Addr *g2) ...@@ -672,7 +672,7 @@ outcode(int a, Addr *g1, int reg, Addr *g2)
p = emallocz(sizeof(Prog)); p = emallocz(sizeof(Prog));
p->as = a; p->as = a;
p->lineno = lineno; p->lineno = stmtline;
if(nosched) if(nosched)
p->mark |= NOSCHED; p->mark |= NOSCHED;
p->from = *g1; p->from = *g1;
...@@ -702,7 +702,7 @@ outgcode(int a, Addr *g1, int reg, Addr *g2, Addr *g3) ...@@ -702,7 +702,7 @@ outgcode(int a, Addr *g1, int reg, Addr *g2, Addr *g3)
p = emallocz(sizeof(Prog)); p = emallocz(sizeof(Prog));
p->as = a; p->as = a;
p->lineno = lineno; p->lineno = stmtline;
if(nosched) if(nosched)
p->mark |= NOSCHED; p->mark |= NOSCHED;
p->from = *g1; p->from = *g1;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -68,7 +68,11 @@ import ( ...@@ -68,7 +68,11 @@ import (
%type <addr> imm ximm fimm rel psr lcr cbit fpscr msr mask %type <addr> imm ximm fimm rel psr lcr cbit fpscr msr mask
%% %%
prog: prog:
| prog line | prog
{
stmtline = asm.Lineno
}
line
line: line:
LNAME ':' LNAME ':'
......
...@@ -38,8 +38,9 @@ import ( ...@@ -38,8 +38,9 @@ import (
) )
var ( var (
yyerror = asm.Yyerror yyerror = asm.Yyerror
nullgen obj.Addr nullgen obj.Addr
stmtline int32
) )
func main() { func main() {
...@@ -496,7 +497,7 @@ func outcode(a int, g1 *obj.Addr, reg int, g2 *obj.Addr) { ...@@ -496,7 +497,7 @@ func outcode(a int, g1 *obj.Addr, reg int, g2 *obj.Addr) {
p = asm.Ctxt.NewProg() p = asm.Ctxt.NewProg()
p.As = int16(a) p.As = int16(a)
p.Lineno = asm.Lineno p.Lineno = stmtline
if nosched != 0 { if nosched != 0 {
p.Mark |= ppc64.NOSCHED p.Mark |= ppc64.NOSCHED
} }
...@@ -529,7 +530,7 @@ func outgcode(a int, g1 *obj.Addr, reg int, g2, g3 *obj.Addr) { ...@@ -529,7 +530,7 @@ func outgcode(a int, g1 *obj.Addr, reg int, g2, g3 *obj.Addr) {
p = asm.Ctxt.NewProg() p = asm.Ctxt.NewProg()
p.As = int16(a) p.As = int16(a)
p.Lineno = asm.Lineno p.Lineno = stmtline
if nosched != 0 { if nosched != 0 {
p.Mark |= ppc64.NOSCHED p.Mark |= ppc64.NOSCHED
} }
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment