From 85d6a29ae60fa914a5fb12d061422a63694aa9be Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Fri, 28 Apr 2017 07:23:26 -0700 Subject: [PATCH] cmd/compile: prevent infinite recursion printing types in Fatalf Updates #20162 Change-Id: Ie289bae0d0be8430e492ac73fd6e6bf36991d4a1 Reviewed-on: https://go-review.googlesource.com/42130 Reviewed-by: Brad Fitzpatrick --- src/cmd/compile/internal/gc/align.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cmd/compile/internal/gc/align.go b/src/cmd/compile/internal/gc/align.go index a270adf653..6f7e67ca93 100644 --- a/src/cmd/compile/internal/gc/align.go +++ b/src/cmd/compile/internal/gc/align.go @@ -183,6 +183,11 @@ func dowidth(t *types.Type) { } if sizeCalculationDisabled { + if t.Broke() { + // break infinite recursion from Fatal call below + return + } + t.SetBroke(true) Fatalf("width not calculated: %v", t) } -- 2.50.0