From 651c754cfbd1928abd8ac6b3121fc37c85907dcb Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 3 Jul 2019 22:27:51 +0000 Subject: [PATCH] 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 --- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/expressions.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index cc157b7..7ca79c8 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -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. diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index d521551..abc4bba 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -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(val) + seed) * PRIME; } - -- 2.7.4