#else
di << "Architecture: ARM 32-bit\n";
#endif
+#elif defined(__EMSCRIPTEN__)
+#if defined(__LP64__)
+ di << "Architecture: WASM 64-bit\n";
+ #else
+ di << "Architecture: WASM 32-bit\n";
+ #endif
#else
di << "Architecture: unrecognized\n";
#endif
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
#include <sys/param.h>
di << "OS: BSD (BSD = " << BSD << ")\n";
+#elif defined(__EMSCRIPTEN__)
+ di << "OS: WebAssembly (Emscripten SDK " << __EMSCRIPTEN_major__ << "." << __EMSCRIPTEN_minor__ << "." << __EMSCRIPTEN_tiny__ << ")\n";
#else
di << "OS: unrecognized\n";
#endif