Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon

Libc++ 9 releases with explicit support for WebAssembly System Interface (WASI)

Save for later
  • 2 min read
  • 14 Oct 2019

article-image

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.

Improvements in Libc ++ 9

  • Minor fixes to std::chrono operators.
  • libc++ now correctly handles Objective-C++ ARC qualifiers in std::is_pointer.
  • Front and back methods are added to std::span
  • std::to_chars now adds leading zeros.
  • Ensure std::tuple is trivially constructible.
  • std::aligned_union now works in C++03.
  • Output of nullptr to std::basic_ostream is formatted properly.
  • P0608 is now implemented as a sane variant converting constructor.
  • Unlock access to the largest independent learning library in Tech for FREE!
    Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
    Renews at $19.99/month. Cancel anytime
  • std::is_unbounded_array and std::is_bounded_array added to type traits.
  • std::atomic now includes many new features and specialization
  • Added std::midpoint and std::lerp math functions and std::is_constant_evaluated function
  • Erase-like algorithms now return size type.
  • Added contains method to container types.
  • std::swap is now a constant expression.
  • std::move and std::forward now both work in C++03 mode.


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