From d4ee80342770d1281e2ce877f8ae8ab1d99e6528 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 29 Jan 2018 13:06:13 +0100 Subject: Fix GCC 7 -Wimplicit-fallthrough warnings. --- src/lj_asm.c | 3 ++- src/lj_cparse.c | 10 ++++++++++ src/lj_err.c | 1 + src/lj_opt_sink.c | 2 +- src/lj_parse.c | 3 ++- src/luajit.c | 1 + 6 files changed, 17 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/lj_asm.c b/src/lj_asm.c index 02714d4e..dd7186f6 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c @@ -1725,6 +1725,7 @@ static void asm_setup_regsp(ASMState *as) case IR_SNEW: case IR_XSNEW: case IR_NEWREF: if (REGARG_NUMGPR < 3 && as->evenspill < 3) as->evenspill = 3; /* lj_str_new and lj_tab_newkey need 3 args. */ + /* fallthrough */ case IR_TNEW: case IR_TDUP: case IR_CNEW: case IR_CNEWI: case IR_TOSTR: ir->prev = REGSP_HINT(RID_RET); if (inloop) @@ -1750,7 +1751,7 @@ static void asm_setup_regsp(ASMState *as) #endif continue; } - /* fallthrough for integer POW */ + /* fallthrough */ /* for integer POW */ case IR_DIV: case IR_MOD: if (!irt_isnum(ir->t)) { ir->prev = REGSP_HINT(RID_RET); diff --git a/src/lj_cparse.c b/src/lj_cparse.c index 2ba50a72..f111537d 100644 --- a/src/lj_cparse.c +++ b/src/lj_cparse.c @@ -590,28 +590,34 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) k->id = k2.id > k3.id ? k2.id : k3.id; continue; } + /* fallthrough */ case 1: if (cp_opt(cp, CTOK_OROR)) { cp_expr_sub(cp, &k2, 2); k->i32 = k->u32 || k2.u32; k->id = CTID_INT32; continue; } + /* fallthrough */ case 2: if (cp_opt(cp, CTOK_ANDAND)) { cp_expr_sub(cp, &k2, 3); k->i32 = k->u32 && k2.u32; k->id = CTID_INT32; continue; } + /* fallthrough */ case 3: if (cp_opt(cp, '|')) { cp_expr_sub(cp, &k2, 4); k->u32 = k->u32 | k2.u32; goto arith_result; } + /* fallthrough */ case 4: if (cp_opt(cp, '^')) { cp_expr_sub(cp, &k2, 5); k->u32 = k->u32 ^ k2.u32; goto arith_result; } + /* fallthrough */ case 5: if (cp_opt(cp, '&')) { cp_expr_sub(cp, &k2, 6); k->u32 = k->u32 & k2.u32; goto arith_result; } + /* fallthrough */ case 6: if (cp_opt(cp, CTOK_EQ)) { cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 == k2.u32; k->id = CTID_INT32; @@ -620,6 +626,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) cp_expr_sub(cp, &k2, 7); k->i32 = k->u32 != k2.u32; k->id = CTID_INT32; continue; } + /* fallthrough */ case 7: if (cp_opt(cp, '<')) { cp_expr_sub(cp, &k2, 8); @@ -654,6 +661,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) k->id = CTID_INT32; continue; } + /* fallthrough */ case 8: if (cp_opt(cp, CTOK_SHL)) { cp_expr_sub(cp, &k2, 9); k->u32 = k->u32 << k2.u32; @@ -666,6 +674,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) k->u32 = k->u32 >> k2.u32; continue; } + /* fallthrough */ case 9: if (cp_opt(cp, '+')) { cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 + k2.u32; @@ -675,6 +684,7 @@ static void cp_expr_infix(CPState *cp, CPValue *k, int pri) } else if (cp_opt(cp, '-')) { cp_expr_sub(cp, &k2, 10); k->u32 = k->u32 - k2.u32; goto arith_result; } + /* fallthrough */ case 10: if (cp_opt(cp, '*')) { cp_expr_unary(cp, &k2); k->u32 = k->u32 * k2.u32; goto arith_result; diff --git a/src/lj_err.c b/src/lj_err.c index 54f42c37..13a1ded7 100644 --- a/src/lj_err.c +++ b/src/lj_err.c @@ -153,6 +153,7 @@ static void *err_unwind(lua_State *L, void *stopcf, int errcode) if ((frame-1)->u32.lo == LJ_CONT_FFI_CALLBACK) goto unwind_c; #endif + /* fallthrough */ case FRAME_VARG: /* Vararg frame. */ frame = frame_prevd(frame); break; diff --git a/src/lj_opt_sink.c b/src/lj_opt_sink.c index 6a00d04c..4efe395e 100644 --- a/src/lj_opt_sink.c +++ b/src/lj_opt_sink.c @@ -100,8 +100,8 @@ static void sink_mark_ins(jit_State *J) (LJ_32 && ir+1 < irlast && (ir+1)->o == IR_HIOP && !sink_checkphi(J, ir, (ir+1)->op2)))) irt_setmark(ir->t); /* Mark ineligible allocation. */ - /* fallthrough */ #endif + /* fallthrough */ case IR_USTORE: irt_setmark(IR(ir->op2)->t); /* Mark stored value. */ break; diff --git a/src/lj_parse.c b/src/lj_parse.c index 9e5976f7..67854951 100644 --- a/src/lj_parse.c +++ b/src/lj_parse.c @@ -2696,7 +2696,8 @@ static int parse_stmt(LexState *ls) lj_lex_next(ls); parse_goto(ls); break; - } /* else: fallthrough */ + } + /* fallthrough */ default: parse_call_assign(ls); break; diff --git a/src/luajit.c b/src/luajit.c index 9e15b26d..0e18dc5f 100644 --- a/src/luajit.c +++ b/src/luajit.c @@ -419,6 +419,7 @@ static int collectargs(char **argv, int *flags) break; case 'e': *flags |= FLAGS_EXEC; + /* fallthrough */ case 'j': /* LuaJIT extension */ case 'l': *flags |= FLAGS_OPTION; -- cgit v1.2.3-55-g6feb