summaryrefslogtreecommitdiffstats
path: root/options/m_option.c
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2023-11-05 19:09:39 +0100
committerDudemanguy <random342@airmail.cc>2024-01-26 03:28:55 +0000
commitab491472f44eef098974dd7f6633ec5dc352bb77 (patch)
treef2bee738c546e0181824997447728e9afd73609b /options/m_option.c
parent68f1057d2ef3c24bf2d0dcd37d877e21e2879a65 (diff)
downloadmpv-ab491472f44eef098974dd7f6633ec5dc352bb77.tar.bz2
mpv-ab491472f44eef098974dd7f6633ec5dc352bb77.tar.xz
options/m_option: suppress warning about validate function call
It is expected. Last argument of validate functions is always a pointer, but not always void* which triggers UBSAN warning. meson since 1.3.1 halts on UBSAN errors in tests, which is good thing.
Diffstat (limited to 'options/m_option.c')
-rw-r--r--options/m_option.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/options/m_option.c b/options/m_option.c
index f5fe533f54..18346d0374 100644
--- a/options/m_option.c
+++ b/options/m_option.c
@@ -61,6 +61,11 @@ const char m_option_path_separator = OPTION_PATH_SEPARATOR;
#define OPT_INT_MAX(opt, T, Tm) ((opt)->min < (opt)->max \
? ((opt)->max >= (double)(Tm) ? (Tm) : (T)((opt)->max)) : (Tm))
+#if defined(__clang__)
+// Last argument of validate functions is always a pointer, but not always void*
+// which triggers UBSAN warning.
+__attribute__((no_sanitize("function")))
+#endif
int m_option_parse(struct mp_log *log, const m_option_t *opt,
struct bstr name, struct bstr param, void *dst)
{