Changelog: For C++2a Support: Add <span> header in libstdc++ top level (From C++2a Working Draft) If __cplusplus is greater than 201703L (indicates C++2a): To namespace std, add span class. The Definition of span used is https://en.cppreference.com/w/cpp/container/span. Notes: Current Static-Extent spans initialized with an ill-sized container will apply the span over the static extent, which may result in Undefined behavior if std::size(container) is less than the extent. This is consistent with the above definition, stating that initializing a static extent span with an ill-sized container is Undefined Behavior (same with ill-sized ranges). Changes: https://patch-diff.githubusercontent.com/raw/gcc-mirror/gcc/pull/31.patch