| 51 | * C++ source files are compiled with `-std=c++17` (which grants most, if not all, C++17 language features) |
| 52 | * These files are detected by having `.cpp`, `.cxx` or `.cc` as their extension |
| 53 | * Runtime: |
| 54 | * RTTI (`type_info` and `typeid`, no `dynamic_cast` at the moment) |
| 55 | * Thread-safe local static variable initialization |
| 56 | * Global static variable initialization/destruction |
| 57 | * No support for exception at the moment, though `try`/`catch`/`throw` are redefined and should not break code |
| 58 | * Standard library: |
| 59 | * All containers except `forward_list` (some algorithms missing, such as sort() on `list`), including adaptors |
| 60 | * Most of utilities |
| 61 | * `<type_traits>`, `<ratio>` complete |
| 62 | * `<utility>`, `<tuple>`, `<memory>`, `<function>`, `<chrono>`, `<bitset>` mostly complete |
| 63 | * `<scoped_allocator>` not implemented |
| 64 | * I/O library is complete, but does not throw and ignores localization |
| 65 | * `<locale>` is defined, but is a stub (implementing it will add its functionality to I/O types) |
| 66 | * Threading mostly complete, timed try_locks block |
| 67 | * Iterator traits and adaptors complete |
| 68 | * Numerics have only `<numeric>` complete and `<random>` partially implemented (missing some distributions and adaptors) |
| 69 | * Partial `<algorithm>` implementation |
| 70 | * `<regex>` and `<atomic>` not implemented |
| 71 | * `<string>` implemented, but wide strings are untested (missing wide string functions in libc) |
| 72 | * C library header wrappers are only partially implemented because features are missing from libc |
| 73 | * Types from diagnostics library (`<exception>`, `<stdexcept>`, `<system_error>`) are implemented, but exception handling does not work |