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