Skip to content

Commit 0f74a7d

Browse files
authored
Fix closure warnings in SDL + pthreads (#19044)
These were caused by the injected emscripten_proxy_to_main_thread_js calls expected all args to be either numbers of boolean (and never `undefined`).
1 parent ac75bb0 commit 0f74a7d

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

embuilder.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@
9494
'libwasm_workers_stub-debug',
9595
'libwebgpu_cpp',
9696
'libfetch',
97+
'libfetch-mt',
9798
'libwasmfs',
9899
'giflib',
99100
]

src/library_sdl.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1351,7 +1351,7 @@ var LibrarySDL = {
13511351
SDL_Init__deps: ['$zeroMemory', 'malloc', 'free', 'memcpy'],
13521352
SDL_Init__proxy: 'sync',
13531353
SDL_Init__sig: 'ii',
1354-
SDL_Init__docs: '/** @param{number=} initFlags */',
1354+
SDL_Init__docs: '/** @param{number} initFlags */',
13551355
SDL_Init: function(initFlags) {
13561356
SDL.startTime = Date.now();
13571357
SDL.initFlags = initFlags;
@@ -1401,7 +1401,7 @@ var LibrarySDL = {
14011401
SDL_WasInit__sig: 'ii',
14021402
SDL_WasInit: function(flags) {
14031403
if (SDL.startTime === null) {
1404-
_SDL_Init();
1404+
_SDL_Init(0);
14051405
}
14061406
return 1;
14071407
},
@@ -1760,7 +1760,7 @@ var LibrarySDL = {
17601760

17611761
SDL_GetKeyboardState__proxy: 'sync',
17621762
SDL_GetKeyboardState__sig: 'pp',
1763-
SDL_GetKeyboardState__docs: '/** @param {number=} numKeys */',
1763+
SDL_GetKeyboardState__docs: '/** @param {number} numKeys */',
17641764
SDL_GetKeyboardState: function(numKeys) {
17651765
if (numKeys) {
17661766
{{{ makeSetValue('numKeys', 0, 0x10000, 'i32') }}};
@@ -1770,7 +1770,7 @@ var LibrarySDL = {
17701770

17711771
SDL_GetKeyState__deps: ['SDL_GetKeyboardState'],
17721772
SDL_GetKeyState: function() {
1773-
return _SDL_GetKeyboardState();
1773+
return _SDL_GetKeyboardState(0);
17741774
},
17751775

17761776
SDL_GetKeyName__proxy: 'sync',
@@ -1884,7 +1884,7 @@ var LibrarySDL = {
18841884

18851885
SDL_ConvertSurface__proxy: 'sync',
18861886
SDL_ConvertSurface__sig: 'pppi',
1887-
SDL_ConvertSurface__docs: '/** @param {number=} format @param {number=} flags */',
1887+
SDL_ConvertSurface__docs: '/** @param {number} format @param {number} flags */',
18881888
SDL_ConvertSurface: function(surf, format, flags) {
18891889
if (format) {
18901890
SDL.checkPixelFormat(format);
@@ -1902,7 +1902,7 @@ var LibrarySDL = {
19021902

19031903
SDL_DisplayFormatAlpha__deps: ['SDL_ConvertSurface'],
19041904
SDL_DisplayFormatAlpha: function(surf) {
1905-
return _SDL_ConvertSurface(surf);
1905+
return _SDL_ConvertSurface(surf, 0, 0);
19061906
},
19071907

19081908
SDL_FreeSurface__proxy: 'sync',
@@ -2382,7 +2382,7 @@ var LibrarySDL = {
23822382
IMG_Load__proxy: 'sync',
23832383
IMG_Load__sig: 'pp',
23842384
IMG_Load: function(filename){
2385-
var rwops = _SDL_RWFromFile(filename);
2385+
var rwops = _SDL_RWFromFile(filename, 0);
23862386
var result = _IMG_Load_RW(rwops, 1);
23872387
return result;
23882388
},
@@ -2746,7 +2746,7 @@ var LibrarySDL = {
27462746
Mix_LoadWAV_RW__deps: ['$PATH_FS', 'fileno'],
27472747
Mix_LoadWAV_RW__proxy: 'sync',
27482748
Mix_LoadWAV_RW__sig: 'ppi',
2749-
Mix_LoadWAV_RW__docs: '/** @param {number|boolean=} freesrc */',
2749+
Mix_LoadWAV_RW__docs: '/** @param {number} freesrc */',
27502750
Mix_LoadWAV_RW: function(rwopsID, freesrc) {
27512751
var rwops = SDL.rwops[rwopsID];
27522752

@@ -2854,8 +2854,8 @@ var LibrarySDL = {
28542854
Mix_LoadWAV__proxy: 'sync',
28552855
Mix_LoadWAV__sig: 'pp',
28562856
Mix_LoadWAV: function(filename) {
2857-
var rwops = _SDL_RWFromFile(filename);
2858-
var result = _Mix_LoadWAV_RW(rwops);
2857+
var rwops = _SDL_RWFromFile(filename, 0);
2858+
var result = _Mix_LoadWAV_RW(rwops, 0);
28592859
_SDL_FreeRW(rwops);
28602860
return result;
28612861
},
@@ -3000,15 +3000,15 @@ var LibrarySDL = {
30003000
return SDL.setGetVolume(SDL.music, volume);
30013001
},
30023002

3003-
Mix_LoadMUS_RW__docs: '/** @param {number|boolean=} a1 */',
3003+
Mix_LoadMUS_RW__docs: '/** @param {number} a1 */',
30043004
Mix_LoadMUS_RW: 'Mix_LoadWAV_RW',
30053005

30063006
Mix_LoadMUS__deps: ['Mix_LoadMUS_RW', 'SDL_RWFromFile', 'SDL_FreeRW'],
30073007
Mix_LoadMUS__proxy: 'sync',
30083008
Mix_LoadMUS__sig: 'pp',
30093009
Mix_LoadMUS: function(filename) {
3010-
var rwops = _SDL_RWFromFile(filename);
3011-
var result = _Mix_LoadMUS_RW(rwops);
3010+
var rwops = _SDL_RWFromFile(filename, 0);
3011+
var result = _Mix_LoadMUS_RW(rwops, 0);
30123012
_SDL_FreeRW(rwops);
30133013
return result;
30143014
},
@@ -3664,7 +3664,7 @@ var LibrarySDL = {
36643664

36653665
SDL_RWFromFile__proxy: 'sync',
36663666
SDL_RWFromFile__sig: 'ppp',
3667-
SDL_RWFromFile__docs: '/** @param {number=} mode */',
3667+
SDL_RWFromFile__docs: '/** @param {number} mode */',
36683668
SDL_RWFromFile: function(_name, mode) {
36693669
var id = SDL.rwops.length; // TODO: recycle ids when they are null
36703670
var name = UTF8ToString(_name);

test/test_other.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8643,6 +8643,7 @@ def test_full_js_library_minimal_runtime(self):
86438643
# bigint support is interesting to test here because it changes which
86448644
# binaryen tools get run, which can affect how debug info is kept around
86458645
'bigint': [['-sWASM_BIGINT']],
8646+
'pthread': [['-pthread', '-Wno-experimental']],
86468647
})
86478648
def test_closure_full_js_library(self, args):
86488649
# Test for closure errors and warnings in the entire JS library.

0 commit comments

Comments
 (0)