aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.h
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-05-10 19:41:55 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-05-10 19:41:55 +0000
commit4f3952228acc6e60cd5d4e356094319bb2aca010 (patch)
treef984027ce277325a6dd9023205d9846b6f9f9357 /gcc/go/gofrontend/expressions.h
parentc735deb4fa985b0ab210cbad3802d46a7d4aaa17 (diff)
downloadgcc-4f3952228acc6e60cd5d4e356094319bb2aca010.zip
gcc-4f3952228acc6e60cd5d4e356094319bb2aca010.tar.gz
gcc-4f3952228acc6e60cd5d4e356094319bb2aca010.tar.bz2
compiler: permit inlining receive expressions
This does not permit any new inlinable functions in the standard library. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/176637 From-SVN: r271074
Diffstat (limited to 'gcc/go/gofrontend/expressions.h')
-rw-r--r--gcc/go/gofrontend/expressions.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.h b/gcc/go/gofrontend/expressions.h
index 2cca824..9ed81f1 100644
--- a/gcc/go/gofrontend/expressions.h
+++ b/gcc/go/gofrontend/expressions.h
@@ -3982,6 +3982,9 @@ class Receive_expression : public Expression
channel()
{ return this->channel_; }
+ static Expression*
+ do_import(Import_expression*, Location);
+
protected:
int
do_traverse(Traverse* traverse)
@@ -4010,6 +4013,10 @@ class Receive_expression : public Expression
return Expression::make_receive(this->channel_->copy(), this->location());
}
+ int
+ do_inlining_cost() const
+ { return 1; }
+
bool
do_must_eval_in_order() const
{ return true; }
@@ -4018,6 +4025,9 @@ class Receive_expression : public Expression
do_get_backend(Translate_context*);
void
+ do_export(Export_function_body*) const;
+
+ void
do_dump_expression(Ast_dump_context*) const;
private: