Commits on Source (4)
-
The function signature does not match the dvbpsi callback (demux_t* instead of void*). While this is supported by many platforms and compilers, it's undefined behavior strictly by the standard [1] and it's known to often fail with emscripten [^2]. [1]: Section 6.3.2.3, paragraph 8: > A pointer to a function of one type may be converted to a pointer to a > function of another type and back again; the result shall compare > equal to the original pointer. If a converted pointer is used to call > a function whose type is not compatible with the pointed-to type, the > behavior is undefined. Quoting section 6.7.5.1, paragraph 2 for pointer compatibility: > For two pointer types to be compatible, both shall be identically > qualified and both shall be pointers to compatible types. [^2]: https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
61c4034f -
The function signature does not match the libplacebo callback (gl_t* instead of void*). While this is supported by many platforms and compilers, it's undefined behavior strictly by the standard [1] and it's known to often fail with emscripten [^2]. [1]: Section 6.3.2.3, paragraph 8: > A pointer to a function of one type may be converted to a pointer to a > function of another type and back again; the result shall compare > equal to the original pointer. If a converted pointer is used to call > a function whose type is not compatible with the pointed-to type, the > behavior is undefined. Quoting section 6.7.5.1, paragraph 2 for pointer compatibility: > For two pointer types to be compatible, both shall be identically > qualified and both shall be pointers to compatible types. [^2]: https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
e99be279 -
Emscripten is known to deal badly with function casts to incompatible types [^1]. This patch prevent us to accidentally merge harmful UB casts to wasm enabled code. The warning is really strict but is compliant to the standard. Code that wants to use function cast should be disabled from the wasm platform. [^1]: https://emscripten.org/docs/porting/guidelines/function_pointer_issues.html
c876b0f7 -
a7f92685