The compiler should not usually call Fconv with an infinity, but if
it does, Fconv will end in an endless loop. Test for infinities early.
Change-Id: I48f366466538b0bd26a851e01258725025babaff
Reviewed-on: https://go-review.googlesource.com/16777
Reviewed-by: Russ Cox <rsc@golang.org>
                sign = "+"
        }
 
+       // Don't try to convert infinities (will not terminate).
+       if f.IsInf() {
+               return sign + "Inf"
+       }
+
        // Use fmt formatting if in float64 range (common case).
        if x, _ := f.Float64(); !math.IsInf(x, 0) {
                return fmt.Sprintf("%s%.6g", sign, x)