blob: bdb94de343d6baaa44c52e8cbf0ed48ce9f88c04 [file] [log] [blame]
Marshall Clow19158f22015-05-20 17:39:54 +00001This is meant to be a general place to list things that should be done "someday"
2
Eric Fiselier6804e8b2015-08-24 19:33:40 +000033.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 Fiselier97092d62015-05-22 02:23:22 +000013ABI 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
19CXX 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
32Atomic Related Tasks
33====================
Eric Fiselierdc68c692015-08-20 19:22:35 +000034* 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 Fiselier97092d62015-05-22 02:23:22 +000037* Audit use of libatomic builtins in <atomic> with GCC.
38* future should use <atomic> for synchronization.
Eric Fiselier97092d62015-05-22 02:23:22 +000039
40Test Suite Tasks
41================
Eric Fiselier97092d62015-05-22 02:23:22 +000042* 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 Fiselier0dec9d52015-09-04 22:57:00 +000045* Convert failure tests to use Clang Verify.
Eric Fiselier97092d62015-05-22 02:23:22 +000046
47Misc Tasks
48==========
Marshall Clow19158f22015-05-20 17:39:54 +000049* Find all sequences of >2 underscores and eradicate them.
50* run clang-tidy on libc++
Marshall Clow19158f22015-05-20 17:39:54 +000051* 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 Fiselierc4324b22015-06-02 01:25:34 +000055* Document support (or lack of) for C++11 libraries in C++03.
56* Document supported compilers.