compiler: don't warn for 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.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/384355
This commit is contained in:
Ian Lance Taylor 2022-02-08 20:19:04 -08:00
parent 2e2b861e89
commit e50a79552d
2 changed files with 2 additions and 11 deletions

View file

@ -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.

View file

@ -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();