Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions emcc.py
Original file line number Diff line number Diff line change
Expand Up @@ -899,10 +899,8 @@ def phase_setup(options, state, newargs):
if options.target.startswith('wasm64'):
default_setting('MEMORY64', 1)

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.')
if settings.MEMORY64 and options.target.startswith('wasm32'):
exit_with_error('wasm32 target is not compatible with -sMEMORY64')

# 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
Loading