diff --git a/audio/out/ao.c b/audio/out/ao.c index e797ad3f9c..768f98acb3 100644 --- a/audio/out/ao.c +++ b/audio/out/ao.c @@ -702,7 +702,7 @@ static void convert_plane(int type, void *data, int num_samples) break; } default: - abort(); + MP_ASSERT_UNREACHABLE(); } } diff --git a/audio/out/ao_alsa.c b/audio/out/ao_alsa.c index 762805541f..617209dd43 100644 --- a/audio/out/ao_alsa.c +++ b/audio/out/ao_alsa.c @@ -563,7 +563,7 @@ static char *append_params(void *ta_parent, const char *device, const char *p) /* a simple list of parameters: add it at the end of the list */ return talloc_asprintf(ta_parent, "%s,%s", device, p); } - abort(); + MP_ASSERT_UNREACHABLE(); } static int try_open_device(struct ao *ao, const char *device, int mode) diff --git a/audio/out/ao_pulse.c b/audio/out/ao_pulse.c index 6c536b095e..619824b954 100644 --- a/audio/out/ao_pulse.c +++ b/audio/out/ao_pulse.c @@ -729,8 +729,9 @@ static int control(struct ao *ao, enum aocontrol cmd, void *arg) GENERIC_ERR_MSG("pa_context_set_sink_input_mute() failed"); return CONTROL_ERROR; } - } else - abort(); + } else { + MP_ASSERT_UNREACHABLE(); + } return CONTROL_OK; } diff --git a/common/msg.c b/common/msg.c index 81c7f654f3..faf1059490 100644 --- a/common/msg.c +++ b/common/msg.c @@ -810,7 +810,7 @@ void mp_msg_log_buffer_destroy(struct mp_log_buffer *buffer) } } - abort(); + MP_ASSERT_UNREACHABLE(); found: diff --git a/demux/demux.c b/demux/demux.c index 15ed27af73..913fe96f95 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -2868,7 +2868,7 @@ static const char *d_level(enum demux_check level) case DEMUX_CHECK_REQUEST:return "request"; case DEMUX_CHECK_NORMAL: return "normal"; } - abort(); + MP_ASSERT_UNREACHABLE(); } static int decode_float(char *str, float *out) diff --git a/demux/ebml.c b/demux/ebml.c index 5bb8fd83d3..98f86ac742 100644 --- a/demux/ebml.c +++ b/demux/ebml.c @@ -429,7 +429,7 @@ static void ebml_parse_element(struct ebml_parse_ctx *ctx, void *target, uint32_t, num_elems[i]); break; default: - abort(); + MP_ASSERT_UNREACHABLE(); } } } @@ -582,7 +582,7 @@ static void ebml_parse_element(struct ebml_parse_ctx *ctx, void *target, MP_TRACE(ctx, "ebml_id %x\n", (unsigned)*idptr); break; default: - abort(); + MP_ASSERT_UNREACHABLE(); } *countptr += 1; error: diff --git a/input/input.c b/input/input.c index f69517f748..5b36deb87e 100644 --- a/input/input.c +++ b/input/input.c @@ -1608,7 +1608,7 @@ static void mp_input_src_kill(struct mp_input_src *src) return; } } - abort(); + MP_ASSERT_UNREACHABLE(); } void mp_input_src_init_done(struct mp_input_src *src) diff --git a/misc/node.c b/misc/node.c index 9b45291a5f..3b982ed24a 100644 --- a/misc/node.c +++ b/misc/node.c @@ -136,7 +136,7 @@ bool equal_mpv_value(const void *a, const void *b, mpv_format format) return true; } } - abort(); // supposed to be able to handle all defined types + MP_ASSERT_UNREACHABLE(); // supposed to be able to handle all defined types } // Remarks see equal_mpv_value(). diff --git a/options/m_option.c b/options/m_option.c index 898d0da4f6..eb5e34cac7 100644 --- a/options/m_option.c +++ b/options/m_option.c @@ -770,7 +770,7 @@ static const struct m_opt_choice_alternatives *get_choice(const m_option_t *opt, return NULL; } } - abort(); + MP_ASSERT_UNREACHABLE(); } static int choice_get(const m_option_t *opt, void *ta_parent, diff --git a/player/client.c b/player/client.c index dd81cdf973..8037d8858d 100644 --- a/player/client.c +++ b/player/client.c @@ -763,7 +763,7 @@ static void send_reply(struct mpv_handle *ctx, uint64_t userdata, assert(ctx->reserved_events > 0); ctx->reserved_events--; if (append_event(ctx, *event, false) < 0) - abort(); // not reached + MP_ASSERT_UNREACHABLE(); pthread_mutex_unlock(&ctx->lock); } diff --git a/player/command.c b/player/command.c index 28ca602ef8..9ade4c08df 100644 --- a/player/command.c +++ b/player/command.c @@ -409,7 +409,7 @@ static int mp_property_av_speed_correction(void *ctx, struct m_property *prop, switch (type[0]) { case 'a': val = mpctx->speed_factor_a; break; case 'v': val = mpctx->speed_factor_v; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } if (action == M_PROPERTY_PRINT) { diff --git a/player/playloop.c b/player/playloop.c index 8b0d017f9f..8236ec92ff 100644 --- a/player/playloop.c +++ b/player/playloop.c @@ -291,7 +291,7 @@ static void mp_seek(MPContext *mpctx, struct seek_params seek) if (len >= 0) seek_pts = seek.amount * len; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } double demux_pts = seek_pts; @@ -458,7 +458,7 @@ void queue_seek(struct MPContext *mpctx, enum seek_type type, double amount, *seek = (struct seek_params){ 0 }; return; } - abort(); + MP_ASSERT_UNREACHABLE(); } void execute_queued_seek(struct MPContext *mpctx) diff --git a/video/csputils.c b/video/csputils.c index 4df754a76d..29f0b37e80 100644 --- a/video/csputils.c +++ b/video/csputils.c @@ -785,7 +785,7 @@ void mp_get_csp_matrix(struct mp_csp_params *params, struct mp_cmat *m) break; } default: - abort(); + MP_ASSERT_UNREACHABLE(); }; if (params->is_float) @@ -822,7 +822,7 @@ void mp_get_csp_matrix(struct mp_csp_params *params, struct mp_cmat *m) case MP_CSP_LEVELS_PC: yuvlev = yuvfull; break; case -1: yuvlev = anyfull; break; default: - abort(); + MP_ASSERT_UNREACHABLE(); } int levels_out = params->levels_out; @@ -836,7 +836,7 @@ void mp_get_csp_matrix(struct mp_csp_params *params, struct mp_cmat *m) case MP_CSP_LEVELS_TV: rgblev = rgblim; break; case MP_CSP_LEVELS_PC: rgblev = rgbfull; break; default: - abort(); + MP_ASSERT_UNREACHABLE(); } double ymul = (rgblev.max - rgblev.min) / (yuvlev.ymax - yuvlev.ymin); diff --git a/video/out/d3d11/ra_d3d11.c b/video/out/d3d11/ra_d3d11.c index 62fcc1f47e..38624daeb2 100644 --- a/video/out/d3d11/ra_d3d11.c +++ b/video/out/d3d11/ra_d3d11.c @@ -510,7 +510,7 @@ static struct ra_tex *tex_create(struct ra *ra, tex_p->res = (ID3D11Resource *)tex_p->tex3d; break; default: - abort(); + MP_ASSERT_UNREACHABLE(); } tex_p->array_slice = -1; diff --git a/video/out/gpu/osd.c b/video/out/gpu/osd.c index 75538dbdf4..91505a987d 100644 --- a/video/out/gpu/osd.c +++ b/video/out/gpu/osd.c @@ -225,7 +225,7 @@ bool mpgl_osd_draw_prepare(struct mpgl_osd *ctx, int index, break; } default: - abort(); + MP_ASSERT_UNREACHABLE(); } return true; diff --git a/video/out/gpu/shader_cache.c b/video/out/gpu/shader_cache.c index 1d5e563cb8..302508b543 100644 --- a/video/out/gpu/shader_cache.c +++ b/video/out/gpu/shader_cache.c @@ -486,7 +486,7 @@ static const char *vao_glsl_type(const struct ra_renderpass_input *e) case 2: return "vec2"; case 3: return "vec3"; case 4: return "vec4"; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } } @@ -553,7 +553,7 @@ static void update_uniform(struct gl_shader_cache *sc, struct sc_entry *e, assert(e->pushc); update_pushc(sc->ra, e->pushc, u); break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } } diff --git a/video/out/gpu/user_shaders.c b/video/out/gpu/user_shaders.c index f0c8a9d19a..708de87485 100644 --- a/video/out/gpu/user_shaders.c +++ b/video/out/gpu/user_shaders.c @@ -102,7 +102,7 @@ bool eval_szexpr(struct mp_log *log, void *priv, switch (expr[i].val.op) { case SZEXP_OP_NOT: stack[idx-1] = !stack[idx-1]; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } continue; @@ -125,7 +125,7 @@ bool eval_szexpr(struct mp_log *log, void *priv, case SZEXP_OP_GT: res = op1 > op2; break; case SZEXP_OP_LT: res = op1 < op2; break; case SZEXP_OP_EQ: res = op1 == op2; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } if (!isfinite(res)) { diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index abe5e9333c..c9ab48d170 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -1915,8 +1915,7 @@ static void pass_sample(struct gl_video *p, struct image img, } else if (scaler->kernel) { pass_sample_separated(p, img, scaler, w, h); } else { - // Should never happen - abort(); + MP_ASSERT_UNREACHABLE(); // should never happen } // Apply any required multipliers. Separated scaling already does this in diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c index 8eddb5fabc..03207e1c4a 100644 --- a/video/out/opengl/ra_gl.c +++ b/video/out/opengl/ra_gl.c @@ -295,7 +295,7 @@ static struct ra_tex *gl_tex_create_blank(struct ra *ra, case 1: tex_gl->target = GL_TEXTURE_1D; break; case 2: tex_gl->target = GL_TEXTURE_2D; break; case 3: tex_gl->target = GL_TEXTURE_3D; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } if (params->non_normalized) { assert(params->dimensions == 2); @@ -631,7 +631,7 @@ static struct ra_buf *gl_buf_create(struct ra *ra, case RA_BUF_TYPE_TEX_UPLOAD: hint = GL_STREAM_DRAW; break; case RA_BUF_TYPE_SHADER_STORAGE: hint = GL_STREAM_COPY; break; case RA_BUF_TYPE_UNIFORM: hint = GL_STATIC_DRAW; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } gl->BufferData(buf_gl->target, params->size, params->initial_data, hint); @@ -738,7 +738,7 @@ static const char *shader_typestr(GLenum type) case GL_VERTEX_SHADER: return "vertex"; case GL_FRAGMENT_SHADER: return "fragment"; case GL_COMPUTE_SHADER: return "compute"; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } } @@ -964,14 +964,14 @@ static void update_uniform(struct ra *ra, struct ra_renderpass *pass, case 2: gl->Uniform2f(loc, f[0], f[1]); break; case 3: gl->Uniform3f(loc, f[0], f[1], f[2]); break; case 4: gl->Uniform4f(loc, f[0], f[1], f[2], f[3]); break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } } else if (input->dim_v == 2 && input->dim_m == 2) { gl->UniformMatrix2fv(loc, 1, GL_FALSE, f); } else if (input->dim_v == 3 && input->dim_m == 3) { gl->UniformMatrix3fv(loc, 1, GL_FALSE, f); } else { - abort(); + MP_ASSERT_UNREACHABLE(); } break; } @@ -1002,7 +1002,7 @@ static void update_uniform(struct ra *ra, struct ra_renderpass *pass, break; } default: - abort(); + MP_ASSERT_UNREACHABLE(); } } @@ -1086,7 +1086,7 @@ static void gl_renderpass_run(struct ra *ra, gl->MemoryBarrier(GL_TEXTURE_FETCH_BARRIER_BIT); break; } - default: abort(); + default: MP_ASSERT_UNREACHABLE(); } for (int n = 0; n < params->num_values; n++) diff --git a/video/out/placebo/ra_pl.c b/video/out/placebo/ra_pl.c index d2590d35d3..dd24e1dadf 100644 --- a/video/out/placebo/ra_pl.c +++ b/video/out/placebo/ra_pl.c @@ -617,7 +617,7 @@ static void renderpass_run_pl(struct ra *ra, case RA_VARTYPE_BUF_RW: bind.object = (* (struct ra_buf **) val->data)->priv; break; - default: abort(); + default: MP_ASSERT_UNREACHABLE(); }; p->binds[p->inp_index[val->index]] = bind; diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c index b08348987a..da14693092 100644 --- a/video/out/vo_vdpau.c +++ b/video/out/vo_vdpau.c @@ -600,7 +600,7 @@ static void generate_osd_part(struct vo *vo, struct sub_bitmaps *imgs) format = VDP_RGBA_FORMAT_B8G8R8A8; break; default: - abort(); + MP_ASSERT_UNREACHABLE(); }; assert(imgs->packed);