Skip to content

Commit b3de8a4

Browse files
authored
[wasm64] Remove the experimental warning from -sMEMORY64 (#22864)
Memory64 is now at phase4 and IIUC all emscripten features now work with it.
1 parent 44c7540 commit b3de8a4

File tree

4 files changed

+10
-16
lines changed

4 files changed

+10
-16
lines changed

emcc.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -899,10 +899,8 @@ def phase_setup(options, state, newargs):
899899
if options.target.startswith('wasm64'):
900900
default_setting('MEMORY64', 1)
901901

902-
if settings.MEMORY64:
903-
if options.target.startswith('wasm32'):
904-
exit_with_error('wasm32 target is not compatible with -sMEMORY64')
905-
diagnostics.warning('experimental', '-sMEMORY64 is still experimental. Many features may not work.')
902+
if settings.MEMORY64 and options.target.startswith('wasm32'):
903+
exit_with_error('wasm32 target is not compatible with -sMEMORY64')
906904

907905
# Wasm SjLj cannot be used with Emscripten EH
908906
if settings.SUPPORT_LONGJMP == 'wasm':

test/common.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,6 @@ def metafunc(self, with_wasm64, *args, **kwargs):
484484
if with_wasm64:
485485
self.require_wasm64()
486486
self.set_setting('MEMORY64')
487-
self.emcc_args.append('-Wno-experimental')
488487
f(self, *args, **kwargs)
489488
else:
490489
f(self, *args, **kwargs)

test/test_browser.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5364,7 +5364,7 @@ def test_full_js_library_strict(self):
53645364
# Tests the AudioWorklet demo
53655365
@parameterized({
53665366
'': ([],),
5367-
'memory64': (['-sMEMORY64', '-Wno-experimental'],),
5367+
'memory64': (['-sMEMORY64'],),
53685368
'with_fs': (['--preload-file', test_file('hello_world.c') + '@/'],),
53695369
'closure': (['--closure', '1', '-Oz'],),
53705370
'asyncify': (['-sASYNCIFY'],),
@@ -5625,7 +5625,6 @@ class browser64(browser):
56255625
def setUp(self):
56265626
super().setUp()
56275627
self.set_setting('MEMORY64')
5628-
self.emcc_args.append('-Wno-experimental')
56295628
self.require_wasm64()
56305629

56315630

@@ -5635,7 +5634,6 @@ def setUp(self):
56355634
self.set_setting('MEMORY64')
56365635
self.set_setting('INITIAL_MEMORY', '4200mb')
56375636
self.set_setting('GLOBAL_BASE', '4gb')
5638-
self.emcc_args.append('-Wno-experimental')
56395637
# Without this we get a warning about GLOBAL_BASE being ignored when used with SIDE_MODULE
56405638
self.emcc_args.append('-Wno-unused-command-line-argument')
56415639
self.require_wasm64()
@@ -5647,7 +5645,6 @@ def setUp(self):
56475645
self.set_setting('MEMORY64')
56485646
self.set_setting('INITIAL_MEMORY', '2200mb')
56495647
self.set_setting('GLOBAL_BASE', '2gb')
5650-
self.emcc_args.append('-Wno-experimental')
56515648
self.require_wasm64()
56525649

56535650

test/test_other.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -821,7 +821,7 @@ def test_print_resource_dir(self):
821821
@parameterized({
822822
'': [[]],
823823
'lto': [['-flto']],
824-
'wasm64': [['-sMEMORY64', '-Wno-experimental']],
824+
'wasm64': [['-sMEMORY64']],
825825
})
826826
def test_print_file_name(self, args):
827827
# make sure the corresponding version of libc exists in the cache
@@ -3223,7 +3223,7 @@ def test_embind_closure_no_dynamic_execution(self):
32233223
'no_utf8': ['-sEMBIND_STD_STRING_IS_UTF8=0'],
32243224
'no_dynamic': ['-sDYNAMIC_EXECUTION=0'],
32253225
'aot_js': ['-sDYNAMIC_EXECUTION=0', '-sEMBIND_AOT', '-DSKIP_UNBOUND_TYPES'],
3226-
'wasm64': ['-sMEMORY64', '-Wno-experimental'],
3226+
'wasm64': ['-sMEMORY64'],
32273227
'2gb': ['-sINITIAL_MEMORY=2200mb', '-sGLOBAL_BASE=2gb'],
32283228
})
32293229
@parameterized({
@@ -3439,7 +3439,7 @@ def test_embind_tsgen_bigint(self):
34393439
def test_embind_tsgen_memory64(self):
34403440
# Check that when memory64 is enabled longs & unsigned longs are mapped to bigint in the generated TS bindings
34413441
self.run_process([EMXX, test_file('other/embind_tsgen_memory64.cpp'),
3442-
'-lembind', '--emit-tsd', 'embind_tsgen_memory64.d.ts', '-sMEMORY64', '-Wno-experimental'] +
3442+
'-lembind', '--emit-tsd', 'embind_tsgen_memory64.d.ts', '-sMEMORY64'] +
34433443
self.get_emcc_args())
34443444
self.assertFileContents(test_file('other/embind_tsgen_memory64.d.ts'), read_file('embind_tsgen_memory64.d.ts'))
34453445

@@ -7052,7 +7052,7 @@ def test_failing_growth_wasm64(self):
70527052
}
70537053
}
70547054
''')
7055-
self.do_runf('test.c', 'done\n', emcc_args=['-sGLOBAL_BASE=2Gb', '-sTOTAL_MEMORY=4Gb', '-sMAXIMUM_MEMORY=5Gb', '-sALLOW_MEMORY_GROWTH', '-sMEMORY64', '-Wno-experimental'])
7055+
self.do_runf('test.c', 'done\n', emcc_args=['-sGLOBAL_BASE=2Gb', '-sTOTAL_MEMORY=4Gb', '-sMAXIMUM_MEMORY=5Gb', '-sALLOW_MEMORY_GROWTH', '-sMEMORY64'])
70567056

70577057
def test_libcxx_minimal(self):
70587058
create_file('vector.cpp', r'''
@@ -8745,7 +8745,7 @@ def strip_numeric_suffixes(funcname):
87458745
'Os_mr': (['-Os', '-sMINIMAL_RUNTIME'], [], [], 74), # noqa
87468746
# EVAL_CTORS also removes the __wasm_call_ctors function
87478747
'Oz-ctors': (['-Oz', '-sEVAL_CTORS'], [], []), # noqa
8748-
'64': (['-Oz', '-sMEMORY64', '-Wno-experimental'], [], []), # noqa
8748+
'64': (['-Oz', '-sMEMORY64'], [], []), # noqa
87498749
# WasmFS should not be fully linked into a minimal program.
87508750
'wasmfs': (['-Oz', '-sWASMFS'], [], []), # noqa
87518751
})
@@ -12838,7 +12838,7 @@ def test_this_in_dyncall(self, args):
1283812838

1283912839
@requires_wasm64
1284012840
def test_this_in_dyncall_memory64(self):
12841-
self.do_run_in_out_file_test('no_this_in_dyncall.c', emcc_args=['--js-library', test_file('no_this_in_dyncall.js'), '-sMEMORY64', '-Wno-experimental'])
12841+
self.do_run_in_out_file_test('no_this_in_dyncall.c', emcc_args=['--js-library', test_file('no_this_in_dyncall.js'), '-sMEMORY64'])
1284212842

1284312843
# Tests that dynCalls are produced in Closure-safe way in DYNCALLS mode when no actual dynCalls are used
1284412844
@parameterized({
@@ -14081,7 +14081,7 @@ def test_extended_const(self):
1408114081
})
1408214082
@requires_wasm64
1408314083
def test_memory64(self, args):
14084-
self.do_run_in_out_file_test('core/test_hello_argc.c', args=['hello', 'world'], emcc_args=['-sMEMORY64', '-Wno-experimental'] + args)
14084+
self.do_run_in_out_file_test('core/test_hello_argc.c', args=['hello', 'world'], emcc_args=['-sMEMORY64'] + args)
1408514085

1408614086
# Verfy that MAIN_MODULE=1 (which includes all symbols from all libraries)
1408714087
# works with -sPROXY_POSIX_SOCKETS and -Oz, both of which affect linking of

0 commit comments

Comments
 (0)