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