aboutsummaryrefslogtreecommitdiff
path: root/src/tokenizer.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-03-22 14:56:03 -0400
committerAndrew Kelley <andrew@ziglang.org>2019-03-22 14:56:03 -0400
commit4615ed5ea003516c8235728ac3f5f0ee2ccea8a7 (patch)
tree15d8bf63d72a2c343c13242031f02e746183137e /src/tokenizer.cpp
parent127bb124a06dc93f4def23224d400f4050754674 (diff)
downloadzig-4615ed5ea003516c8235728ac3f5f0ee2ccea8a7.tar.gz
zig-4615ed5ea003516c8235728ac3f5f0ee2ccea8a7.zip
float literals now parse using musl's 128 bit float code
fixes float literals not having 128 bit precision
Diffstat (limited to 'src/tokenizer.cpp')
-rw-r--r--src/tokenizer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/tokenizer.cpp b/src/tokenizer.cpp
index fb30f3c12c..b050944884 100644
--- a/src/tokenizer.cpp
+++ b/src/tokenizer.cpp
@@ -293,10 +293,10 @@ static void cancel_token(Tokenize *t) {
}
static void end_float_token(Tokenize *t) {
- if (t->radix == 10) {
+ if (t->radix == 10 || t->radix == 16) {
uint8_t *ptr_buf = (uint8_t*)buf_ptr(t->buf) + t->cur_tok->start_pos;
size_t buf_len = t->cur_tok->end_pos - t->cur_tok->start_pos;
- if (bigfloat_init_buf_base10(&t->cur_tok->data.float_lit.bigfloat, ptr_buf, buf_len)) {
+ if (bigfloat_init_buf(&t->cur_tok->data.float_lit.bigfloat, ptr_buf, buf_len)) {
t->cur_tok->data.float_lit.overflow = true;
}
return;