hokein created this revision.
hokein added a reviewer: kadircet.
Herald added a project: All.
hokein requested review of this revision.
Herald added a project: clang.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D143280

Files:
  clang/include/clang/Tooling/Inclusions/StdSymbolMap.inc
  clang/tools/include-mapping/gen_std.py

Index: clang/tools/include-mapping/gen_std.py
===================================================================
--- clang/tools/include-mapping/gen_std.py
+++ clang/tools/include-mapping/gen_std.py
@@ -40,6 +40,7 @@
 import os
 import sys
 
+
 CODE_PREFIX = """\
 //===-- gen_std.py generated file -------------------------------*- C++ -*-===//
 //
@@ -66,6 +67,105 @@
                       required=True) 
   return parser.parse_args()
 
+def AdditionalHeadersForIOSymbols(symbol):
+  # IO-related symbols declared in the <iosfwd> header, per C++
+  # [iosfwd.syn 31.3.1]:
+  iosfwd_symbols = [
+      'basic_ios',
+      'basic_streambuf',
+      'basic_istream',
+      'basic_ostream',
+      'basic_iostream',
+
+      'basic_stringbuf',
+      'basic_istringstream',
+      'basic_ostringstream',
+      'basic_stringstream',
+
+      'basic_spanbuf',
+      'basic_ispanstream',
+      'basic_ospanstream',
+      'basic_spanstream',
+
+      'basic_filebuf',
+      'basic_ifstream',
+      'basic_ofstream',
+      'basic_fstream',
+
+      'basic_syncbuf',
+      'basic_osyncstream',
+
+      'istreambuf_iterator',
+      'ostreambuf_iterator',
+
+      'ios',
+      'wios',
+
+      'streambuf',
+      'istream',
+      'ostream',
+      'iostream',
+
+      'stringbuf',
+      'istringstream',
+      'ostringstream',
+      'stringstream',
+
+      'spanbuf',
+      'ispanstream',
+      'ospanstream',
+      'spanstream',
+
+      'filebuf',
+      'ifstream',
+      'ofstream',
+      'fstream',
+
+      'syncbuf',
+      'osyncstream',
+
+      'wstreambuf',
+      'wistream',
+      'wostream',
+      'wiostream',
+
+      'wstringbuf',
+      'wistringstream',
+      'wostringstream',
+      'wstringstream',
+
+      'wspanbuf',
+      'wispanstream',
+      'wospanstream',
+      'wspanstream',
+
+      'wfilebuf',
+      'wifstream',
+      'wofstream',
+      'wfstream',
+
+      'wsyncbuf',
+      'wosyncstream',
+
+      'fpos',
+      'streampos',
+      'wstreampos',
+      'u8streampos',
+      'u16streampos',
+      'u32streampos',
+  ]
+  assert(len(symbol.headers) == 1)
+  sym_header = symbol.headers[0]
+  headers = [sym_header]
+  if symbol.name in iosfwd_symbols:
+    headers.append("<iosfwd>")
+
+  # <iostream> is an alternative of <streambuf>, <istream>, <ostream>, <ios>.
+  # per C++ [iostream.syn 31.4.1]
+  if sym_header in ["<ios>", "<istream>", "<ostream>", "<streambuf>"]:
+    headers.append("<iostream>")
+  return headers
+
 
 def main():
   args = ParseArg()
@@ -109,8 +209,9 @@
   for symbol in symbols:
     if len(symbol.headers) == 1:
       # SYMBOL(unqualified_name, namespace, header)
-      print("SYMBOL(%s, %s, %s)" % (symbol.name, symbol.namespace,
-                                    symbol.headers[0]))
+      for header in AdditionalHeadersForIOSymbols(symbol):
+        print("SYMBOL(%s, %s, %s)" % (symbol.name, symbol.namespace,
+                                      header))
     elif len(symbol.headers) == 0:
       sys.stderr.write("No header found for symbol %s\n" % symbol.name)
     else:
Index: clang/include/clang/Tooling/Inclusions/StdSymbolMap.inc
===================================================================
--- clang/include/clang/Tooling/Inclusions/StdSymbolMap.inc
+++ clang/include/clang/Tooling/Inclusions/StdSymbolMap.inc
@@ -149,32 +149,56 @@
 SYMBOL(barrier, std::, <barrier>)
 SYMBOL(basic_common_reference, std::, <type_traits>)
 SYMBOL(basic_filebuf, std::, <fstream>)
+SYMBOL(basic_filebuf, std::, <iosfwd>)
 SYMBOL(basic_format_arg, std::, <format>)
 SYMBOL(basic_format_args, std::, <format>)
 SYMBOL(basic_format_context, std::, <format>)
 SYMBOL(basic_format_parse_context, std::, <format>)
 SYMBOL(basic_fstream, std::, <fstream>)
+SYMBOL(basic_fstream, std::, <iosfwd>)
 SYMBOL(basic_ifstream, std::, <fstream>)
+SYMBOL(basic_ifstream, std::, <iosfwd>)
 SYMBOL(basic_ios, std::, <ios>)
+SYMBOL(basic_ios, std::, <iosfwd>)
+SYMBOL(basic_ios, std::, <iostream>)
 SYMBOL(basic_iostream, std::, <istream>)
+SYMBOL(basic_iostream, std::, <iosfwd>)
+SYMBOL(basic_iostream, std::, <iostream>)
 SYMBOL(basic_ispanstream, std::, <spanstream>)
+SYMBOL(basic_ispanstream, std::, <iosfwd>)
 SYMBOL(basic_istream, std::, <istream>)
+SYMBOL(basic_istream, std::, <iosfwd>)
+SYMBOL(basic_istream, std::, <iostream>)
 SYMBOL(basic_istringstream, std::, <sstream>)
+SYMBOL(basic_istringstream, std::, <iosfwd>)
 SYMBOL(basic_ofstream, std::, <fstream>)
+SYMBOL(basic_ofstream, std::, <iosfwd>)
 SYMBOL(basic_ospanstream, std::, <spanstream>)
+SYMBOL(basic_ospanstream, std::, <iosfwd>)
 SYMBOL(basic_ostream, std::, <ostream>)
+SYMBOL(basic_ostream, std::, <iosfwd>)
+SYMBOL(basic_ostream, std::, <iostream>)
 SYMBOL(basic_ostringstream, std::, <sstream>)
+SYMBOL(basic_ostringstream, std::, <iosfwd>)
 SYMBOL(basic_osyncstream, std::, <syncstream>)
+SYMBOL(basic_osyncstream, std::, <iosfwd>)
 SYMBOL(basic_regex, std::, <regex>)
 SYMBOL(basic_spanbuf, std::, <spanstream>)
+SYMBOL(basic_spanbuf, std::, <iosfwd>)
 SYMBOL(basic_spanstream, std::, <spanstream>)
+SYMBOL(basic_spanstream, std::, <iosfwd>)
 SYMBOL(basic_stacktrace, std::, <stacktrace>)
 SYMBOL(basic_streambuf, std::, <streambuf>)
+SYMBOL(basic_streambuf, std::, <iosfwd>)
+SYMBOL(basic_streambuf, std::, <iostream>)
 SYMBOL(basic_string, std::, <string>)
 SYMBOL(basic_string_view, std::, <string_view>)
 SYMBOL(basic_stringbuf, std::, <sstream>)
+SYMBOL(basic_stringbuf, std::, <iosfwd>)
 SYMBOL(basic_stringstream, std::, <sstream>)
+SYMBOL(basic_stringstream, std::, <iosfwd>)
 SYMBOL(basic_syncbuf, std::, <syncstream>)
+SYMBOL(basic_syncbuf, std::, <iosfwd>)
 SYMBOL(bernoulli_distribution, std::, <random>)
 SYMBOL(beta, std::, <cmath>)
 SYMBOL(betaf, std::, <cmath>)
@@ -198,6 +222,7 @@
 SYMBOL(bitset, std::, <bitset>)
 SYMBOL(bool_constant, std::, <type_traits>)
 SYMBOL(boolalpha, std::, <ios>)
+SYMBOL(boolalpha, std::, <iostream>)
 SYMBOL(boyer_moore_horspool_searcher, std::, <functional>)
 SYMBOL(boyer_moore_searcher, std::, <functional>)
 SYMBOL(bsearch, std::, <cstdlib>)
@@ -329,6 +354,7 @@
 SYMBOL(cyl_neumannf, std::, <cmath>)
 SYMBOL(cyl_neumannl, std::, <cmath>)
 SYMBOL(dec, std::, <ios>)
+SYMBOL(dec, std::, <iostream>)
 SYMBOL(deca, std::, <ratio>)
 SYMBOL(decay, std::, <type_traits>)
 SYMBOL(decay_t, std::, <type_traits>)
@@ -341,6 +367,7 @@
 SYMBOL(default_sentinel, std::, <iterator>)
 SYMBOL(default_sentinel_t, std::, <iterator>)
 SYMBOL(defaultfloat, std::, <ios>)
+SYMBOL(defaultfloat, std::, <iostream>)
 SYMBOL(defer_lock, std::, <mutex>)
 SYMBOL(defer_lock_t, std::, <mutex>)
 SYMBOL(denorm_absent, std::, <limits>)
@@ -377,12 +404,15 @@
 SYMBOL(ellint_3f, std::, <cmath>)
 SYMBOL(ellint_3l, std::, <cmath>)
 SYMBOL(emit_on_flush, std::, <ostream>)
+SYMBOL(emit_on_flush, std::, <iostream>)
 SYMBOL(enable_if, std::, <type_traits>)
 SYMBOL(enable_if_t, std::, <type_traits>)
 SYMBOL(enable_shared_from_this, std::, <memory>)
 SYMBOL(endian, std::, <bit>)
 SYMBOL(endl, std::, <ostream>)
+SYMBOL(endl, std::, <iostream>)
 SYMBOL(ends, std::, <ostream>)
+SYMBOL(ends, std::, <iostream>)
 SYMBOL(equal, std::, <algorithm>)
 SYMBOL(equal_range, std::, <algorithm>)
 SYMBOL(equal_to, std::, <functional>)
@@ -454,6 +484,8 @@
 SYMBOL(fgetwc, std::, <cwchar>)
 SYMBOL(fgetws, std::, <cwchar>)
 SYMBOL(filebuf, std::, <streambuf>)
+SYMBOL(filebuf, std::, <iosfwd>)
+SYMBOL(filebuf, std::, <iostream>)
 SYMBOL(fill, std::, <algorithm>)
 SYMBOL(fill_n, std::, <algorithm>)
 SYMBOL(find, std::, <algorithm>)
@@ -463,6 +495,7 @@
 SYMBOL(find_if_not, std::, <algorithm>)
 SYMBOL(fisher_f_distribution, std::, <random>)
 SYMBOL(fixed, std::, <ios>)
+SYMBOL(fixed, std::, <iostream>)
 SYMBOL(float_denorm_style, std::, <limits>)
 SYMBOL(float_round_style, std::, <limits>)
 SYMBOL(float_t, std::, <cmath>)
@@ -471,7 +504,9 @@
 SYMBOL(floorf, std::, <cmath>)
 SYMBOL(floorl, std::, <cmath>)
 SYMBOL(flush, std::, <ostream>)
+SYMBOL(flush, std::, <iostream>)
 SYMBOL(flush_emit, std::, <ostream>)
+SYMBOL(flush_emit, std::, <iostream>)
 SYMBOL(fma, std::, <cmath>)
 SYMBOL(fmaf, std::, <cmath>)
 SYMBOL(fmal, std::, <cmath>)
@@ -505,6 +540,8 @@
 SYMBOL(forward_list, std::, <forward_list>)
 SYMBOL(fpclassify, std::, <cmath>)
 SYMBOL(fpos, std::, <ios>)
+SYMBOL(fpos, std::, <iosfwd>)
+SYMBOL(fpos, std::, <iostream>)
 SYMBOL(fpos_t, std::, <cstdio>)
 SYMBOL(fprintf, std::, <cstdio>)
 SYMBOL(fputc, std::, <cstdio>)
@@ -527,6 +564,7 @@
 SYMBOL(fseek, std::, <cstdio>)
 SYMBOL(fsetpos, std::, <cstdio>)
 SYMBOL(fstream, std::, <fstream>)
+SYMBOL(fstream, std::, <iosfwd>)
 SYMBOL(ftell, std::, <cstdio>)
 SYMBOL(function, std::, <functional>)
 SYMBOL(future, std::, <future>)
@@ -577,13 +615,16 @@
 SYMBOL(hermitef, std::, <cmath>)
 SYMBOL(hermitel, std::, <cmath>)
 SYMBOL(hex, std::, <ios>)
+SYMBOL(hex, std::, <iostream>)
 SYMBOL(hexfloat, std::, <ios>)
+SYMBOL(hexfloat, std::, <iostream>)
 SYMBOL(holds_alternative, std::, <variant>)
 SYMBOL(hypot, std::, <cmath>)
 SYMBOL(hypotf, std::, <cmath>)
 SYMBOL(hypotl, std::, <cmath>)
 SYMBOL(identity, std::, <functional>)
 SYMBOL(ifstream, std::, <fstream>)
+SYMBOL(ifstream, std::, <iosfwd>)
 SYMBOL(ignore, std::, <tuple>)
 SYMBOL(ilogb, std::, <cmath>)
 SYMBOL(ilogbf, std::, <cmath>)
@@ -647,6 +688,7 @@
 SYMBOL(integral, std::, <concepts>)
 SYMBOL(integral_constant, std::, <type_traits>)
 SYMBOL(internal, std::, <ios>)
+SYMBOL(internal, std::, <iostream>)
 SYMBOL(intmax_t, std::, <cstdint>)
 SYMBOL(intptr_t, std::, <cstdint>)
 SYMBOL(invalid_argument, std::, <stdexcept>)
@@ -656,10 +698,17 @@
 SYMBOL(invoke_result, std::, <type_traits>)
 SYMBOL(invoke_result_t, std::, <type_traits>)
 SYMBOL(io_errc, std::, <ios>)
+SYMBOL(io_errc, std::, <iostream>)
 SYMBOL(ios, std::, <ios>)
+SYMBOL(ios, std::, <iosfwd>)
+SYMBOL(ios, std::, <iostream>)
 SYMBOL(ios_base, std::, <ios>)
+SYMBOL(ios_base, std::, <iostream>)
 SYMBOL(iostream, std::, <istream>)
+SYMBOL(iostream, std::, <iosfwd>)
+SYMBOL(iostream, std::, <iostream>)
 SYMBOL(iostream_category, std::, <ios>)
+SYMBOL(iostream_category, std::, <iostream>)
 SYMBOL(iota, std::, <numeric>)
 SYMBOL(is_abstract, std::, <type_traits>)
 SYMBOL(is_abstract_v, std::, <type_traits>)
@@ -852,13 +901,18 @@
 SYMBOL(isnan, std::, <cmath>)
 SYMBOL(isnormal, std::, <cmath>)
 SYMBOL(ispanstream, std::, <spanstream>)
+SYMBOL(ispanstream, std::, <iosfwd>)
 SYMBOL(isprint, std::, <cctype>)
 SYMBOL(ispunct, std::, <cctype>)
 SYMBOL(isspace, std::, <cctype>)
 SYMBOL(istream, std::, <istream>)
+SYMBOL(istream, std::, <iosfwd>)
+SYMBOL(istream, std::, <iostream>)
 SYMBOL(istream_iterator, std::, <iterator>)
 SYMBOL(istreambuf_iterator, std::, <iterator>)
+SYMBOL(istreambuf_iterator, std::, <iosfwd>)
 SYMBOL(istringstream, std::, <sstream>)
+SYMBOL(istringstream, std::, <iosfwd>)
 SYMBOL(istrstream, std::, <strstream>)
 SYMBOL(isunordered, std::, <cmath>)
 SYMBOL(isupper, std::, <cctype>)
@@ -905,6 +959,7 @@
 SYMBOL(ldiv, std::, <cstdlib>)
 SYMBOL(ldiv_t, std::, <cstdlib>)
 SYMBOL(left, std::, <ios>)
+SYMBOL(left, std::, <iostream>)
 SYMBOL(legendre, std::, <cmath>)
 SYMBOL(legendref, std::, <cmath>)
 SYMBOL(legendrel, std::, <cmath>)
@@ -1074,7 +1129,9 @@
 SYMBOL(nexttowardf, std::, <cmath>)
 SYMBOL(nexttowardl, std::, <cmath>)
 SYMBOL(noboolalpha, std::, <ios>)
+SYMBOL(noboolalpha, std::, <iostream>)
 SYMBOL(noemit_on_flush, std::, <ostream>)
+SYMBOL(noemit_on_flush, std::, <iostream>)
 SYMBOL(none_of, std::, <algorithm>)
 SYMBOL(noop_coroutine, std::, <coroutine>)
 SYMBOL(noop_coroutine_handle, std::, <coroutine>)
@@ -1082,9 +1139,13 @@
 SYMBOL(norm, std::, <complex>)
 SYMBOL(normal_distribution, std::, <random>)
 SYMBOL(noshowbase, std::, <ios>)
+SYMBOL(noshowbase, std::, <iostream>)
 SYMBOL(noshowpoint, std::, <ios>)
+SYMBOL(noshowpoint, std::, <iostream>)
 SYMBOL(noshowpos, std::, <ios>)
+SYMBOL(noshowpos, std::, <iostream>)
 SYMBOL(noskipws, std::, <ios>)
+SYMBOL(noskipws, std::, <iostream>)
 SYMBOL(nostopstate, std::, <stop_token>)
 SYMBOL(nostopstate_t, std::, <stop_token>)
 SYMBOL(not_equal_to, std::, <functional>)
@@ -1093,7 +1154,9 @@
 SYMBOL(nothrow_t, std::, <new>)
 SYMBOL(notify_all_at_thread_exit, std::, <condition_variable>)
 SYMBOL(nounitbuf, std::, <ios>)
+SYMBOL(nounitbuf, std::, <iostream>)
 SYMBOL(nouppercase, std::, <ios>)
+SYMBOL(nouppercase, std::, <iostream>)
 SYMBOL(nth_element, std::, <algorithm>)
 SYMBOL(nullopt, std::, <optional>)
 SYMBOL(nullopt_t, std::, <optional>)
@@ -1104,16 +1167,24 @@
 SYMBOL(numpunct, std::, <locale>)
 SYMBOL(numpunct_byname, std::, <locale>)
 SYMBOL(oct, std::, <ios>)
+SYMBOL(oct, std::, <iostream>)
 SYMBOL(ofstream, std::, <fstream>)
+SYMBOL(ofstream, std::, <iosfwd>)
 SYMBOL(once_flag, std::, <mutex>)
 SYMBOL(optional, std::, <optional>)
 SYMBOL(ospanstream, std::, <spanstream>)
+SYMBOL(ospanstream, std::, <iosfwd>)
 SYMBOL(ostream, std::, <ostream>)
+SYMBOL(ostream, std::, <iosfwd>)
+SYMBOL(ostream, std::, <iostream>)
 SYMBOL(ostream_iterator, std::, <iterator>)
 SYMBOL(ostreambuf_iterator, std::, <iterator>)
+SYMBOL(ostreambuf_iterator, std::, <iosfwd>)
 SYMBOL(ostringstream, std::, <sstream>)
+SYMBOL(ostringstream, std::, <iosfwd>)
 SYMBOL(ostrstream, std::, <strstream>)
 SYMBOL(osyncstream, std::, <syncstream>)
+SYMBOL(osyncstream, std::, <iosfwd>)
 SYMBOL(out_of_range, std::, <stdexcept>)
 SYMBOL(out_ptr, std::, <memory>)
 SYMBOL(out_ptr_t, std::, <memory>)
@@ -1258,6 +1329,7 @@
 SYMBOL(riemann_zetaf, std::, <cmath>)
 SYMBOL(riemann_zetal, std::, <cmath>)
 SYMBOL(right, std::, <ios>)
+SYMBOL(right, std::, <iostream>)
 SYMBOL(rint, std::, <cmath>)
 SYMBOL(rintf, std::, <cmath>)
 SYMBOL(rintl, std::, <cmath>)
@@ -1284,6 +1356,7 @@
 SYMBOL(scalbnl, std::, <cmath>)
 SYMBOL(scanf, std::, <cstdio>)
 SYMBOL(scientific, std::, <ios>)
+SYMBOL(scientific, std::, <iostream>)
 SYMBOL(scoped_allocator_adaptor, std::, <scoped_allocator>)
 SYMBOL(scoped_lock, std::, <mutex>)
 SYMBOL(search, std::, <algorithm>)
@@ -1314,8 +1387,11 @@
 SYMBOL(shift_left, std::, <algorithm>)
 SYMBOL(shift_right, std::, <algorithm>)
 SYMBOL(showbase, std::, <ios>)
+SYMBOL(showbase, std::, <iostream>)
 SYMBOL(showpoint, std::, <ios>)
+SYMBOL(showpoint, std::, <iostream>)
 SYMBOL(showpos, std::, <ios>)
+SYMBOL(showpos, std::, <iostream>)
 SYMBOL(shuffle, std::, <algorithm>)
 SYMBOL(shuffle_order_engine, std::, <random>)
 SYMBOL(sig_atomic_t, std::, <csignal>)
@@ -1330,6 +1406,7 @@
 SYMBOL(sinl, std::, <cmath>)
 SYMBOL(sized_sentinel_for, std::, <iterator>)
 SYMBOL(skipws, std::, <ios>)
+SYMBOL(skipws, std::, <iostream>)
 SYMBOL(slice, std::, <valarray>)
 SYMBOL(slice_array, std::, <valarray>)
 SYMBOL(smatch, std::, <regex>)
@@ -1340,7 +1417,9 @@
 SYMBOL(source_location, std::, <source_location>)
 SYMBOL(span, std::, <span>)
 SYMBOL(spanbuf, std::, <spanstream>)
+SYMBOL(spanbuf, std::, <iosfwd>)
 SYMBOL(spanstream, std::, <spanstream>)
+SYMBOL(spanstream, std::, <iosfwd>)
 SYMBOL(sph_bessel, std::, <cmath>)
 SYMBOL(sph_besself, std::, <cmath>)
 SYMBOL(sph_bessell, std::, <cmath>)
@@ -1383,16 +1462,23 @@
 SYMBOL(strcpy, std::, <cstring>)
 SYMBOL(strcspn, std::, <cstring>)
 SYMBOL(streambuf, std::, <streambuf>)
+SYMBOL(streambuf, std::, <iosfwd>)
+SYMBOL(streambuf, std::, <iostream>)
 SYMBOL(streamoff, std::, <ios>)
+SYMBOL(streamoff, std::, <iostream>)
+SYMBOL(streampos, std::, <iosfwd>)
 SYMBOL(streampos, std::, <iosfwd>)
 SYMBOL(streamsize, std::, <ios>)
+SYMBOL(streamsize, std::, <iostream>)
 SYMBOL(strerror, std::, <cstring>)
 SYMBOL(strftime, std::, <ctime>)
 SYMBOL(strict_weak_order, std::, <concepts>)
 SYMBOL(string, std::, <string>)
 SYMBOL(string_view, std::, <string_view>)
 SYMBOL(stringbuf, std::, <sstream>)
+SYMBOL(stringbuf, std::, <iosfwd>)
 SYMBOL(stringstream, std::, <sstream>)
+SYMBOL(stringstream, std::, <iosfwd>)
 SYMBOL(strlen, std::, <cstring>)
 SYMBOL(strncat, std::, <cstring>)
 SYMBOL(strncmp, std::, <cstring>)
@@ -1427,6 +1513,7 @@
 SYMBOL(swprintf, std::, <cwchar>)
 SYMBOL(swscanf, std::, <cwchar>)
 SYMBOL(syncbuf, std::, <syncstream>)
+SYMBOL(syncbuf, std::, <iosfwd>)
 SYMBOL(system, std::, <cstdlib>)
 SYMBOL(system_category, std::, <system_error>)
 SYMBOL(system_error, std::, <system_error>)
@@ -1495,12 +1582,15 @@
 SYMBOL(type_index, std::, <typeindex>)
 SYMBOL(type_info, std::, <typeinfo>)
 SYMBOL(u16streampos, std::, <iosfwd>)
+SYMBOL(u16streampos, std::, <iosfwd>)
 SYMBOL(u16string, std::, <string>)
 SYMBOL(u16string_view, std::, <string_view>)
 SYMBOL(u32streampos, std::, <iosfwd>)
+SYMBOL(u32streampos, std::, <iosfwd>)
 SYMBOL(u32string, std::, <string>)
 SYMBOL(u32string_view, std::, <string_view>)
 SYMBOL(u8streampos, std::, <iosfwd>)
+SYMBOL(u8streampos, std::, <iosfwd>)
 SYMBOL(u8string, std::, <string>)
 SYMBOL(u8string_view, std::, <string_view>)
 SYMBOL(uint16_t, std::, <cstdint>)
@@ -1542,6 +1632,7 @@
 SYMBOL(unique_lock, std::, <mutex>)
 SYMBOL(unique_ptr, std::, <memory>)
 SYMBOL(unitbuf, std::, <ios>)
+SYMBOL(unitbuf, std::, <iostream>)
 SYMBOL(unordered_map, std::, <unordered_map>)
 SYMBOL(unordered_multimap, std::, <unordered_map>)
 SYMBOL(unordered_multiset, std::, <unordered_set>)
@@ -1552,6 +1643,7 @@
 SYMBOL(unsigned_integral, std::, <concepts>)
 SYMBOL(upper_bound, std::, <algorithm>)
 SYMBOL(uppercase, std::, <ios>)
+SYMBOL(uppercase, std::, <iostream>)
 SYMBOL(use_facet, std::, <locale>)
 SYMBOL(uses_allocator, std::, <memory>)
 SYMBOL(uses_allocator_construction_args, std::, <memory>)
@@ -1633,44 +1725,71 @@
 SYMBOL(weakly_incrementable, std::, <iterator>)
 SYMBOL(weibull_distribution, std::, <random>)
 SYMBOL(wfilebuf, std::, <streambuf>)
+SYMBOL(wfilebuf, std::, <iosfwd>)
+SYMBOL(wfilebuf, std::, <iostream>)
 SYMBOL(wformat_args, std::, <format>)
 SYMBOL(wformat_context, std::, <format>)
 SYMBOL(wformat_parse_context, std::, <format>)
 SYMBOL(wfstream, std::, <fstream>)
+SYMBOL(wfstream, std::, <iosfwd>)
 SYMBOL(wifstream, std::, <fstream>)
+SYMBOL(wifstream, std::, <iosfwd>)
 SYMBOL(wios, std::, <ios>)
+SYMBOL(wios, std::, <iosfwd>)
+SYMBOL(wios, std::, <iostream>)
 SYMBOL(wiostream, std::, <istream>)
+SYMBOL(wiostream, std::, <iosfwd>)
+SYMBOL(wiostream, std::, <iostream>)
 SYMBOL(wispanstream, std::, <spanstream>)
+SYMBOL(wispanstream, std::, <iosfwd>)
 SYMBOL(wistream, std::, <istream>)
+SYMBOL(wistream, std::, <iosfwd>)
+SYMBOL(wistream, std::, <iostream>)
 SYMBOL(wistringstream, std::, <sstream>)
+SYMBOL(wistringstream, std::, <iosfwd>)
 SYMBOL(wmemchr, std::, <cwchar>)
 SYMBOL(wmemcmp, std::, <cwchar>)
 SYMBOL(wmemcpy, std::, <cwchar>)
 SYMBOL(wmemmove, std::, <cwchar>)
 SYMBOL(wmemset, std::, <cwchar>)
 SYMBOL(wofstream, std::, <fstream>)
+SYMBOL(wofstream, std::, <iosfwd>)
 SYMBOL(wospanstream, std::, <spanstream>)
+SYMBOL(wospanstream, std::, <iosfwd>)
 SYMBOL(wostream, std::, <ostream>)
+SYMBOL(wostream, std::, <iosfwd>)
+SYMBOL(wostream, std::, <iostream>)
 SYMBOL(wostringstream, std::, <sstream>)
+SYMBOL(wostringstream, std::, <iosfwd>)
 SYMBOL(wosyncstream, std::, <syncstream>)
+SYMBOL(wosyncstream, std::, <iosfwd>)
 SYMBOL(wprintf, std::, <cwchar>)
 SYMBOL(wregex, std::, <regex>)
 SYMBOL(ws, std::, <istream>)
+SYMBOL(ws, std::, <iostream>)
 SYMBOL(wscanf, std::, <cwchar>)
 SYMBOL(wsmatch, std::, <regex>)
 SYMBOL(wspanbuf, std::, <spanstream>)
+SYMBOL(wspanbuf, std::, <iosfwd>)
 SYMBOL(wspanstream, std::, <spanstream>)
+SYMBOL(wspanstream, std::, <iosfwd>)
 SYMBOL(wsregex_iterator, std::, <regex>)
 SYMBOL(wsregex_token_iterator, std::, <regex>)
 SYMBOL(wssub_match, std::, <regex>)
 SYMBOL(wstreambuf, std::, <streambuf>)
+SYMBOL(wstreambuf, std::, <iosfwd>)
+SYMBOL(wstreambuf, std::, <iostream>)
+SYMBOL(wstreampos, std::, <iosfwd>)
 SYMBOL(wstreampos, std::, <iosfwd>)
 SYMBOL(wstring, std::, <string>)
 SYMBOL(wstring_convert, std::, <locale>)
 SYMBOL(wstring_view, std::, <string_view>)
 SYMBOL(wstringbuf, std::, <sstream>)
+SYMBOL(wstringbuf, std::, <iosfwd>)
 SYMBOL(wstringstream, std::, <sstream>)
+SYMBOL(wstringstream, std::, <iosfwd>)
 SYMBOL(wsyncbuf, std::, <syncstream>)
+SYMBOL(wsyncbuf, std::, <iosfwd>)
 SYMBOL(yocto, std::, <ratio>)
 SYMBOL(yotta, std::, <ratio>)
 SYMBOL(zepto, std::, <ratio>)
@@ -1924,6 +2043,7 @@
 SYMBOL(get_unexpected, std::, <exception>)
 SYMBOL(gets, std::, <cstdio>)
 SYMBOL(io_state, std::, <ios>)
+SYMBOL(io_state, std::, <iostream>)
 SYMBOL(is_literal_type, std::, <type_traits>)
 SYMBOL(is_literal_type_v, std::, <type_traits>)
 SYMBOL(mem_fun, std::, <functional>)
@@ -1935,6 +2055,7 @@
 SYMBOL(not1, std::, <functional>)
 SYMBOL(not2, std::, <functional>)
 SYMBOL(open_mode, std::, <ios>)
+SYMBOL(open_mode, std::, <iostream>)
 SYMBOL(pointer_safety, std::, <memory>)
 SYMBOL(preferred, std::, <memory>)
 SYMBOL(ptr_fun, std::, <functional>)
@@ -1944,6 +2065,7 @@
 SYMBOL(result_of_t, std::, <type_traits>)
 SYMBOL(return_temporary_buffer, std::, <memory>)
 SYMBOL(seek_dir, std::, <ios>)
+SYMBOL(seek_dir, std::, <iostream>)
 SYMBOL(set_unexpected, std::, <exception>)
 SYMBOL(strict, std::, <memory>)
 SYMBOL(unary_function, std::, <functional>)
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to