From c70b4b5f7e419214c8c61ba5306b569fbab7dc30 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Wed, 6 May 2015 12:22:05 -0400 Subject: [PATCH] cmd/internal/gc: show register dump before crashing on register left allocated If you are using -h to get a stack trace at the site of the failure, Yyerror will never return. Dump the register allocation sites before calling Yyerror. Change-Id: I51266c03e06cb5084c2eaa89b367b9ed85ba286a Reviewed-on: https://go-review.googlesource.com/9788 Reviewed-by: Josh Bleecher Snyder Reviewed-by: Dave Cheney --- src/cmd/internal/gc/gsubr.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cmd/internal/gc/gsubr.go b/src/cmd/internal/gc/gsubr.go index 9b75bb6109..93e4852b6f 100644 --- a/src/cmd/internal/gc/gsubr.go +++ b/src/cmd/internal/gc/gsubr.go @@ -625,20 +625,20 @@ func gclean() { for r := Thearch.REGMIN; r <= Thearch.REGMAX; r++ { n := reg[r-Thearch.REGMIN] if n != 0 { - Yyerror("reg %v left allocated", obj.Rconv(r)) if Debug['v'] != 0 { Regdump() } + Yyerror("reg %v left allocated", obj.Rconv(r)) } } for r := Thearch.FREGMIN; r <= Thearch.FREGMAX; r++ { n := reg[r-Thearch.REGMIN] if n != 0 { - Yyerror("reg %v left allocated", obj.Rconv(r)) if Debug['v'] != 0 { Regdump() } + Yyerror("reg %v left allocated", obj.Rconv(r)) } } } -- 2.48.1