Stop treating -static as overriding -fPIC: they are distinct.
[lldb.git] / libcxx / TODO.TXT
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 * Enable mixing of clang and GCC atomics internally. Currently some
25   parts of libc++ use atomics only when clang provides them.
26   (see memory@5380 for an example)
27 * Audit use of libatomic builtins in <atomic> with GCC.
28 * future should use <atomic> for synchronization.
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 * Convert failure tests to use Clang Verify.
46 * Document support (or lack of) for C++11 libraries in C++03.
47 * Document supported compilers.