diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-10 19:41:55 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-10 19:41:55 +0000 |
commit | 4f3952228acc6e60cd5d4e356094319bb2aca010 (patch) | |
tree | f984027ce277325a6dd9023205d9846b6f9f9357 /gcc/go/gofrontend/expressions.h | |
parent | c735deb4fa985b0ab210cbad3802d46a7d4aaa17 (diff) | |
download | gcc-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.h | 10 |
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: |