compiler: don't warn for print()
authorIan Lance Taylor <iant@golang.org>
Wed, 9 Feb 2022 04:19:04 +0000 (20:19 -0800)
committerIan Lance Taylor <iant@golang.org>
Wed, 9 Feb 2022 22:15:41 +0000 (14:15 -0800)
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

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/expressions.cc

index 8cbd0c1..52f4b42 100644 (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.
index 3f59765..1b3b3bf 100644 (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();