Add a metadce C++ test that includes LTO. NFC
diff --git a/test/other/metadce/test_metadce_cxx_lto.exports b/test/other/metadce/test_metadce_cxx_lto.exports
new file mode 100644
index 0000000..e2f9c0d
--- /dev/null
+++ b/test/other/metadce/test_metadce_cxx_lto.exports
@@ -0,0 +1,14 @@
+__cxa_is_pointer_type
+__indirect_function_table
+__wasm_call_ctors
+_emscripten_stack_alloc
+_emscripten_stack_restore
+_emscripten_timeout
+dynCall_iiiiiijj
+dynCall_iiiiij
+dynCall_iiiiijj
+dynCall_jiji
+dynCall_viijii
+emscripten_stack_get_current
+main
+memory
diff --git a/test/other/metadce/test_metadce_cxx_lto.gzsize b/test/other/metadce/test_metadce_cxx_lto.gzsize
new file mode 100644
index 0000000..d83cf26
--- /dev/null
+++ b/test/other/metadce/test_metadce_cxx_lto.gzsize
@@ -0,0 +1 @@
+8661
diff --git a/test/other/metadce/test_metadce_cxx_lto.imports b/test/other/metadce/test_metadce_cxx_lto.imports
new file mode 100644
index 0000000..b378556
--- /dev/null
+++ b/test/other/metadce/test_metadce_cxx_lto.imports
@@ -0,0 +1,13 @@
+env._abort_js
+env._emscripten_memcpy_js
+env._emscripten_runtime_keepalive_clear
+env._setitimer_js
+env._tzset_js
+env.emscripten_resize_heap
+wasi_snapshot_preview1.environ_get
+wasi_snapshot_preview1.environ_sizes_get
+wasi_snapshot_preview1.fd_close
+wasi_snapshot_preview1.fd_read
+wasi_snapshot_preview1.fd_seek
+wasi_snapshot_preview1.fd_write
+wasi_snapshot_preview1.proc_exit
diff --git a/test/other/metadce/test_metadce_cxx_lto.jssize b/test/other/metadce/test_metadce_cxx_lto.jssize
new file mode 100644
index 0000000..8428474
--- /dev/null
+++ b/test/other/metadce/test_metadce_cxx_lto.jssize
@@ -0,0 +1 @@
+21141
diff --git a/test/other/metadce/test_metadce_cxx_lto.sent b/test/other/metadce/test_metadce_cxx_lto.sent
new file mode 100644
index 0000000..2e608dc
--- /dev/null
+++ b/test/other/metadce/test_metadce_cxx_lto.sent
@@ -0,0 +1,13 @@
+_abort_js
+_emscripten_memcpy_js
+_emscripten_runtime_keepalive_clear
+_setitimer_js
+_tzset_js
+emscripten_resize_heap
+environ_get
+environ_sizes_get
+fd_close
+fd_read
+fd_seek
+fd_write
+proc_exit
diff --git a/test/other/metadce/test_metadce_cxx_lto.size b/test/other/metadce/test_metadce_cxx_lto.size
new file mode 100644
index 0000000..ecfef3a
--- /dev/null
+++ b/test/other/metadce/test_metadce_cxx_lto.size
@@ -0,0 +1 @@
+129117
diff --git a/test/test_other.py b/test/test_other.py
index df7e7b5..f65cd08 100644
--- a/test/test_other.py
+++ b/test/test_other.py
@@ -8668,13 +8668,14 @@
     'mangle':   (['-O2', '-fexceptions',
                   '-sDEMANGLE_SUPPORT', '-Wno-deprecated'], [], ['waka']), # noqa
     # Wasm EH's code size increase is smaller than that of Emscripten EH
-    'except_wasm':   (['-O2', '-fwasm-exceptions'], [], ['waka']), # noqa
-    'except_wasm_exnref':   (['-O2', '-fwasm-exceptions', '-sWASM_EXNREF'], [], ['waka']), # noqa
+    'except_wasm':   (['-O2', '-fwasm-exceptions'], [], ['waka']),
+    'except_wasm_exnref':   (['-O2', '-fwasm-exceptions', '-sWASM_EXNREF'], [], ['waka']),
     # eval_ctors 1 can partially optimize, but runs into getenv() for locale
     # code. mode 2 ignores those and fully optimizes out the ctors
-    'ctors1':    (['-O2', '-sEVAL_CTORS'],   [], ['waka']), # noqa
-    'ctors2':    (['-O2', '-sEVAL_CTORS=2'], [], ['waka']), # noqa
-    'wasmfs':    (['-O2', '-sWASMFS'],       [], ['waka']), # noqa
+    'ctors1':    (['-O2', '-sEVAL_CTORS'],   [], ['waka']),
+    'ctors2':    (['-O2', '-sEVAL_CTORS=2'], [], ['waka']),
+    'wasmfs':    (['-O2', '-sWASMFS'],       [], ['waka']),
+    'lto':       (['-O2', '-flto'],       [], ['waka']),
   })
   def test_metadce_cxx(self, *args):
     # do not check functions in this test as there are a lot of libc++ functions