summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/class.c3
-rw-r--r--src/codegen.c4
-rw-r--r--src/parse.y7
-rw-r--r--src/range.c4
-rw-r--r--src/symbol.c4
-rw-r--r--tools/mrbc/mrbc.c2
-rw-r--r--tools/mruby/mruby.c2
7 files changed, 24 insertions, 2 deletions
diff --git a/src/class.c b/src/class.c
index 9003c3bc5..783627a7d 100644
--- a/src/class.c
+++ b/src/class.c
@@ -620,6 +620,9 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
}
}
break;
+ default:
+ mrb_raise(mrb, E_ARGUMENT_ERROR, "invalide argument specifier %c", c);
+ break;
}
}
if (!c && argc > i) {
diff --git a/src/codegen.c b/src/codegen.c
index 00c6b566d..3ef52a0d4 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -207,6 +207,8 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
return;
}
break;
+ default:
+ break;
}
break;
case OP_SETIV:
@@ -240,6 +242,8 @@ genop_peep(codegen_scope *s, mrb_code i, int val)
return;
}
break;
+ default:
+ break;
}
}
genop(s, i);
diff --git a/src/parse.y b/src/parse.y
index 292e60cfa..13643f68e 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -3041,6 +3041,8 @@ backref_error(parser_state *p, node *n)
case NODE_BACK_REF:
yyerror_i(p, "can't set variable $%c", (int)(intptr_t)n->cdr);
break;
+ default:
+ break;
}
}
@@ -3722,7 +3724,7 @@ parser_yylex(parser_state *p)
}
if (isspace(c)) {
if (!IS_ARG()) {
- int c2 = 0;
+ int c2;
switch (c) {
case ' ':
c2 = 's';
@@ -3742,6 +3744,9 @@ parser_yylex(parser_state *p)
case '\f':
c2 = 'f';
break;
+ default:
+ c2 = 0;
+ break;
}
if (c2) {
char buf[256];
diff --git a/src/range.c b/src/range.c
index b4d743e5f..703ad12aa 100644
--- a/src/range.c
+++ b/src/range.c
@@ -31,7 +31,11 @@ range_check(mrb_state *mrb, mrb_value a, mrb_value b)
case MRB_TT_FIXNUM:
case MRB_TT_FLOAT:
return;
+ default:
+ break;
}
+ default:
+ break;
}
mrb_p(mrb, a);
diff --git a/src/symbol.c b/src/symbol.c
index 91076e293..baab0fb3c 100644
--- a/src/symbol.c
+++ b/src/symbol.c
@@ -276,6 +276,7 @@ symname_p(const char *name)
case '>':
switch (*++m) {
case '>': case '=': ++m; break;
+ default: break;
}
break;
@@ -319,7 +320,8 @@ id:
while (is_identchar(*m)) m += 1;
if (localid) {
switch (*m) {
- case '!': case '?': case '=': ++m;
+ case '!': case '?': case '=': ++m;
+ default: break;
}
}
break;
diff --git a/tools/mrbc/mrbc.c b/tools/mrbc/mrbc.c
index 55e2fcf32..8da37832a 100644
--- a/tools/mrbc/mrbc.c
+++ b/tools/mrbc/mrbc.c
@@ -114,6 +114,8 @@ parse_args(mrb_state *mrb, int argc, char **argv, struct _args *args)
}
else return -3;
return 0;
+ default:
+ break;
}
}
else if (args->rfp == NULL) {
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index 3628e79c9..12cdc86e9 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -110,6 +110,8 @@ append_cmdline:
}
else return -3;
return 0;
+ default:
+ break;
}
}