Home | History | Annotate | Download | only in llvm-libc++
      1 This is meant to be a general place to list things that should be done "someday"
      2 
      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 
     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 ====================
     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)
     37 * Audit use of libatomic builtins in <atomic> with GCC.
     38 * future should use <atomic> for synchronization.
     39 
     40 Test Suite Tasks
     41 ================
     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.
     45 * Convert failure tests to use Clang Verify.
     46 
     47 Misc Tasks
     48 ==========
     49 * Find all sequences of >2 underscores and eradicate them.
     50 * run clang-tidy on libc++
     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)
     55 * Document support (or lack of) for C++11 libraries in C++03.
     56 * Document supported compilers.
     57