aboutsummaryrefslogtreecommitdiff
path: root/src/exact_value.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/exact_value.cpp')
-rw-r--r--src/exact_value.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/exact_value.cpp b/src/exact_value.cpp
index d62779462..b774d8656 100644
--- a/src/exact_value.cpp
+++ b/src/exact_value.cpp
@@ -87,7 +87,12 @@ ExactValue make_exact_value_from_basic_literal(Token token) {
case Token_String: return make_exact_value_string(token.string);
case Token_Integer: return make_exact_value_integer(token.string);
case Token_Float: return make_exact_value_float(token.string);
- case Token_Rune: return make_exact_value_integer(token.string);
+ case Token_Rune: {
+ Rune r = GB_RUNE_INVALID;
+ gb_utf8_decode(token.string.text, token.string.len, &r);
+ // gb_printf("%.*s rune: %d\n", LIT(token.string), r);
+ return make_exact_value_integer(r);
+ }
default:
GB_PANIC("Invalid token for basic literal");
break;