This patch to the Go frontend stops warning for calls of print(). We used to warn for calls to print(), because it doesn't do anything. However, a Go 1.18 test uses that call, and it is valid Go. Change the compiler to just accept it and compile it; this will produce calls to printlock and printunlock, and nothing else. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian
e50a79552d567cd49703103d478ab93d805f60c1 diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 8cbd0c19a8d..52f4b423f02 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -263e8d2a2ab57c6f2b3035f370d40476bda87c9f +b0dcd2d1e5e73952408b9f2d4d86ae12d102b20c 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 3f597654858..1b3b3bf135e 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -10332,16 +10332,7 @@ Builtin_call_expression::do_check_types(Gogo*) case BUILTIN_PRINTLN: { const Expression_list* args = this->args(); - if (args == NULL) - { - if (this->code_ == BUILTIN_PRINT) - go_warning_at(this->location(), 0, - "no arguments for built-in function %<%s%>", - (this->code_ == BUILTIN_PRINT - ? "print" - : "println")); - } - else + if (args != NULL) { for (Expression_list::const_iterator p = args->begin(); p != args->end();