summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NOTES.TXT28
-rw-r--r--RELEASE.TXT11
-rw-r--r--TODO.TXT8
-rw-r--r--test/libcxx/double_include.sh.cpp89
4 files changed, 98 insertions, 38 deletions
diff --git a/NOTES.TXT b/NOTES.TXT
new file mode 100644
index 000000000..f0597de64
--- /dev/null
+++ b/NOTES.TXT
@@ -0,0 +1,28 @@
+//===---------------------------------------------------------------------===//
+// Notes relating to various libc++ tasks
+//===---------------------------------------------------------------------===//
+
+This file contains notes about various libc++ tasks and processes.
+
+//===---------------------------------------------------------------------===//
+// Post-Release TODO
+//===---------------------------------------------------------------------===//
+
+These notes contain a list of things that must be done after branching for
+an LLVM release.
+
+1. Update _LIBCPP_VERSION in `__config`
+2. Update the __libcpp_version file.
+3. Update the version number in `docs/conf.py`
+4. Create ABI lists for the previous release under `lib/abi`
+
+//===---------------------------------------------------------------------===//
+// Adding a new header TODO
+//===---------------------------------------------------------------------===//
+
+These notes contain a list of things that must be done upon adding a new header
+to libc++.
+
+1. Add a test under `test/libcxx` that the header defines `_LIBCPP_VERSION`.
+2. Update `test/libcxx/double_include.sh.cpp` to include the new header.
+3. Create a submodule in `include/module.modulemap` for the new header.
diff --git a/RELEASE.TXT b/RELEASE.TXT
deleted file mode 100644
index d33bc7d4a..000000000
--- a/RELEASE.TXT
+++ /dev/null
@@ -1,11 +0,0 @@
-//===---------------------------------------------------------------------===//
-// Post-Release TODO
-//===---------------------------------------------------------------------===//
-
-These notes contain a list of things that must be done after branching for
-an LLVM release.
-
-1. Update _LIBCPP_VERSION in `__config`
-2. Update the __libcpp_version file.
-3. Update the version number in `docs/conf.py`
-4. Create ABI lists for the previous release under `lib/abi`
diff --git a/TODO.TXT b/TODO.TXT
index b14780b5b..998f81ba6 100644
--- a/TODO.TXT
+++ b/TODO.TXT
@@ -1,10 +1,5 @@
This is meant to be a general place to list things that should be done "someday"
-
-ABI Related Tasks
-=================
-* Explicitly manage and verify symbols exported from the dylib.
-
CXX Runtime Library Tasks
=========================
* Fix that CMake always link to /usr/lib/libc++abi.dylib on OS X.
@@ -19,7 +14,6 @@ Atomic Related Tasks
Test Suite Tasks
================
-* Move all libc++ specific tests from test/std into test/libcxx.
* Improve the quality and portability of the locale test data.
* Convert failure tests to use Clang Verify.
@@ -29,6 +23,4 @@ Misc Tasks
* run clang-tidy on libc++
* Document the "conditionally-supported" bits of libc++
* Look at basic_string's move assignment operator, re LWG 2063 and POCMA
-* libc++ is missing try_emplace
* Put a static_assert in std::allocator to deny const/volatile types (LWG 2447)
-
diff --git a/test/libcxx/double_include.sh.cpp b/test/libcxx/double_include.sh.cpp
index 99767cf1b..46dfc999b 100644
--- a/test/libcxx/double_include.sh.cpp
+++ b/test/libcxx/double_include.sh.cpp
@@ -15,14 +15,18 @@
// RUN: %cxx -o %t.exe %t.first.o %t.second.o %flags %link_flags
// RUN: %run
-
// Prevent <ext/hash_map> from generating deprecated warnings for this test.
#if defined(__DEPRECATED)
#undef __DEPRECATED
#endif
+// Top level headers
#include <algorithm>
+#include <any>
#include <array>
+#ifndef _LIBCPP_HAS_NO_THREADS
+#include <atomic>
+#endif
#include <bitset>
#include <cassert>
#include <ccomplex>
@@ -51,25 +55,21 @@
#include <cstring>
#include <ctgmath>
#include <ctime>
+#include <ctype.h>
#include <cwchar>
#include <cwctype>
#include <deque>
+#include <errno.h>
#include <exception>
-#include <experimental/algorithm>
-#include <experimental/any>
-#include <experimental/chrono>
-#include <experimental/dynarray>
-#include <experimental/optional>
-#include <experimental/string_view>
-#include <experimental/system_error>
-#include <experimental/type_traits>
-#include <experimental/utility>
-#include <ext/hash_map>
-#include <ext/hash_set>
+#include <float.h>
#include <forward_list>
#include <fstream>
#include <functional>
+#ifndef _LIBCPP_HAS_NO_THREADS
+#include <future>
+#endif
#include <initializer_list>
+#include <inttypes.h>
#include <iomanip>
#include <ios>
#include <iosfwd>
@@ -77,12 +77,19 @@
#include <istream>
#include <iterator>
#include <limits>
+#include <limits.h>
#include <list>
#include <locale>
+#include <locale.h>
#include <map>
+#include <math.h>
#include <memory>
+#ifndef _LIBCPP_HAS_NO_THREADS
+#include <mutex>
+#endif
#include <new>
#include <numeric>
+#include <optional>
#include <ostream>
#include <queue>
#include <random>
@@ -90,14 +97,28 @@
#include <regex>
#include <scoped_allocator>
#include <set>
+#include <setjmp.h>
+#ifndef _LIBCPP_HAS_NO_THREADS
+#include <shared_mutex>
+#endif
#include <sstream>
#include <stack>
+#include <stdbool.h>
+#include <stddef.h>
#include <stdexcept>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <streambuf>
#include <string>
+#include <string.h>
+#include <string_view>
#include <strstream>
#include <system_error>
#include <tgmath.h>
+#ifndef _LIBCPP_HAS_NO_THREADS
+#include <thread>
+#endif
#include <tuple>
#include <typeindex>
#include <typeinfo>
@@ -106,15 +127,45 @@
#include <unordered_set>
#include <utility>
#include <valarray>
+#include <variant>
#include <vector>
+#include <wchar.h>
+#include <wctype.h>
-#ifndef _LIBCPP_HAS_NO_THREADS
-#include <atomic>
-#include <future>
-#include <mutex>
-#include <shared_mutex>
-#include <thread>
-#endif
+// experimental headers
+#if __cplusplus >= 201103L
+#include <experimental/algorithm>
+#include <experimental/any>
+#include <experimental/chrono>
+#include <experimental/deque>
+#include <experimental/dynarray>
+#include <experimental/filesystem>
+#include <experimental/forward_list>
+#include <experimental/functional>
+#include <experimental/iterator>
+#include <experimental/list>
+#include <experimental/map>
+#include <experimental/memory_resource>
+#include <experimental/numeric>
+#include <experimental/optional>
+#include <experimental/propagate_const>
+#include <experimental/ratio>
+#include <experimental/regex>
+#include <experimental/set>
+#include <experimental/string>
+#include <experimental/string_view>
+#include <experimental/system_error>
+#include <experimental/tuple>
+#include <experimental/type_traits>
+#include <experimental/unordered_map>
+#include <experimental/unordered_set>
+#include <experimental/utility>
+#include <experimental/vector>
+#endif // __cplusplus >= 201103L
+
+// extended headers
+#include <ext/hash_map>
+#include <ext/hash_set>
#if defined(WITH_MAIN)
int main() {}