From 5a471784ca45379672db46aef759087148ad4877 Mon Sep 17 00:00:00 2001 From: yui-knk Date: Sun, 7 Jan 2024 11:00:59 +0900 Subject: Restore unknown case This existed before 1b8d01136c3ff6c60325c7609d61e19ac42acd9f. --- common.mk | 2 ++ ruby_parser.c | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/common.mk b/common.mk index 5a929fc937..c4b6dec153 100644 --- a/common.mk +++ b/common.mk @@ -15876,6 +15876,7 @@ ruby_parser.$(OBJEXT): $(top_srcdir)/internal/bignum.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/bits.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/compilers.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/complex.h +ruby_parser.$(OBJEXT): $(top_srcdir)/internal/error.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/fixnum.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/imemo.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/numeric.h @@ -15883,6 +15884,7 @@ ruby_parser.$(OBJEXT): $(top_srcdir)/internal/rational.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/ruby_parser.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/serial.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/static_assert.h +ruby_parser.$(OBJEXT): $(top_srcdir)/internal/string.h ruby_parser.$(OBJEXT): $(top_srcdir)/internal/vm.h ruby_parser.$(OBJEXT): {$(VPATH)}assert.h ruby_parser.$(OBJEXT): {$(VPATH)}backward/2/assume.h 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" -- cgit v1.2.3