diff options
author | David Kilroy <kilroyd@googlemail.com> | 2023-03-21 12:09:53 +0000 |
---|---|---|
committer | Kim Gräsman <kim.grasman@gmail.com> | 2023-04-13 21:58:24 +0200 |
commit | 3cfc485fc81e18764f096a42322d8cd330c67c04 (patch) | |
tree | 4fa7777282cc5d78fa2043efc1f9c6c15f518ce7 | |
parent | e7a0577dd6ca968323ee5ea3f82d77a9694ff6f9 (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.imp | 43 |
1 files changed, 39 insertions, 4 deletions
@@ -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 ] }, ] |