Home | History | Annotate | Download | only in libcxx
      1 This is meant to be a general place to list things that should be done "someday"
      2 
      3 ABI Related Tasks
      4 =================
      5 * Explicitly manage and verify symbols exported from the dylib.
      6 * Explore using namespaces for managing symbol visibility.
      7 * Introduce and document ABI versioning/evolution policy.
      8 
      9 CXX Runtime Library Tasks
     10 =========================
     11 * Cleanup #ifdef hell in sources files that supports the different ABI libraries.
     12 * Fix that CMake always link to /usr/lib/libc++abi.dylib on OS X.
     13 * Fix selection of ABI symbol list on OS X.
     14 * Have CMake generate linker scripts for libc++.so that it properly links the
     15   runtime library.
     16 * Look into mirroring libsupc++'s typeinfo vtable layout when libsupc++/libstdc++
     17   is used as the runtime library.
     18 * Audit libraries that CMake links into libc++. Are they all required?
     19 * Investigate and document interoperability between libc++ and libstdc++ on
     20   linux. Do this for every supported c++ runtime library.
     21 
     22 Atomic Related Tasks
     23 ====================
     24 * Support <atomic> in C++03 (needed for internal use).
     25 * Audit use of libatomic builtins in <atomic> with GCC.
     26 * future should use <atomic> for synchronization.
     27 * call_once should use <atomic> for synchronization.
     28 * Audit shared_ptr use of <atomic>
     29 
     30 Test Suite Tasks
     31 ================
     32 * Get test suite passing in C++03.
     33 * Move all libc++ specific tests from test/std into test/libcxx.
     34 * Improve how LIT handles compiler warnings.
     35 * Improve the quality and portability of the locale test data.
     36 
     37 Misc Tasks
     38 ==========
     39 * Find all sequences of >2 underscores and eradicate them.
     40 * run clang-tidy on libc++
     41 * Document the "conditionally-supported" bits of libc++
     42 * Look at basic_string's move assignment operator, re LWG 2063 and POCMA
     43 * libc++ is missing try_emplace
     44 * Put a static_assert in std::allocator to deny const/volatile types (LWG 2447)
     45 * Investigate the effect of using __decltype instead of __typeof__ to provide
     46   decltype in C++03. What code could be broken by this change?
     47 * Convert failure tests to use Clang Verify.
     48 * Document support (or lack of) for C++11 libraries in C++03.
     49 * Document supported compilers.
     50