summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Kilroy <kilroyd@googlemail.com>2023-03-21 12:09:53 +0000
committerKim Gräsman <kim.grasman@gmail.com>2023-04-13 21:58:24 +0200
commit3cfc485fc81e18764f096a42322d8cd330c67c04 (patch)
tree4fa7777282cc5d78fa2043efc1f9c6c15f518ce7
parente7a0577dd6ca968323ee5ea3f82d77a9694ff6f9 (diff)
libcxx 16 private header dir mappings
Update the mappings based on the layout of libcxx 16 headers. There are a number of __$header directories which we can just map to <$header>. Not all of these map to an actual header, so avoid mapping __debug_utils, __fwd and __support. Keep std::nullptr_t mapping. Keep functional_base include and std::string symbol mappings for libc++ 13 (which is the version currently used by MacOS Ventura).
-rw-r--r--libcxx.imp43
1 files changed, 39 insertions, 4 deletions
diff --git a/libcxx.imp b/libcxx.imp
index b65202a..4578e1c 100644
--- a/libcxx.imp
+++ b/libcxx.imp
@@ -1,10 +1,45 @@
# libc++ headers
[
- { include: ["<__functional_base>", private, "<functional>", public ] },
{ include: ["<__mutex_base>", private, "<mutex>", public ] },
- { symbol: [ "std::declval", private, "<utility>", public ] },
- { symbol: [ "std::forward", private, "<utility>", public ] },
- { symbol: [ "std::move", private, "<utility>", public ] },
+
+ # For the following entries:
+ # cd llvm-project/libcxx/include ; find -type d -name "__*" | sort | sed -e "s#./__\(.*\)# { include: [\"@<__\1/.*>\", private, \"<\1>\", public ] },#"
+ #
+ # tweak tuple_dir entry, and comment out debug_utils, fwd, support
+ { include: ["@<__algorithm/.*>", private, "<algorithm>", public ] },
+ { include: ["@<__atomic/.*>", private, "<atomic>", public] },
+ { include: ["@<__algorithm/.*>", private, "<algorithm>", public ] },
+ { include: ["@<__bit/.*>", private, "<bit>", public ] },
+ { include: ["@<__charconv/.*>", private, "<charconv>", public ] },
+ { include: ["@<__chrono/.*>", private, "<chrono>", public ] },
+ { include: ["@<__compare/.*>", private, "<compare>", public ] },
+ { include: ["@<__concepts/.*>", private, "<concepts>", public ] },
+ { include: ["@<__coroutine/.*>", private, "<coroutine>", public ] },
+ #{ include: ["@<__debug_utils/.*>", private, "<debug_utils>", public ] },
+ { include: ["@<__expected/.*>", private, "<expected>", public ] },
+ { include: ["@<__filesystem/.*>", private, "<filesystem>", public ] },
+ { include: ["@<__format/.*>", private, "<format>", public ] },
+ { include: ["@<__functional/.*>", private, "<functional>", public ] },
+ #{ include: ["@<__fwd/.*>", private, "<fwd>", public ] },
+ { include: ["@<__ios/.*>", private, "<ios>", public ] },
+ { include: ["@<__iterator/.*>", private, "<iterator>", public ] },
+ { include: ["@<__memory/.*>", private, "<memory>", public ] },
+ { include: ["@<__memory_resource/.*>", private, "<memory_resource>", public ] },
+ { include: ["@<__numeric/.*>", private, "<numeric>", public ] },
+ { include: ["@<__random/.*>", private, "<random>", public ] },
+ { include: ["@<__ranges/.*>", private, "<ranges>", public ] },
+ { include: ["@<__string/.*>", private, "<string>", public ] },
+ #{ include: ["@<__support/.*>", private, "<support>", public ] },
+ { include: ["@<__thread/.*>", private, "<thread>", public ] },
+ { include: ["@<__tuple_dir/.*>", private, "<tuple>", public ] },
+ { include: ["@<__type_traits/.*>", private, "<type_traits>", public ] },
+ { include: ["@<__utility/.*>", private, "<utility>", public ] },
+ { include: ["@<__variant/.*>", private, "<variant>", public ] },
+
{ symbol: [ "std::nullptr_t", private, "<cstddef>", public ] },
+
+ # For older MacOS libc++ (13.0.0), on macOS Ventura (13.2.1)
+ { include: ["<__functional_base>", private, "<functional>", public ] },
+
{ symbol: [ "std::string", private, "<string>", public ] },
]