if nerrors != 0 {
errorexit()
}
- yyerror("mark left on the stack")
+ Fatalf("mark left on the stack")
}
}
}
}
if n.Sym.Export() || n.Sym.Package() {
if n.Sym.Package() {
- yyerror("export/package mismatch: %v", n.Sym)
+ Fatalf("export/package mismatch: %v", n.Sym)
}
return
}
}
if s.Def.Type == nil {
- yyerror("pkgtype %v", s)
+ Fatalf("pkgtype %v", s)
}
return s.Def.Type
}
return "map.iter[" + m.Key().String() + "]" + m.Val().String()
}
- yyerror("unknown internal map type")
+ Fatalf("unknown internal map type")
}
buf := make([]byte, 0, 64)
}
if t == nil {
- yyerror("tempname called with nil type")
- t = Types[TINT32]
+ Fatalf("tempname called with nil type")
}
// give each tmp a different name so that there
// check for overflow
if math.IsInf(x, 0) && nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpflt Float64")
+ Fatalf("ovf in Mpflt Float64")
}
return x + 0 // avoid -0 (should not be needed, but be conservative)
// check for overflow
if math.IsInf(x, 0) && nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpflt Float32")
+ Fatalf("ovf in Mpflt Float32")
}
return x + 0 // avoid -0 (should not be needed, but be conservative)
func (a *Mpint) Add(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Add")
+ Fatalf("ovf in Mpint Add")
}
a.SetOverflow()
return
func (a *Mpint) Sub(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Sub")
+ Fatalf("ovf in Mpint Sub")
}
a.SetOverflow()
return
func (a *Mpint) Mul(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Mul")
+ Fatalf("ovf in Mpint Mul")
}
a.SetOverflow()
return
func (a *Mpint) Quo(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Quo")
+ Fatalf("ovf in Mpint Quo")
}
a.SetOverflow()
return
func (a *Mpint) Rem(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Rem")
+ Fatalf("ovf in Mpint Rem")
}
a.SetOverflow()
return
func (a *Mpint) Or(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Or")
+ Fatalf("ovf in Mpint Or")
}
a.SetOverflow()
return
func (a *Mpint) And(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint And")
+ Fatalf("ovf in Mpint And")
}
a.SetOverflow()
return
func (a *Mpint) AndNot(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint AndNot")
+ Fatalf("ovf in Mpint AndNot")
}
a.SetOverflow()
return
func (a *Mpint) Xor(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Xor")
+ Fatalf("ovf in Mpint Xor")
}
a.SetOverflow()
return
func (a *Mpint) Lsh(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Lsh")
+ Fatalf("ovf in Mpint Lsh")
}
a.SetOverflow()
return
func (a *Mpint) Rsh(b *Mpint) {
if a.Ovf || b.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("ovf in Mpint Rsh")
+ Fatalf("ovf in Mpint Rsh")
}
a.SetOverflow()
return
func (a *Mpint) Int64() int64 {
if a.Ovf {
if nsavederrors+nerrors == 0 {
- yyerror("constant overflow")
+ Fatalf("constant overflow")
}
return 0
}
if r != nil {
switch r.Op {
default:
- yyerror("unknown op in select %v", r.Op)
Dump("select case", r)
+ Fatalf("unknown op in select %v", r.Op)
// If this is case x := <-ch or case x, y := <-ch, the case has
// the ODCL nodes to declare x and y. We want to delay that
}
if r.Ninit.Len() != 0 {
- yyerror("ninit on select recv")
dumplist("ninit", r.Ninit)
+ Fatalf("ninit on select recv")
}
// case x = <-c
case OSEND:
if r.Ninit.Len() != 0 {
- yyerror("ninit on select send")
dumplist("ninit", r.Ninit)
+ Fatalf("ninit on select send")
}
// case c <- x
Fatalf("gvardef nil")
}
if n.Op != ONAME {
- yyerror("gvardef %#v; %v", n.Op, n)
+ Fatalf("gvardef %#v; %v", n.Op, n)
return
}
for _, ln := range fn.Func.Dcl {
fmt.Printf("\t%v (%p; class=%d)\n", ln, ln, ln.Class)
}
- yyerror("checkauto: invariant lost")
+ Fatalf("checkauto: invariant lost")
}
func checkparam(fn *Node, p *obj.Prog, n *Node) {
for _, ln := range fn.Func.Dcl {
fmt.Printf("\t%v (%p; class=%d)\n", ln, ln, ln.Class)
}
- yyerror("checkparam: invariant lost")
+ Fatalf("checkparam: invariant lost")
}
func checkprog(fn *Node, p *obj.Prog) {
}
n := lv.vars[j]
if n.Class != PPARAM {
- yyerrorl(p.Pos, "internal error: %v %L recorded as live on entry, p.Pc=%v", Curfn.Func.Nname, n, p.Pc)
+ Fatalf("internal error: %v %L recorded as live on entry, p.Pc=%v", Curfn.Func.Nname, n, p.Pc)
}
}
}
OAS2RECV,
OAS2MAPR,
OASOP:
- yyerror("instrument: %v must be lowered by now", n.Op)
-
- goto ret
+ Fatalf("instrument: %v must be lowered by now", n.Op)
case OGETG:
- yyerror("instrument: OGETG can happen only in runtime which we don't instrument")
- goto ret
+ Fatalf("instrument: OGETG can happen only in runtime which we don't instrument")
case OFOR, OFORUNTIL:
if n.Left != nil {
// Double-check that overflow field is final memory in struct,
// with no padding at end. See comment above.
if ovf.Offset != bucket.Width-int64(Widthptr) {
- yyerror("bad math in mapbucket for %v", t)
+ Fatalf("bad math in mapbucket for %v", t)
}
t.MapType().Bucket = bucket
i.SetFields(field[:])
dowidth(i)
if i.Width != int64(12*Widthptr) {
- yyerror("hash_iter size not correct %d %d", i.Width, 12*Widthptr)
+ Fatalf("hash_iter size not correct %d %d", i.Width, 12*Widthptr)
}
t.MapType().Hiter = i
i.StructType().Map = t
callfunc := n.Left
for _, arg = range callfunc.List.Slice() {
if arg.Op != OAS {
- yyerror("call arg not assignment")
+ Fatalf("call arg not assignment")
}
lhs = arg.Left
if lhs.Op == ONAME {
}
if lhs.Op != OINDREGSP {
- yyerror("call argument store does not use OINDREGSP")
+ Fatalf("call argument store does not use OINDREGSP")
}
// can't really check this in machine-indep code.
//if(lhs->val.u.reg != D_SP)
- // yyerror("call arg assign not indreg(SP)");
+ // Fatalf("call arg assign not indreg(SP)")
lhs.Xoffset += int64(adjust)
}
}
var nln, nrn Nodes
nln.Set(nl)
nrn.Set(nr)
- yyerror("error in shape across %+v %v %+v / %d %d [%s]", nln, op, nrn, len(nl), len(nr), Curfn.Func.Nname.Sym.Name)
+ Fatalf("error in shape across %+v %v %+v / %d %d [%s]", nln, op, nrn, len(nl), len(nr), Curfn.Func.Nname.Sym.Name)
}
return nn
}
}
if i < nl.Len() || r != nil {
- yyerror("ascompatet: assignment count mismatch: %d = %d", nl.Len(), nr.NumFields())
+ Fatalf("ascompatet: assignment count mismatch: %d = %d", nl.Len(), nr.NumFields())
}
if ullmanOverflow {
c := n.List.Len()
if c < 2 {
- yyerror("addstr count %d too small", c)
+ Fatalf("addstr count %d too small", c)
}
buf := nodnil()