This patch to the Go frontend corrects the integer import code to always initialize an mpfr value. The test case for this is https://go.dev/cl/413980. This fixes https://go.dev/issue/52862. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian
722750a44a93ce7d23e09df240d8ab700a2d30e6 diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index e20212e990a..f84347ea575 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -6a7ba754e5d98efe0875f1f41f40098e976e7958 +6edae0ef6521569e8f949aaaafa9dc1139825051 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 734ecb9492e..135dae02262 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -2715,7 +2715,7 @@ Integer_expression::do_import(Import_expression* imp, Location loc) return Expression::make_error(loc); } if (pos == std::string::npos) - mpfr_set_ui(real, 0, MPFR_RNDN); + mpfr_init_set_ui(real, 0, MPFR_RNDN); else { std::string real_str = num.substr(0, pos);