Skip to content

Commit

Permalink
[wasm64] Remove the experimental warning from -sMEMORY64
Browse files Browse the repository at this point in the history
Memory64 is now at phase4 and IIUC all emscripten features now work with
it.
  • Loading branch information
sbc100 committed Nov 6, 2024
1 parent 41de190 commit 8f70da8
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 13 deletions.
1 change: 0 additions & 1 deletion emcc.py
Original file line number Diff line number Diff line change
Expand Up @@ -902,7 +902,6 @@ def phase_setup(options, state, newargs):
if settings.MEMORY64:
if options.target.startswith('wasm32'):
exit_with_error('wasm32 target is not compatible with -sMEMORY64')
diagnostics.warning('experimental', '-sMEMORY64 is still experimental. Many features may not work.')

# Wasm SjLj cannot be used with Emscripten EH
if settings.SUPPORT_LONGJMP == 'wasm':
Expand Down
1 change: 0 additions & 1 deletion test/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -484,7 +484,6 @@ def metafunc(self, with_wasm64, *args, **kwargs):
if with_wasm64:
self.require_wasm64()
self.set_setting('MEMORY64')
self.emcc_args.append('-Wno-experimental')
f(self, *args, **kwargs)
else:
f(self, *args, **kwargs)
Expand Down
5 changes: 1 addition & 4 deletions test/test_browser.py
Original file line number Diff line number Diff line change
Expand Up @@ -5364,7 +5364,7 @@ def test_full_js_library_strict(self):
# Tests the AudioWorklet demo
@parameterized({
'': ([],),
'memory64': (['-sMEMORY64', '-Wno-experimental'],),
'memory64': (['-sMEMORY64'],),
'with_fs': (['--preload-file', test_file('hello_world.c') + '@/'],),
'closure': (['--closure', '1', '-Oz'],),
'asyncify': (['-sASYNCIFY'],),
Expand Down Expand Up @@ -5625,7 +5625,6 @@ class browser64(browser):
def setUp(self):
super().setUp()
self.set_setting('MEMORY64')
self.emcc_args.append('-Wno-experimental')
self.require_wasm64()


Expand All @@ -5635,7 +5634,6 @@ def setUp(self):
self.set_setting('MEMORY64')
self.set_setting('INITIAL_MEMORY', '4200mb')
self.set_setting('GLOBAL_BASE', '4gb')
self.emcc_args.append('-Wno-experimental')
# Without this we get a warning about GLOBAL_BASE being ignored when used with SIDE_MODULE
self.emcc_args.append('-Wno-unused-command-line-argument')
self.require_wasm64()
Expand All @@ -5647,7 +5645,6 @@ def setUp(self):
self.set_setting('MEMORY64')
self.set_setting('INITIAL_MEMORY', '2200mb')
self.set_setting('GLOBAL_BASE', '2gb')
self.emcc_args.append('-Wno-experimental')
self.require_wasm64()


Expand Down
14 changes: 7 additions & 7 deletions test/test_other.py
Original file line number Diff line number Diff line change
Expand Up @@ -821,7 +821,7 @@ def test_print_resource_dir(self):
@parameterized({
'': [[]],
'lto': [['-flto']],
'wasm64': [['-sMEMORY64', '-Wno-experimental']],
'wasm64': [['-sMEMORY64']],
})
def test_print_file_name(self, args):
# make sure the corresponding version of libc exists in the cache
Expand Down Expand Up @@ -3223,7 +3223,7 @@ def test_embind_closure_no_dynamic_execution(self):
'no_utf8': ['-sEMBIND_STD_STRING_IS_UTF8=0'],
'no_dynamic': ['-sDYNAMIC_EXECUTION=0'],
'aot_js': ['-sDYNAMIC_EXECUTION=0', '-sEMBIND_AOT', '-DSKIP_UNBOUND_TYPES'],
'wasm64': ['-sMEMORY64', '-Wno-experimental'],
'wasm64': ['-sMEMORY64'],
'2gb': ['-sINITIAL_MEMORY=2200mb', '-sGLOBAL_BASE=2gb'],
})
@parameterized({
Expand Down Expand Up @@ -3439,7 +3439,7 @@ def test_embind_tsgen_bigint(self):
def test_embind_tsgen_memory64(self):
# Check that when memory64 is enabled longs & unsigned longs are mapped to bigint in the generated TS bindings
self.run_process([EMXX, test_file('other/embind_tsgen_memory64.cpp'),
'-lembind', '--emit-tsd', 'embind_tsgen_memory64.d.ts', '-sMEMORY64', '-Wno-experimental'] +
'-lembind', '--emit-tsd', 'embind_tsgen_memory64.d.ts', '-sMEMORY64'] +
self.get_emcc_args())
self.assertFileContents(test_file('other/embind_tsgen_memory64.d.ts'), read_file('embind_tsgen_memory64.d.ts'))

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

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

@requires_wasm64
def test_this_in_dyncall_memory64(self):
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'])
self.do_run_in_out_file_test('no_this_in_dyncall.c', emcc_args=['--js-library', test_file('no_this_in_dyncall.js'), '-sMEMORY64'])

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

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

0 comments on commit 8f70da8

Please sign in to comment.