Marshall Clow | 19158f2 | 2015-05-20 17:39:54 +0000 | [diff] [blame] | 1 | This is meant to be a general place to list things that should be done "someday" |
| 2 | |
Eric Fiselier | 6804e8b | 2015-08-24 19:33:40 +0000 | [diff] [blame] | 3 | 3.8 Release Goals |
| 4 | ================= |
| 5 | * LFTS v1 (EricWF, MClow) |
| 6 | * Filesystem TS (EricWF) |
| 7 | * ASIO TS (MClow) |
| 8 | * <regex> Improvements (MClow) |
| 9 | * Setup ABI Versioning policy (EricWF) |
| 10 | * Fix PR19302 - Fix UB in list and __tree. |
| 11 | |
| 12 | |
Eric Fiselier | 97092d6 | 2015-05-22 02:23:22 +0000 | [diff] [blame] | 13 | ABI Related Tasks |
| 14 | ================= |
| 15 | * Explicitly manage and verify symbols exported from the dylib. |
| 16 | * Explore using namespaces for managing symbol visibility. |
| 17 | * Introduce and document ABI versioning/evolution policy. |
| 18 | |
| 19 | CXX Runtime Library Tasks |
| 20 | ========================= |
| 21 | * Cleanup #ifdef hell in sources files that supports the different ABI libraries. |
| 22 | * Fix that CMake always link to /usr/lib/libc++abi.dylib on OS X. |
| 23 | * Fix selection of ABI symbol list on OS X. |
| 24 | * Have CMake generate linker scripts for libc++.so that it properly links the |
| 25 | runtime library. |
| 26 | * Look into mirroring libsupc++'s typeinfo vtable layout when libsupc++/libstdc++ |
| 27 | is used as the runtime library. |
| 28 | * Audit libraries that CMake links into libc++. Are they all required? |
| 29 | * Investigate and document interoperability between libc++ and libstdc++ on |
| 30 | linux. Do this for every supported c++ runtime library. |
| 31 | |
| 32 | Atomic Related Tasks |
| 33 | ==================== |
Eric Fiselier | dc68c69 | 2015-08-20 19:22:35 +0000 | [diff] [blame] | 34 | * Enable mixing of clang and GCC atomics internally. Currently some |
| 35 | parts of libc++ use atomics only when clang provides them. |
| 36 | (see memory@5380 for an example) |
Eric Fiselier | 97092d6 | 2015-05-22 02:23:22 +0000 | [diff] [blame] | 37 | * Audit use of libatomic builtins in <atomic> with GCC. |
| 38 | * future should use <atomic> for synchronization. |
Eric Fiselier | 97092d6 | 2015-05-22 02:23:22 +0000 | [diff] [blame] | 39 | |
| 40 | Test Suite Tasks |
| 41 | ================ |
Eric Fiselier | 97092d6 | 2015-05-22 02:23:22 +0000 | [diff] [blame] | 42 | * Move all libc++ specific tests from test/std into test/libcxx. |
| 43 | * Improve how LIT handles compiler warnings. |
| 44 | * Improve the quality and portability of the locale test data. |
Eric Fiselier | 0dec9d5 | 2015-09-04 22:57:00 +0000 | [diff] [blame] | 45 | * Convert failure tests to use Clang Verify. |
Eric Fiselier | 97092d6 | 2015-05-22 02:23:22 +0000 | [diff] [blame] | 46 | |
| 47 | Misc Tasks |
| 48 | ========== |
Marshall Clow | 19158f2 | 2015-05-20 17:39:54 +0000 | [diff] [blame] | 49 | * Find all sequences of >2 underscores and eradicate them. |
| 50 | * run clang-tidy on libc++ |
Marshall Clow | 19158f2 | 2015-05-20 17:39:54 +0000 | [diff] [blame] | 51 | * Document the "conditionally-supported" bits of libc++ |
| 52 | * Look at basic_string's move assignment operator, re LWG 2063 and POCMA |
| 53 | * libc++ is missing try_emplace |
| 54 | * Put a static_assert in std::allocator to deny const/volatile types (LWG 2447) |
Eric Fiselier | c4324b2 | 2015-06-02 01:25:34 +0000 | [diff] [blame] | 55 | * Document support (or lack of) for C++11 libraries in C++03. |
| 56 | * Document supported compilers. |