compiler: set varargs lowered for imported call expressions
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 3 Jul 2019 22:27:51 +0000 (22:27 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 3 Jul 2019 22:27:51 +0000 (22:27 +0000)
    Fix compiler buglet: varargs lowering happens before inlinable
    function bodies are written out to export data, so set the "varargs
    lowered" flag on call expressions that we import.

    Fixes golang/go#32922

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/184919

From-SVN: r273026

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

index cc157b704b164de9fd9be5b6308d21cc2d9ac577..7ca79c82b7624b0f89c54e5f48a11a74f4499f88 100644 (file)
@@ -1,4 +1,4 @@
-ae7d7e05bce19aefaa27efe2ee797933aafbef06
+bf66d40bc7adb438dcfac85d73bfa7b17217eed9
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index d52155183c624f83efa8e4cff25abeba1b7fee14..abc4bba4e17dc79c2153eddcf58638ce7b3a11b3 100644 (file)
@@ -18338,6 +18338,7 @@ Expression::import_expression(Import_expression* imp, Location loc)
            }
          imp->require_c_string(")");
          expr = Expression::make_call(expr, args, is_varargs, loc);
+          expr->call_expression()->set_varargs_are_lowered();
        }
       else if (imp->match_c_string("["))
        {
@@ -19389,4 +19390,3 @@ Numeric_constant::hash(unsigned int seed) const
 
   return (static_cast<unsigned int>(val) + seed) * PRIME;
 }
-