aboutsummaryrefslogtreecommitdiff
path: root/src/analyze.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2016-09-05 23:19:13 -0400
committerAndrew Kelley <superjoe30@gmail.com>2016-09-05 23:19:13 -0400
commit64034a3d1aeede8e0a5c8bd44d672a1d7902d981 (patch)
tree3c7ea61fd5cf169d307a958cf3a5fe0fcf6e31d2 /src/analyze.cpp
parentcfaced3f73da2d5fc82f063715d51e06084baee8 (diff)
downloadzig-64034a3d1aeede8e0a5c8bd44d672a1d7902d981.tar.gz
zig-64034a3d1aeede8e0a5c8bd44d672a1d7902d981.zip
maxValue and minValue builtins return number literal
closes #170
Diffstat (limited to 'src/analyze.cpp')
-rw-r--r--src/analyze.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/analyze.cpp b/src/analyze.cpp
index 3064ad359d..6a24c42bc7 100644
--- a/src/analyze.cpp
+++ b/src/analyze.cpp
@@ -4326,10 +4326,13 @@ static TypeTableEntry *analyze_min_max_value(CodeGen *g, ImportTableEntry *impor
if (type_entry->id == TypeTableEntryIdInvalid) {
return g->builtin_types.entry_invalid;
- } else if (type_entry->id == TypeTableEntryIdInt ||
- type_entry->id == TypeTableEntryIdFloat ||
- type_entry->id == TypeTableEntryIdBool)
- {
+ } else if (type_entry->id == TypeTableEntryIdInt) {
+ eval_min_max_value(g, type_entry, &get_resolved_expr(node)->const_val, is_max);
+ return g->builtin_types.entry_num_lit_int;
+ } else if (type_entry->id == TypeTableEntryIdFloat) {
+ eval_min_max_value(g, type_entry, &get_resolved_expr(node)->const_val, is_max);
+ return g->builtin_types.entry_num_lit_float;
+ } else if (type_entry->id == TypeTableEntryIdBool) {
eval_min_max_value(g, type_entry, &get_resolved_expr(node)->const_val, is_max);
return type_entry;
} else {