Комитетът, управляващ разработката на набора компилатори GCC (GCC Steering Committee), одобри включването на бекенд за WebAssembly в кодовата база на GCC. Решението касае общото одобрение на предоставянето на WebAssembly бекенд в състава на GCC. Въпросите за одобрение на реализацията и приемането на предадения код ще бъдат решавани отделно от екипа, отговорен за рецензията.
Бекендът ще позволи на GCC да компилира изходен код на C/C++ в междинен код WebAssembly. Компилацията в WebAssembly може да се използва за интеграция с JavaScript проекти, стартиране в уеб браузъри, употреба в Node.js или създаване на независими многоплатформени приложения, изпълнявани с помощта на WASM runtime. Бекендът служи като генератор на код, използващ междинен код, подготвен от стандартните фронтендове на GCC, които анализират изходния код на поддържаните програмни езици и предоставят специфични оптимизации.
Предложената за включване в GCC реализация използва инструмента wabt, реализация на libc за WebAssembly (wasi-libc) и компоновчик wasm-ld като външни зависимости. Не всяка планирана функционалност е реализирана, например липсва поддръжка на отладъчна информация, референтни типове, таблици, изключения, структуриране и операции setjump/longjump.
Източник: opennet.ru
