Výbor řídící vývoj sady kompilátorů GCC (GCC Steering Committee) schválil zahrnutí backendu pro WebAssembly do kódu GCC. Rozhodnutí se týká obecného schválení dodávky backendu WebAssembly jako součásti GCC. Otázky schválení implementace a přijetí předaného kódu bude řešit samostatně tým zodpovědný za revizi.
Backend umožní použít GCC k překladu zdrojového kódu v jazycích C/C++ do mezikódu WebAssembly. Kompilaci do WebAssembly lze použít pro integraci s projekty JavaScript, spuštění v webovém prohlížeči, použití v Node.js nebo vytvoření samostatných multiplatformních aplikací, které lze spouštět pomocí runtime WASM. Backend funguje jako generátor kódu, který používá mezikód připravený standardními front-endy GCC, které analyzují zdrojový kód v podporovaných programovacích jazycích a poskytují specifické optimalizace.
Navrhovaná implementace pro zahrnutí do GCC používá jako externí závislosti nástroje wabt, implementaci libc pro WebAssembly (wasi-libc) a linker wasm-ld. Ne všechna plánovaná funkčnost je implementována, například chybí podpora ladících informací, odkazových typů, tabulek, výjimek, strukturování a operací setjump/longjump.
Zdroj: opennet.ru
