diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2014-05-05 21:48:52 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2014-05-05 21:48:52 +0000 |
commit | a29aa02e798ba731d43363495f158f0dea351160 (patch) | |
tree | ad4c255ccba58a2d216f6d7d461f8f76090d60fa /gcc | |
parent | c2ac23fe235cd1be19476d11b6942f1d0e1c7dac (diff) | |
download | gcc-a29aa02e798ba731d43363495f158f0dea351160.zip gcc-a29aa02e798ba731d43363495f158f0dea351160.tar.gz gcc-a29aa02e798ba731d43363495f158f0dea351160.tar.bz2 |
compiler: Use backend interface for type info expressions.
From-SVN: r210084
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index a4f959d..ec59354 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -14095,9 +14095,13 @@ Type_info_expression::do_get_tree(Translate_context* context) default: go_unreachable(); } - tree val_type_tree = type_to_tree(this->type()->get_backend(gogo)); - go_assert(val_type_tree != error_mark_node); - return build_int_cstu(val_type_tree, val); + mpz_t cst; + mpz_init_set_ui(cst, val); + Btype* int_btype = this->type()->get_backend(gogo); + Bexpression* ret = + gogo->backend()->integer_constant_expression(int_btype, cst); + mpz_clear(cst); + return expr_to_tree(ret); } // Dump ast representation for a type info expression. |