On Friday, Libc++ version 9 was released; libc++ is an implementation of the C++ standard library, targeting C++11, C++14 and above. Libc++ 9 is a part of the LLVM Compiler Infrastructure, release 9.0.0 which was made available in September. Libc++ 9 adds explicit support for WebAssembly System Interface (WASI) along with major improvements from the previous release and new feature work. Libc++ has also dropped support for GCC 4.9; they now support GCC 5.1 and above.
WASI is a system interface for the WebAssembly platform. Currently, it supports sandboxed access to the filesystem via a POSIX-like API, as well as other basic interfaces like argv, environment variables, random numbers, and timers. There are three popular implementations of WASI: wasmtime, Mozilla’s WebAssembly runtime, Lucet, Fastly’s WebAssembly runtime, and a browser polyfill.
People on Twitter were quite happy with WASI support in libc ++
https://twitter.com/Stephen_d2005/status/1178489876070535168
https://twitter.com/iwillrunoutofsp/status/1182702301062008832
You can also see the release notes for additional information.
Introducing Weld, a runtime written in Rust and LLVM for cross-library optimizations
LLVM 9 releases with official RISC-V target support, asm goto, Clang 9, and more
LLVM’s Clang 9.0 to ship with experimental support for OpenCL C++17, asm goto initial support and more.
LLVMs Arm stack protection feature turns ineffective when the stack is re-allocated