aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2012-05-07 18:36:36 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2012-05-07 18:36:36 +0000
commitca30ba74c97fac7fa2c9da54a3bc45bda11bfd2c (patch)
treeb47b23126fa614e444f4e05b6fdd5afc57b04be7 /gcc/go
parentc414667bc2a1aa812048cc6f7bba291820dcf5e9 (diff)
downloadgcc-ca30ba74c97fac7fa2c9da54a3bc45bda11bfd2c.zip
gcc-ca30ba74c97fac7fa2c9da54a3bc45bda11bfd2c.tar.gz
gcc-ca30ba74c97fac7fa2c9da54a3bc45bda11bfd2c.tar.bz2
compiler: fix ICE in handling of rune constants.
This patch corrects an ICE in handling on constant expressions such as const r = ^'a' Part of issue 9. From-SVN: r187264
Diffstat (limited to 'gcc/go')
-rw-r--r--gcc/go/gofrontend/expressions.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index 39824bf..f6fb658 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -3712,7 +3712,10 @@ Unary_expression::eval_constant(Operator op, const Numeric_constant* unc,
return false;
mpz_t uval;
- unc->get_int(&uval);
+ if (unc->is_rune())
+ unc->get_rune(&uval);
+ else
+ unc->get_int(&uval);
mpz_t val;
mpz_init(val);