| This is meant to be a general place to list things that should be done "someday" |
| |
| 3.8 Release Goals |
| ================= |
| * LFTS v1 (EricWF, MClow) |
| * Filesystem TS (EricWF) |
| * ASIO TS (MClow) |
| * <regex> Improvements (MClow) |
| * Setup ABI Versioning policy (EricWF) |
| * Fix PR19302 - Fix UB in list and __tree. |
| |
| |
| ABI Related Tasks |
| ================= |
| * Explicitly manage and verify symbols exported from the dylib. |
| * Explore using namespaces for managing symbol visibility. |
| * Introduce and document ABI versioning/evolution policy. |
| |
| CXX Runtime Library Tasks |
| ========================= |
| * Cleanup #ifdef hell in sources files that supports the different ABI libraries. |
| * Fix that CMake always link to /usr/lib/libc++abi.dylib on OS X. |
| * Fix selection of ABI symbol list on OS X. |
| * Have CMake generate linker scripts for libc++.so that it properly links the |
| runtime library. |
| * Look into mirroring libsupc++'s typeinfo vtable layout when libsupc++/libstdc++ |
| is used as the runtime library. |
| * Audit libraries that CMake links into libc++. Are they all required? |
| * Investigate and document interoperability between libc++ and libstdc++ on |
| linux. Do this for every supported c++ runtime library. |
| |
| Atomic Related Tasks |
| ==================== |
| * Enable mixing of clang and GCC atomics internally. Currently some |
| parts of libc++ use atomics only when clang provides them. |
| (see memory@5380 for an example) |
| * Audit use of libatomic builtins in <atomic> with GCC. |
| * future should use <atomic> for synchronization. |
| |
| Test Suite Tasks |
| ================ |
| * Move all libc++ specific tests from test/std into test/libcxx. |
| * Improve how LIT handles compiler warnings. |
| * Improve the quality and portability of the locale test data. |
| * Convert failure tests to use Clang Verify. |
| |
| Misc Tasks |
| ========== |
| * Find all sequences of >2 underscores and eradicate them. |
| * run clang-tidy on libc++ |
| * Document the "conditionally-supported" bits of libc++ |
| * Look at basic_string's move assignment operator, re LWG 2063 and POCMA |
| * libc++ is missing try_emplace |
| * Put a static_assert in std::allocator to deny const/volatile types (LWG 2447) |
| * Document support (or lack of) for C++11 libraries in C++03. |
| * Document supported compilers. |