summaryrefslogtreecommitdiff
path: root/ruby_parser.c
diff options
context:
space:
mode:
authoryui-knk <spiketeika@gmail.com>2024-01-07 11:00:59 +0900
committerYuichiro Kaneko <spiketeika@gmail.com>2024-01-12 22:10:53 +0900
commit5a471784ca45379672db46aef759087148ad4877 (patch)
tree843eea357d1d89ad3bc145e218d2ce4893587797 /ruby_parser.c
parent731fee04c29b31d780b1bfeb878a43355658daa7 (diff)
Restore unknown case
This existed before 1b8d01136c3ff6c60325c7609d61e19ac42acd9f.
Diffstat (limited to 'ruby_parser.c')
-rw-r--r--ruby_parser.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ruby_parser.c b/ruby_parser.c
index 31008e2f75..286756840c 100644
--- a/ruby_parser.c
+++ b/ruby_parser.c
@@ -3,6 +3,7 @@
#include "internal/ruby_parser.h"
#include "rubyparser.h"
+#include "internal/error.h"
static VALUE
compile_negative_numeric(VALUE val)
@@ -16,6 +17,7 @@ compile_negative_numeric(VALUE val)
return DBL2NUM(-RFLOAT_VALUE(val));
}
#endif
+ goto unknown;
}
switch (BUILTIN_TYPE(val)) {
case T_BIGNUM:
@@ -32,8 +34,10 @@ compile_negative_numeric(VALUE val)
case T_FLOAT:
val = DBL2NUM(-RFLOAT_VALUE(val));
break;
+ unknown:
default:
- val = LONG2FIX(-FIX2LONG(val));
+ rb_bug("unknown literal type (%s) passed to compile_negative_numeric",
+ rb_builtin_class_name(val));
break;
}
return val;
@@ -145,7 +149,6 @@ rb_node_imaginary_literal_val(const NODE *n)
#include "internal/compile.h"
#include "internal/complex.h"
#include "internal/encoding.h"
-#include "internal/error.h"
#include "internal/gc.h"
#include "internal/hash.h"
#include "internal/io.h"