Commit 651c754c by Ian Lance Taylor

compiler: set varargs lowered for imported call expressions

    
    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
parent 67699bf6
ae7d7e05bce19aefaa27efe2ee797933aafbef06 bf66d40bc7adb438dcfac85d73bfa7b17217eed9
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -18338,6 +18338,7 @@ Expression::import_expression(Import_expression* imp, Location loc) ...@@ -18338,6 +18338,7 @@ Expression::import_expression(Import_expression* imp, Location loc)
} }
imp->require_c_string(")"); imp->require_c_string(")");
expr = Expression::make_call(expr, args, is_varargs, loc); expr = Expression::make_call(expr, args, is_varargs, loc);
expr->call_expression()->set_varargs_are_lowered();
} }
else if (imp->match_c_string("[")) else if (imp->match_c_string("["))
{ {
...@@ -19389,4 +19390,3 @@ Numeric_constant::hash(unsigned int seed) const ...@@ -19389,4 +19390,3 @@ Numeric_constant::hash(unsigned int seed) const
return (static_cast<unsigned int>(val) + seed) * PRIME; return (static_cast<unsigned int>(val) + seed) * PRIME;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment