diff --git a/clang/include/clang/Tooling/Inclusions/StdAlternativeHeaderMap.inc b/clang/include/clang/Tooling/Inclusions/StdAlternativeHeaderMap.inc new file mode 100644 --- /dev/null +++ b/clang/include/clang/Tooling/Inclusions/StdAlternativeHeaderMap.inc @@ -0,0 +1,207 @@ +//===-- StdAlternativeHeaderMap.inc -----------------------------*- C++ -*-===// +// +// This is a hand-curated list for C++ symbols (e.g. provided by multiple +// headers), to address the short comings of cppreference or automated +// extraction logic. All headers for a symbol name provide the same declaration +// (hence these are not overloads/variants like std::remove from algorithm vs +// cstdio). +// +//===----------------------------------------------------------------------===// + +// Symbols that can be provided by any of the headers, ordered by the header +// preference. +// cppreference mentions the header is an alternative for these symbols, +// but they are not per the standard. +SYMBOL(consume_header, std::, ) +SYMBOL(generate_header, std::, ) +SYMBOL(little_endian, std::, ) + +SYMBOL(mbstate_t, std::, ) +SYMBOL(mbstate_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(size_t, std::, ) +SYMBOL(unwrap_ref_decay, std::, ) +SYMBOL(unwrap_ref_decay, std::, ) +SYMBOL(unwrap_reference, std::, ) +SYMBOL(unwrap_reference, std::, ) +SYMBOL(unwrap_ref_decay_t, std::, ) +SYMBOL(unwrap_ref_decay_t, std::, ) +SYMBOL(wint_t, std::, ) +SYMBOL(wint_t, std::, ) +// C++ [iterator.range 25.7]: In addition to being available via inclusion of +// the header, the function templates in [iterator.range] are +// available when any of the following headers are included: , , +// , ... and . +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(begin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cbegin, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(cend, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crbegin, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(crend, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(data, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(empty, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(end, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rbegin, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(rend, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(size, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, ) +SYMBOL(ssize, std::, )