//===-- CanonicalIncludes.h - remap #include headers-------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "CanonicalIncludes.h"
#include "Headers.h"
#include "clang/Driver/Types.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Path.h"
#include <algorithm>

namespace clang {
namespace clangd {
namespace {
const char IWYUPragma[] = "// IWYU pragma: private, include ";
} // namespace

void CanonicalIncludes::addMapping(llvm::StringRef Path,
                                   llvm::StringRef CanonicalPath) {
  FullPathMapping[Path] = std::string(CanonicalPath);
}

/// The maximum number of path components in a key from StdSuffixHeaderMapping.
/// Used to minimize the number of lookups in suffix path mappings.
constexpr int MaxSuffixComponents = 3;

llvm::StringRef
CanonicalIncludes::mapHeader(llvm::StringRef Header,
                             llvm::StringRef QualifiedName) const {
  assert(!Header.empty());
  if (StdSymbolMapping) {
    auto SE = StdSymbolMapping->find(QualifiedName);
    if (SE != StdSymbolMapping->end())
      return SE->second;
  }

  auto MapIt = FullPathMapping.find(Header);
  if (MapIt != FullPathMapping.end())
    return MapIt->second;

  if (!StdSuffixHeaderMapping)
    return Header;

  int Components = 1;

  // FIXME: check that this works on Windows and add tests.
  for (auto It = llvm::sys::path::rbegin(Header),
            End = llvm::sys::path::rend(Header);
       It != End && Components <= MaxSuffixComponents; ++It, ++Components) {
    auto SubPath = Header.substr(It->data() - Header.begin());
    auto MappingIt = StdSuffixHeaderMapping->find(SubPath);
    if (MappingIt != StdSuffixHeaderMapping->end())
      return MappingIt->second;
  }
  return Header;
}

std::unique_ptr<CommentHandler>
collectIWYUHeaderMaps(CanonicalIncludes *Includes) {
  class PragmaCommentHandler : public clang::CommentHandler {
  public:
    PragmaCommentHandler(CanonicalIncludes *Includes) : Includes(Includes) {}

    bool HandleComment(Preprocessor &PP, SourceRange Range) override {
      llvm::StringRef Text =
          Lexer::getSourceText(CharSourceRange::getCharRange(Range),
                               PP.getSourceManager(), PP.getLangOpts());
      if (!Text.consume_front(IWYUPragma))
        return false;
      // FIXME(ioeric): resolve the header and store actual file path. For now,
      // we simply assume the written header is suitable to be #included.
      Includes->addMapping(PP.getSourceManager().getFilename(Range.getBegin()),
                           isLiteralInclude(Text) ? Text.str()
                                                  : ("\"" + Text + "\"").str());
      return false;
    }

  private:
    CanonicalIncludes *const Includes;
  };
  return std::make_unique<PragmaCommentHandler>(Includes);
}

void CanonicalIncludes::addSystemHeadersMapping(const LangOptions &Language) {
  if (Language.CPlusPlus) {
    static const auto *Symbols = new llvm::StringMap<llvm::StringRef>({
#define SYMBOL(Name, NameSpace, Header) {#NameSpace #Name, #Header},
#include "StdSymbolMap.inc"
        // There are two std::move()s, this is by far the most common.
        SYMBOL(move, std::, <utility>)
        // There are multiple headers for size_t, pick one.
        SYMBOL(size_t, std::, <cstddef>)
#undef SYMBOL
    });
    StdSymbolMapping = Symbols;
  } else if (Language.C11) {
    static const auto *CSymbols = new llvm::StringMap<llvm::StringRef>({
#define SYMBOL(Name, NameSpace, Header) {#Name, #Header},
#include "CSymbolMap.inc"
        // There are multiple headers for size_t, pick one.
        SYMBOL(size_t, None, <stddef.h>)
#undef SYMBOL
    });
    StdSymbolMapping = CSymbols;
  }

  // FIXME: remove the std header mapping once we support ambiguous symbols, now
  // it serves as a fallback to disambiguate:
  //   - symbols with multiple headers (e.g. std::move)
  static const auto *SystemHeaderMap = new llvm::StringMap<llvm::StringRef>({
      {"include/__stddef_max_align_t.h", "<cstddef>"},
      {"include/__wmmintrin_aes.h", "<wmmintrin.h>"},
      {"include/__wmmintrin_pclmul.h", "<wmmintrin.h>"},
      {"include/adxintrin.h", "<immintrin.h>"},
      {"include/ammintrin.h", "<ammintrin.h>"},
      {"include/avx2intrin.h", "<immintrin.h>"},
      {"include/avx512bwintrin.h", "<immintrin.h>"},
      {"include/avx512cdintrin.h", "<immintrin.h>"},
      {"include/avx512dqintrin.h", "<immintrin.h>"},
      {"include/avx512erintrin.h", "<immintrin.h>"},
      {"include/avx512fintrin.h", "<immintrin.h>"},
      {"include/avx512ifmaintrin.h", "<immintrin.h>"},
      {"include/avx512ifmavlintrin.h", "<immintrin.h>"},
      {"include/avx512pfintrin.h", "<immintrin.h>"},
      {"include/avx512vbmiintrin.h", "<immintrin.h>"},
      {"include/avx512vbmivlintrin.h", "<immintrin.h>"},
      {"include/avx512vlbwintrin.h", "<immintrin.h>"},
      {"include/avx512vlcdintrin.h", "<immintrin.h>"},
      {"include/avx512vldqintrin.h", "<immintrin.h>"},
      {"include/avx512vlintrin.h", "<immintrin.h>"},
      {"include/avxintrin.h", "<immintrin.h>"},
      {"include/bmi2intrin.h", "<x86intrin.h>"},
      {"include/bmiintrin.h", "<x86intrin.h>"},
      {"include/emmintrin.h", "<emmintrin.h>"},
      {"include/f16cintrin.h", "<emmintrin.h>"},
      {"include/float.h", "<cfloat>"},
      {"include/fma4intrin.h", "<x86intrin.h>"},
      {"include/fmaintrin.h", "<immintrin.h>"},
      {"include/fxsrintrin.h", "<immintrin.h>"},
      {"include/ia32intrin.h", "<x86intrin.h>"},
      {"include/immintrin.h", "<immintrin.h>"},
      {"include/inttypes.h", "<cinttypes>"},
      {"include/limits.h", "<climits>"},
      {"include/lzcntintrin.h", "<x86intrin.h>"},
      {"include/mm3dnow.h", "<mm3dnow.h>"},
      {"include/mm_malloc.h", "<mm_malloc.h>"},
      {"include/mmintrin.h", "<mmintrin>"},
      {"include/mwaitxintrin.h", "<x86intrin.h>"},
      {"include/pkuintrin.h", "<immintrin.h>"},
      {"include/pmmintrin.h", "<pmmintrin.h>"},
      {"include/popcntintrin.h", "<popcntintrin.h>"},
      {"include/prfchwintrin.h", "<x86intrin.h>"},
      {"include/rdseedintrin.h", "<x86intrin.h>"},
      {"include/rtmintrin.h", "<immintrin.h>"},
      {"include/shaintrin.h", "<immintrin.h>"},
      {"include/smmintrin.h", "<smmintrin.h>"},
      {"include/stdalign.h", "<cstdalign>"},
      {"include/stdarg.h", "<cstdarg>"},
      {"include/stdbool.h", "<cstdbool>"},
      {"include/stddef.h", "<cstddef>"},
      {"include/stdint.h", "<cstdint>"},
      {"include/tbmintrin.h", "<x86intrin.h>"},
      {"include/tmmintrin.h", "<tmmintrin.h>"},
      {"include/wmmintrin.h", "<wmmintrin.h>"},
      {"include/x86intrin.h", "<x86intrin.h>"},
      {"include/xmmintrin.h", "<xmmintrin.h>"},
      {"include/xopintrin.h", "<x86intrin.h>"},
      {"include/xsavecintrin.h", "<immintrin.h>"},
      {"include/xsaveintrin.h", "<immintrin.h>"},
      {"include/xsaveoptintrin.h", "<immintrin.h>"},
      {"include/xsavesintrin.h", "<immintrin.h>"},
      {"include/xtestintrin.h", "<immintrin.h>"},
      {"include/_G_config.h", "<cstdio>"},
      {"include/assert.h", "<cassert>"},
      {"algorithm", "<algorithm>"},
      {"valarray", "<valarray>"},
      {"array", "<array>"},
      {"atomic", "<atomic>"},
      {"backward/auto_ptr.h", "<memory>"},
      {"backward/binders.h", "<string>"},
      {"bits/algorithmfwd.h", "<algorithm>"},
      {"bits/alloc_traits.h", "<memory>"},
      {"bits/allocated_ptr.h", "<memory>"},
      {"bits/allocator.h", "<allocator>"},
      {"bits/atomic_base.h", "<atomic>"},
      {"bits/atomic_lockfree_defines.h", "<exception>"},
      {"bits/atomic_futex.h", "<atomic>"},
      {"bits/basic_ios.h", "<ios>"},
      {"bits/basic_ios.tcc", "<ios>"},
      {"bits/basic_string.h", "<string>"},
      {"bits/basic_string.tcc", "<string>"},
      {"bits/char_traits.h", "<string>"},
      {"bits/codecvt.h", "<locale>"},
      {"bits/concept_check.h", "<numeric>"},
      {"bits/cpp_type_traits.h", "<cmath>"},
      {"bits/cxxabi_forced.h", "<cxxabi.h>"},
      {"bits/deque.tcc", "<deque>"},
      {"bits/exception.h", "<exception>"},
      {"bits/exception_defines.h", "<exception>"},
      {"bits/exception_ptr.h", "<exception>"},
      {"bits/forward_list.h", "<forward_list>"},
      {"bits/forward_list.tcc", "<forward_list>"},
      {"bits/fstream.tcc", "<fstream>"},
      {"bits/functexcept.h", "<list>"},
      {"bits/functional_hash.h", "<functional>"},
      {"bits/gslice.h", "<valarray>"},
      {"bits/gslice_array.h", "<valarray>"},
      {"bits/hash_bytes.h", "<typeinfo>"},
      {"bits/hashtable.h", "<unordered_set>"},
      {"bits/hashtable_policy.h", "<unordered_set>"},
      {"bits/indirect_array.h", "<valarray>"},
      {"bits/invoke.h", "<functional>"},
      {"bits/ios_base.h", "<ios>"},
      {"bits/istream.tcc", "<istream>"},
      {"bits/list.tcc", "<list>"},
      {"bits/locale_classes.h", "<locale>"},
      {"bits/locale_classes.tcc", "<locale>"},
      {"bits/locale_conv.h", "<locale>"},
      {"bits/locale_facets.h", "<locale>"},
      {"bits/locale_facets.tcc", "<locale>"},
      {"bits/locale_facets_nonio.h", "<locale>"},
      {"bits/locale_facets_nonio.tcc", "<locale>"},
      {"bits/localefwd.h", "<locale>"},
      {"bits/mask_array.h", "<valarray>"},
      {"bits/memoryfwd.h", "<memory>"},
      {"bits/move.h", "<utility>"},
      {"bits/nested_exception.h", "<exception>"},
      {"bits/ostream.tcc", "<ostream>"},
      {"bits/ostream_insert.h", "<ostream>"},
      {"bits/parse_numbers.h", "<chrono>"},
      {"bits/postypes.h", "<ios>"},
      {"bits/predefined_ops.h", "<algorithm>"},
      {"bits/ptr_traits.h", "<memory>"},
      {"bits/quoted_string.h", "<iomanip>"},
      {"bits/random.h", "<random>"},
      {"bits/random.tcc", "<random>"},
      {"bits/range_access.h", "<iterator>"},
      {"bits/refwrap.h", "<functional>"},
      {"bits/regex.h", "<regex>"},
      {"bits/regex_automaton.h", "<regex>"},
      {"bits/regex_compiler.h", "<regex>"},
      {"bits/regex_constants.h", "<regex>"},
      {"bits/regex_cursor.h", "<regex>"},
      {"bits/regex_error.h", "<regex>"},
      {"bits/regex_executor.h", "<regex>"},
      {"bits/regex_grep_matcher.h", "<regex>"},
      {"bits/regex_grep_matcher.tcc", "<regex>"},
      {"bits/regex_nfa.h", "<regex>"},
      {"bits/regex_scanner.h", "<regex>"},
      {"bits/shared_ptr.h", "<memory>"},
      {"bits/shared_ptr_base.h", "<memory>"},
      {"bits/shared_ptr_atomic.h", "<atomic>"},
      {"bits/slice_array.h", "<valarray>"},
      {"bits/sstream.tcc", "<sstream>"},
      {"bits/std_abs.h", "<cmath>"},
      {"bits/std_function.h", "<functional>"},
      {"bits/std_mutex.h", "<mutex>"},
      {"bits/stl_algo.h", "<algorithm>"},
      {"bits/stl_algobase.h", "<algorithm>"},
      {"bits/stl_bvector.h", "<vector>"},
      {"bits/stl_construct.h", "<deque>"},
      {"bits/stl_deque.h", "<deque>"},
      {"bits/stl_function.h", "<functional>"},
      {"bits/stl_heap.h", "<heap>"},
      {"bits/stl_iterator.h", "<iterator>"},
      {"bits/stl_iterator_base_funcs.h", "<iterator>"},
      {"bits/stl_iterator_base_types.h", "<iterator>"},
      {"bits/stl_list.h", "<list>"},
      {"bits/stl_map.h", "<map>"},
      {"bits/stl_multimap.h", "<map>"},
      {"bits/stl_multiset.h", "<set>"},
      {"bits/stl_numeric.h", "<numeric>"},
      {"bits/stl_pair.h", "<utility>"},
      {"bits/stl_queue.h", "<queue>"},
      {"bits/stl_raw_storage_iter.h", "<memory>"},
      {"bits/stl_relops.h", "<utility>"},
      {"bits/stl_set.h", "<set>"},
      {"bits/stl_stack.h", "<stack>"},
      {"bits/stl_tempbuf.h", "<memory>"},
      {"bits/stl_tree.h", "<map>"},
      {"bits/stl_uninitialized.h", "<memory>"},
      {"bits/stl_vector.h", "<vector>"},
      {"bits/stream_iterator.h", "<iterator>"},
      {"bits/streambuf.tcc", "<streambuf>"},
      {"bits/streambuf_iterator.h", "<iterator>"},
      {"bits/stringfwd.h", "<string>"},
      {"bits/uniform_int_dist.h", "<random>"},
      {"bits/unique_ptr.h", "<memory>"},
      {"bits/unordered_map.h", "<unordered_map>"},
      {"bits/unordered_set.h", "<unordered_set>"},
      {"bits/uses_allocator.h", "<memory>"},
      {"bits/valarray_after.h", "<valarray>"},
      {"bits/valarray_array.h", "<valarray>"},
      {"bits/valarray_array.tcc", "<valarray>"},
      {"bits/valarray_before.h", "<valarray>"},
      {"bits/vector.tcc", "<vector>"},
      {"bitset", "<bitset>"},
      {"ccomplex", "<ccomplex>"},
      {"cctype", "<cctype>"},
      {"cerrno", "<cerrno>"},
      {"cfenv", "<cfenv>"},
      {"cfloat", "<cfloat>"},
      {"chrono", "<chrono>"},
      {"cinttypes", "<cinttypes>"},
      {"climits", "<climits>"},
      {"clocale", "<clocale>"},
      {"cmath", "<cmath>"},
      {"complex", "<complex>"},
      {"complex.h", "<complex.h>"},
      {"condition_variable", "<condition_variable>"},
      {"csetjmp", "<csetjmp>"},
      {"csignal", "<csignal>"},
      {"cstdalign", "<cstdalign>"},
      {"cstdarg", "<cstdarg>"},
      {"cstdbool", "<cstdbool>"},
      {"cstdint", "<cstdint>"},
      {"cstdio", "<cstdio>"},
      {"cstdlib", "<cstdlib>"},
      {"cstring", "<cstring>"},
      {"ctgmath", "<ctgmath>"},
      {"ctime", "<ctime>"},
      {"cwchar", "<cwchar>"},
      {"cwctype", "<cwctype>"},
      {"cxxabi.h", "<cxxabi.h>"},
      {"debug/debug.h", "<numeric>"},
      {"debug/map.h", "<map>"},
      {"debug/multimap.h", "<multimap>"},
      {"debug/multiset.h", "<multiset>"},
      {"debug/set.h", "<set>"},
      {"deque", "<deque>"},
      {"exception", "<exception>"},
      {"ext/alloc_traits.h", "<deque>"},
      {"ext/atomicity.h", "<memory>"},
      {"ext/concurrence.h", "<memory>"},
      {"ext/new_allocator.h", "<string>"},
      {"ext/numeric_traits.h", "<list>"},
      {"ext/string_conversions.h", "<string>"},
      {"ext/type_traits.h", "<cmath>"},
      {"fenv.h", "<fenv.h>"},
      {"forward_list", "<forward_list>"},
      {"fstream", "<fstream>"},
      {"functional", "<functional>"},
      {"future", "<future>"},
      {"initializer_list", "<initializer_list>"},
      {"iomanip", "<iomanip>"},
      {"ios", "<ios>"},
      {"iosfwd", "<iosfwd>"},
      {"iostream", "<iostream>"},
      {"istream", "<istream>"},
      {"iterator", "<iterator>"},
      {"limits", "<limits>"},
      {"list", "<list>"},
      {"locale", "<locale>"},
      {"map", "<map>"},
      {"memory", "<memory>"},
      {"shared_mutex", "<shared_mutex>"},
      {"mutex", "<mutex>"},
      {"new", "<new>"},
      {"numeric", "<numeric>"},
      {"ostream", "<ostream>"},
      {"queue", "<queue>"},
      {"random", "<random>"},
      {"ratio", "<ratio>"},
      {"regex", "<regex>"},
      {"scoped_allocator", "<scoped_allocator>"},
      {"set", "<set>"},
      {"sstream", "<sstream>"},
      {"stack", "<stack>"},
      {"stdexcept", "<stdexcept>"},
      {"streambuf", "<streambuf>"},
      {"string", "<string>"},
      {"system_error", "<system_error>"},
      {"tgmath.h", "<tgmath.h>"},
      {"thread", "<thread>"},
      {"tuple", "<tuple>"},
      {"type_traits", "<type_traits>"},
      {"typeindex", "<typeindex>"},
      {"typeinfo", "<typeinfo>"},
      {"unordered_map", "<unordered_map>"},
      {"unordered_set", "<unordered_set>"},
      {"utility", "<utility>"},
      {"valarray", "<valarray>"},
      {"vector", "<vector>"},
      {"include/complex.h", "<complex.h>"},
      {"include/ctype.h", "<cctype>"},
      {"include/errno.h", "<cerrno>"},
      {"include/fenv.h", "<fenv.h>"},
      {"include/inttypes.h", "<cinttypes>"},
      {"include/libio.h", "<cstdio>"},
      {"include/limits.h", "<climits>"},
      {"include/locale.h", "<clocale>"},
      {"include/math.h", "<cmath>"},
      {"include/setjmp.h", "<csetjmp>"},
      {"include/signal.h", "<csignal>"},
      {"include/stdint.h", "<cstdint>"},
      {"include/stdio.h", "<cstdio>"},
      {"include/stdlib.h", "<cstdlib>"},
      {"include/string.h", "<cstring>"},
      {"include/time.h", "<ctime>"},
      {"include/wchar.h", "<cwchar>"},
      {"include/wctype.h", "<cwctype>"},
      {"bits/cmathcalls.h", "<complex.h>"},
      {"bits/errno.h", "<cerrno>"},
      {"bits/fenv.h", "<fenv.h>"},
      {"bits/huge_val.h", "<cmath>"},
      {"bits/huge_valf.h", "<cmath>"},
      {"bits/huge_vall.h", "<cmath>"},
      {"bits/inf.h", "<cmath>"},
      {"bits/local_lim.h", "<climits>"},
      {"bits/locale.h", "<clocale>"},
      {"bits/mathcalls.h", "<math.h>"},
      {"bits/mathdef.h", "<cmath>"},
      {"bits/nan.h", "<cmath>"},
      {"bits/posix1_lim.h", "<climits>"},
      {"bits/posix2_lim.h", "<climits>"},
      {"bits/setjmp.h", "<csetjmp>"},
      {"bits/sigaction.h", "<csignal>"},
      {"bits/sigcontext.h", "<csignal>"},
      {"bits/siginfo.h", "<csignal>"},
      {"bits/signum.h", "<csignal>"},
      {"bits/sigset.h", "<csignal>"},
      {"bits/sigstack.h", "<csignal>"},
      {"bits/stdint-intn.h", "<cstdint>"},
      {"bits/stdint-uintn.h", "<cstdint>"},
      {"bits/stdio_lim.h", "<cstdio>"},
      {"bits/sys_errlist.h", "<cstdio>"},
      {"bits/time.h", "<ctime>"},
      {"bits/timex.h", "<ctime>"},
      {"bits/typesizes.h", "<cstdio>"},
      {"bits/wchar.h", "<cwchar>"},
      {"bits/wordsize.h", "<csetjmp>"},
      {"bits/xopen_lim.h", "<climits>"},
      {"include/xlocale.h", "<cstring>"},
      {"bits/atomic_word.h", "<memory>"},
      {"bits/basic_file.h", "<fstream>"},
      {"bits/c\\+\\+allocator.h", "<string>"},
      {"bits/c\\+\\+config.h", "<cstddef>"},
      {"bits/c\\+\\+io.h", "<ios>"},
      {"bits/c\\+\\+locale.h", "<locale>"},
      {"bits/cpu_defines.h", "<iosfwd>"},
      {"bits/ctype_base.h", "<locale>"},
      {"bits/cxxabi_tweaks.h", "<cxxabi.h>"},
      {"bits/error_constants.h", "<system_error>"},
      {"bits/gthr-default.h", "<memory>"},
      {"bits/gthr.h", "<memory>"},
      {"bits/opt_random.h", "<random>"},
      {"bits/os_defines.h", "<iosfwd>"},
      // GNU C headers
      {"include/aio.h", "<aio.h>"},
      {"include/aliases.h", "<aliases.h>"},
      {"include/alloca.h", "<alloca.h>"},
      {"include/ar.h", "<ar.h>"},
      {"include/argp.h", "<argp.h>"},
      {"include/argz.h", "<argz.h>"},
      {"include/arpa/nameser.h", "<resolv.h>"},
      {"include/arpa/nameser_compat.h", "<resolv.h>"},
      {"include/byteswap.h", "<byteswap.h>"},
      {"include/cpio.h", "<cpio.h>"},
      {"include/crypt.h", "<crypt.h>"},
      {"include/dirent.h", "<dirent.h>"},
      {"include/dlfcn.h", "<dlfcn.h>"},
      {"include/elf.h", "<elf.h>"},
      {"include/endian.h", "<endian.h>"},
      {"include/envz.h", "<envz.h>"},
      {"include/err.h", "<err.h>"},
      {"include/error.h", "<error.h>"},
      {"include/execinfo.h", "<execinfo.h>"},
      {"include/fcntl.h", "<fcntl.h>"},
      {"include/features.h", "<features.h>"},
      {"include/fenv.h", "<fenv.h>"},
      {"include/fmtmsg.h", "<fmtmsg.h>"},
      {"include/fnmatch.h", "<fnmatch.h>"},
      {"include/fstab.h", "<fstab.h>"},
      {"include/fts.h", "<fts.h>"},
      {"include/ftw.h", "<ftw.h>"},
      {"include/gconv.h", "<gconv.h>"},
      {"include/getopt.h", "<getopt.h>"},
      {"include/glob.h", "<glob.h>"},
      {"include/grp.h", "<grp.h>"},
      {"include/gshadow.h", "<gshadow.h>"},
      {"include/iconv.h", "<iconv.h>"},
      {"include/ifaddrs.h", "<ifaddrs.h>"},
      {"include/kdb.h", "<kdb.h>"},
      {"include/langinfo.h", "<langinfo.h>"},
      {"include/libgen.h", "<libgen.h>"},
      {"include/libintl.h", "<libintl.h>"},
      {"include/link.h", "<link.h>"},
      {"include/malloc.h", "<malloc.h>"},
      {"include/mcheck.h", "<mcheck.h>"},
      {"include/memory.h", "<memory.h>"},
      {"include/mntent.h", "<mntent.h>"},
      {"include/monetary.h", "<monetary.h>"},
      {"include/mqueue.h", "<mqueue.h>"},
      {"include/netdb.h", "<netdb.h>"},
      {"include/netinet/in.h", "<netinet/in.h>"},
      {"include/nl_types.h", "<nl_types.h>"},
      {"include/nss.h", "<nss.h>"},
      {"include/obstack.h", "<obstack.h>"},
      {"include/panel.h", "<panel.h>"},
      {"include/paths.h", "<paths.h>"},
      {"include/printf.h", "<printf.h>"},
      {"include/profile.h", "<profile.h>"},
      {"include/pthread.h", "<pthread.h>"},
      {"include/pty.h", "<pty.h>"},
      {"include/pwd.h", "<pwd.h>"},
      {"include/re_comp.h", "<re_comp.h>"},
      {"include/regex.h", "<regex.h>"},
      {"include/regexp.h", "<regexp.h>"},
      {"include/resolv.h", "<resolv.h>"},
      {"include/rpc/netdb.h", "<netdb.h>"},
      {"include/sched.h", "<sched.h>"},
      {"include/search.h", "<search.h>"},
      {"include/semaphore.h", "<semaphore.h>"},
      {"include/sgtty.h", "<sgtty.h>"},
      {"include/shadow.h", "<shadow.h>"},
      {"include/spawn.h", "<spawn.h>"},
      {"include/stab.h", "<stab.h>"},
      {"include/stdc-predef.h", "<stdc-predef.h>"},
      {"include/stdio_ext.h", "<stdio_ext.h>"},
      {"include/strings.h", "<strings.h>"},
      {"include/stropts.h", "<stropts.h>"},
      {"include/sudo_plugin.h", "<sudo_plugin.h>"},
      {"include/sysexits.h", "<sysexits.h>"},
      {"include/tar.h", "<tar.h>"},
      {"include/tcpd.h", "<tcpd.h>"},
      {"include/term.h", "<term.h>"},
      {"include/term_entry.h", "<term_entry.h>"},
      {"include/termcap.h", "<termcap.h>"},
      {"include/termios.h", "<termios.h>"},
      {"include/thread_db.h", "<thread_db.h>"},
      {"include/tic.h", "<tic.h>"},
      {"include/ttyent.h", "<ttyent.h>"},
      {"include/uchar.h", "<uchar.h>"},
      {"include/ucontext.h", "<ucontext.h>"},
      {"include/ulimit.h", "<ulimit.h>"},
      {"include/unctrl.h", "<unctrl.h>"},
      {"include/unistd.h", "<unistd.h>"},
      {"include/utime.h", "<utime.h>"},
      {"include/utmp.h", "<utmp.h>"},
      {"include/utmpx.h", "<utmpx.h>"},
      {"include/values.h", "<values.h>"},
      {"include/wordexp.h", "<wordexp.h>"},
      {"fpu_control.h", "<fpu_control.h>"},
      {"ieee754.h", "<ieee754.h>"},
      {"include/xlocale.h", "<xlocale.h>"},
      {"gnu/lib-names.h", "<gnu/lib-names.h>"},
      {"gnu/libc-version.h", "<gnu/libc-version.h>"},
      {"gnu/option-groups.h", "<gnu/option-groups.h>"},
      {"gnu/stubs-32.h", "<gnu/stubs-32.h>"},
      {"gnu/stubs-64.h", "<gnu/stubs-64.h>"},
      {"gnu/stubs-x32.h", "<gnu/stubs-x32.h>"},
      {"include/rpc/auth_des.h", "<rpc/auth_des.h>"},
      {"include/rpc/rpc_msg.h", "<rpc/rpc_msg.h>"},
      {"include/rpc/pmap_clnt.h", "<rpc/pmap_clnt.h>"},
      {"include/rpc/rpc.h", "<rpc/rpc.h>"},
      {"include/rpc/types.h", "<rpc/types.h>"},
      {"include/rpc/auth_unix.h", "<rpc/auth_unix.h>"},
      {"include/rpc/key_prot.h", "<rpc/key_prot.h>"},
      {"include/rpc/pmap_prot.h", "<rpc/pmap_prot.h>"},
      {"include/rpc/auth.h", "<rpc/auth.h>"},
      {"include/rpc/svc_auth.h", "<rpc/svc_auth.h>"},
      {"include/rpc/xdr.h", "<rpc/xdr.h>"},
      {"include/rpc/pmap_rmt.h", "<rpc/pmap_rmt.h>"},
      {"include/rpc/des_crypt.h", "<rpc/des_crypt.h>"},
      {"include/rpc/svc.h", "<rpc/svc.h>"},
      {"include/rpc/rpc_des.h", "<rpc/rpc_des.h>"},
      {"include/rpc/clnt.h", "<rpc/clnt.h>"},
      {"include/scsi/scsi.h", "<scsi/scsi.h>"},
      {"include/scsi/sg.h", "<scsi/sg.h>"},
      {"include/scsi/scsi_ioctl.h", "<scsi/scsi_ioctl>"},
      {"include/netrose/rose.h", "<netrose/rose.h>"},
      {"include/nfs/nfs.h", "<nfs/nfs.h>"},
      {"include/netatalk/at.h", "<netatalk/at.h>"},
      {"include/netinet/ether.h", "<netinet/ether.h>"},
      {"include/netinet/icmp6.h", "<netinet/icmp6.h>"},
      {"include/netinet/if_ether.h", "<netinet/if_ether.h>"},
      {"include/netinet/if_fddi.h", "<netinet/if_fddi.h>"},
      {"include/netinet/if_tr.h", "<netinet/if_tr.h>"},
      {"include/netinet/igmp.h", "<netinet/igmp.h>"},
      {"include/netinet/in.h", "<netinet/in.h>"},
      {"include/netinet/in_systm.h", "<netinet/in_systm.h>"},
      {"include/netinet/ip.h", "<netinet/ip.h>"},
      {"include/netinet/ip6.h", "<netinet/ip6.h>"},
      {"include/netinet/ip_icmp.h", "<netinet/ip_icmp.h>"},
      {"include/netinet/tcp.h", "<netinet/tcp.h>"},
      {"include/netinet/udp.h", "<netinet/udp.h>"},
      {"include/netrom/netrom.h", "<netrom/netrom.h>"},
      {"include/protocols/routed.h", "<protocols/routed.h>"},
      {"include/protocols/rwhod.h", "<protocols/rwhod.h>"},
      {"include/protocols/talkd.h", "<protocols/talkd.h>"},
      {"include/protocols/timed.h", "<protocols/timed.h>"},
      {"include/rpcsvc/klm_prot.x", "<rpcsvc/klm_prot.x>"},
      {"include/rpcsvc/rstat.h", "<rpcsvc/rstat.h>"},
      {"include/rpcsvc/spray.x", "<rpcsvc/spray.x>"},
      {"include/rpcsvc/nlm_prot.x", "<rpcsvc/nlm_prot.x>"},
      {"include/rpcsvc/nis_callback.x", "<rpcsvc/nis_callback.x>"},
      {"include/rpcsvc/yp.h", "<rpcsvc/yp.h>"},
      {"include/rpcsvc/yp.x", "<rpcsvc/yp.x>"},
      {"include/rpcsvc/nfs_prot.h", "<rpcsvc/nfs_prot.h>"},
      {"include/rpcsvc/rex.h", "<rpcsvc/rex.h>"},
      {"include/rpcsvc/yppasswd.h", "<rpcsvc/yppasswd.h>"},
      {"include/rpcsvc/rex.x", "<rpcsvc/rex.x>"},
      {"include/rpcsvc/nis_tags.h", "<rpcsvc/nis_tags.h>"},
      {"include/rpcsvc/nis_callback.h", "<rpcsvc/nis_callback.h>"},
      {"include/rpcsvc/nfs_prot.x", "<rpcsvc/nfs_prot.x>"},
      {"include/rpcsvc/bootparam_prot.x", "<rpcsvc/bootparam_prot.x>"},
      {"include/rpcsvc/rusers.x", "<rpcsvc/rusers.x>"},
      {"include/rpcsvc/rquota.x", "<rpcsvc/rquota.x>"},
      {"include/rpcsvc/nis.h", "<rpcsvc/nis.h>"},
      {"include/rpcsvc/nislib.h", "<rpcsvc/nislib.h>"},
      {"include/rpcsvc/ypupd.h", "<rpcsvc/ypupd.h>"},
      {"include/rpcsvc/bootparam.h", "<rpcsvc/bootparam.h>"},
      {"include/rpcsvc/spray.h", "<rpcsvc/spray.h>"},
      {"include/rpcsvc/key_prot.h", "<rpcsvc/key_prot.h>"},
      {"include/rpcsvc/klm_prot.h", "<rpcsvc/klm_prot.h>"},
      {"include/rpcsvc/sm_inter.h", "<rpcsvc/sm_inter.h>"},
      {"include/rpcsvc/nlm_prot.h", "<rpcsvc/nlm_prot.h>"},
      {"include/rpcsvc/yp_prot.h", "<rpcsvc/yp_prot.h>"},
      {"include/rpcsvc/ypclnt.h", "<rpcsvc/ypclnt.h>"},
      {"include/rpcsvc/rstat.x", "<rpcsvc/rstat.x>"},
      {"include/rpcsvc/rusers.h", "<rpcsvc/rusers.h>"},
      {"include/rpcsvc/key_prot.x", "<rpcsvc/key_prot.x>"},
      {"include/rpcsvc/sm_inter.x", "<rpcsvc/sm_inter.x>"},
      {"include/rpcsvc/rquota.h", "<rpcsvc/rquota.h>"},
      {"include/rpcsvc/nis.x", "<rpcsvc/nis.x>"},
      {"include/rpcsvc/bootparam_prot.h", "<rpcsvc/bootparam_prot.h>"},
      {"include/rpcsvc/mount.h", "<rpcsvc/mount.h>"},
      {"include/rpcsvc/mount.x", "<rpcsvc/mount.x>"},
      {"include/rpcsvc/nis_object.x", "<rpcsvc/nis_object.x>"},
      {"include/rpcsvc/yppasswd.x", "<rpcsvc/yppasswd.x>"},
      {"sys/acct.h", "<sys/acct.h>"},
      {"sys/auxv.h", "<sys/auxv.h>"},
      {"sys/cdefs.h", "<sys/cdefs.h>"},
      {"sys/debugreg.h", "<sys/debugreg.h>"},
      {"sys/dir.h", "<sys/dir.h>"},
      {"sys/elf.h", "<sys/elf.h>"},
      {"sys/epoll.h", "<sys/epoll.h>"},
      {"sys/eventfd.h", "<sys/eventfd.h>"},
      {"sys/fanotify.h", "<sys/fanotify.h>"},
      {"sys/file.h", "<sys/file.h>"},
      {"sys/fsuid.h", "<sys/fsuid.h>"},
      {"sys/gmon.h", "<sys/gmon.h>"},
      {"sys/gmon_out.h", "<sys/gmon_out.h>"},
      {"sys/inotify.h", "<sys/inotify.h>"},
      {"sys/io.h", "<sys/io.h>"},
      {"sys/ioctl.h", "<sys/ioctl.h>"},
      {"sys/ipc.h", "<sys/ipc.h>"},
      {"sys/kd.h", "<sys/kd.h>"},
      {"sys/kdaemon.h", "<sys/kdaemon.h>"},
      {"sys/klog.h", "<sys/klog.h>"},
      {"sys/mman.h", "<sys/mman.h>"},
      {"sys/mount.h", "<sys/mount.h>"},
      {"sys/msg.h", "<sys/msg.h>"},
      {"sys/mtio.h", "<sys/mtio.h>"},
      {"sys/param.h", "<sys/param.h>"},
      {"sys/pci.h", "<sys/pci.h>"},
      {"sys/perm.h", "<sys/perm.h>"},
      {"sys/personality.h", "<sys/personality.h>"},
      {"sys/poll.h", "<sys/poll.h>"},
      {"sys/prctl.h", "<sys/prctl.h>"},
      {"sys/procfs.h", "<sys/procfs.h>"},
      {"sys/profil.h", "<sys/profil.h>"},
      {"sys/ptrace.h", "<sys/ptrace.h>"},
      {"sys/queue.h", "<sys/queue.h>"},
      {"sys/quota.h", "<sys/quota.h>"},
      {"sys/raw.h", "<sys/raw.h>"},
      {"sys/reboot.h", "<sys/reboot.h>"},
      {"sys/reg.h", "<sys/reg.h>"},
      {"sys/resource.h", "<sys/resource.h>"},
      {"sys/select.h", "<sys/select.h>"},
      {"sys/sem.h", "<sys/sem.h>"},
      {"sys/sendfile.h", "<sys/sendfile.h>"},
      {"sys/shm.h", "<sys/shm.h>"},
      {"sys/signalfd.h", "<sys/signalfd.h>"},
      {"sys/socket.h", "<sys/socket.h>"},
      {"sys/stat.h", "<sys/stat.h>"},
      {"sys/statfs.h", "<sys/statfs.h>"},
      {"sys/statvfs.h", "<sys/statvfs.h>"},
      {"sys/swap.h", "<sys/swap.h>"},
      {"sys/syscall.h", "<sys/syscall.h>"},
      {"sys/sysctl.h", "<sys/sysctl.h>"},
      {"sys/sysinfo.h", "<sys/sysinfo.h>"},
      {"sys/syslog.h", "<sys/syslog.h>"},
      {"sys/sysmacros.h", "<sys/sysmacros.h>"},
      {"sys/termios.h", "<sys/termios.h>"},
      {"sys/time.h", "<sys/select.h>"},
      {"sys/timeb.h", "<sys/timeb.h>"},
      {"sys/timerfd.h", "<sys/timerfd.h>"},
      {"sys/times.h", "<sys/times.h>"},
      {"sys/timex.h", "<sys/timex.h>"},
      {"sys/ttychars.h", "<sys/ttychars.h>"},
      {"sys/ttydefaults.h", "<sys/ttydefaults.h>"},
      {"sys/types.h", "<sys/types.h>"},
      {"sys/ucontext.h", "<sys/ucontext.h>"},
      {"sys/uio.h", "<sys/uio.h>"},
      {"sys/un.h", "<sys/un.h>"},
      {"sys/user.h", "<sys/user.h>"},
      {"sys/ustat.h", "<sys/ustat.h>"},
      {"sys/utsname.h", "<sys/utsname.h>"},
      {"sys/vlimit.h", "<sys/vlimit.h>"},
      {"sys/vm86.h", "<sys/vm86.h>"},
      {"sys/vtimes.h", "<sys/vtimes.h>"},
      {"sys/wait.h", "<sys/wait.h>"},
      {"sys/xattr.h", "<sys/xattr.h>"},
      {"bits/epoll.h", "<sys/epoll.h>"},
      {"bits/eventfd.h", "<sys/eventfd.h>"},
      {"bits/inotify.h", "<sys/inotify.h>"},
      {"bits/ipc.h", "<sys/ipc.h>"},
      {"bits/ipctypes.h", "<sys/ipc.h>"},
      {"bits/mman-linux.h", "<sys/mman.h>"},
      {"bits/mman.h", "<sys/mman.h>"},
      {"bits/msq.h", "<sys/msg.h>"},
      {"bits/resource.h", "<sys/resource.h>"},
      {"bits/sem.h", "<sys/sem.h>"},
      {"bits/shm.h", "<sys/shm.h>"},
      {"bits/signalfd.h", "<sys/signalfd.h>"},
      {"bits/statfs.h", "<sys/statfs.h>"},
      {"bits/statvfs.h", "<sys/statvfs.h>"},
      {"bits/timerfd.h", "<sys/timerfd.h>"},
      {"bits/utsname.h", "<sys/utsname.h>"},
      {"bits/auxv.h", "<sys/auxv.h>"},
      {"bits/byteswap-16.h", "<byteswap.h>"},
      {"bits/byteswap.h", "<byteswap.h>"},
      {"bits/confname.h", "<unistd.h>"},
      {"bits/dirent.h", "<dirent.h>"},
      {"bits/dlfcn.h", "<dlfcn.h>"},
      {"bits/elfclass.h", "<link.h>"},
      {"bits/endian.h", "<endian.h>"},
      {"bits/environments.h", "<unistd.h>"},
      {"bits/fcntl-linux.h", "<fcntl.h>"},
      {"bits/fcntl.h", "<fcntl.h>"},
      {"bits/in.h", "<netinet/in.h>"},
      {"bits/ioctl-types.h", "<sys/ioctl.h>"},
      {"bits/ioctls.h", "<sys/ioctl.h>"},
      {"bits/link.h", "<link.h>"},
      {"bits/mqueue.h", "<mqueue.h>"},
      {"bits/netdb.h", "<netdb.h>"},
      {"bits/param.h", "<sys/param.h>"},
      {"bits/poll.h", "<sys/poll.h>"},
      {"bits/posix_opt.h", "<bits/posix_opt.h>"},
      {"bits/pthreadtypes.h", "<pthread.h>"},
      {"bits/sched.h", "<sched.h>"},
      {"bits/select.h", "<sys/select.h>"},
      {"bits/semaphore.h", "<semaphore.h>"},
      {"bits/sigthread.h", "<pthread.h>"},
      {"bits/sockaddr.h", "<sys/socket.h>"},
      {"bits/socket.h", "<sys/socket.h>"},
      {"bits/socket_type.h", "<sys/socket.h>"},
      {"bits/stab.def", "<stab.h>"},
      {"bits/stat.h", "<sys/stat.h>"},
      {"bits/stropts.h", "<stropts.h>"},
      {"bits/syscall.h", "<sys/syscall.h>"},
      {"bits/syslog-path.h", "<sys/syslog.h>"},
      {"bits/termios.h", "<termios.h>"},
      {"bits/types.h", "<sys/types.h>"},
      {"bits/typesizes.h", "<sys/types.h>"},
      {"bits/uio.h", "<sys/uio.h>"},
      {"bits/ustat.h", "<sys/ustat.h>"},
      {"bits/utmp.h", "<utmp.h>"},
      {"bits/utmpx.h", "<utmpx.h>"},
      {"bits/waitflags.h", "<sys/wait.h>"},
      {"bits/waitstatus.h", "<sys/wait.h>"},
      {"bits/xtitypes.h", "<stropts.h>"},
  });
  // Check MaxSuffixComponents constant is correct.
  assert(llvm::all_of(SystemHeaderMap->keys(), [](llvm::StringRef Path) {
    return std::distance(
               llvm::sys::path::begin(Path, llvm::sys::path::Style::posix),
               llvm::sys::path::end(Path)) <= MaxSuffixComponents;
  }));
  // ... and precise.
  assert(llvm::find_if(SystemHeaderMap->keys(), [](llvm::StringRef Path) {
           return std::distance(llvm::sys::path::begin(
                                    Path, llvm::sys::path::Style::posix),
                                llvm::sys::path::end(Path)) ==
                  MaxSuffixComponents;
         }) != SystemHeaderMap->keys().end());

  // FIXME: Suffix mapping contains invalid entries for C, so only enable it for
  // CPP.
  if (Language.CPlusPlus)
    StdSuffixHeaderMapping = SystemHeaderMap;
}

} // namespace clangd
} // namespace clang
