[libc++] Adds more forward declaration headers.
authorMark de Wever <koraq@xs4all.nl>
Thu, 20 Apr 2023 19:03:40 +0000 (21:03 +0200)
committerMark de Wever <koraq@xs4all.nl>
Thu, 27 Apr 2023 15:07:10 +0000 (17:07 +0200)
commit9d16cbc5c8bdf976287cc97c7d95d115496e3077
treeb0e6e8e90a4d75f81300ee689f8cf457441dcaf7
parent77ac36547a2d15dc465d723179ce7047a59583ce
[libc++] Adds more forward declaration headers.

The module validation script of D144994 validate whether the contents of
an include match its module. An include is the set of files matching the
pattern:
- foo
- foo/*.
- __fwd/foo.h

Several declarations of the stream headers are in the header iosfwd.
This gives issue using the validation script. Adding iosfwd to the set
of matching files gives too many declarations. For example when
validating the fstream header it will pull in declarations of the
istream header. Instead if writing a set of filters the headers are
granularized into smaller headers containing the expected declarations.

Reviewed By: #libc, ldionne

Differential Revision: https://reviews.llvm.org/D148927
17 files changed:
libcxx/include/CMakeLists.txt
libcxx/include/__fwd/fstream.h [new file with mode: 0644]
libcxx/include/__fwd/ios.h [new file with mode: 0644]
libcxx/include/__fwd/istream.h [new file with mode: 0644]
libcxx/include/__fwd/ostream.h [new file with mode: 0644]
libcxx/include/__fwd/sstream.h [new file with mode: 0644]
libcxx/include/__fwd/streambuf.h [new file with mode: 0644]
libcxx/include/fstream
libcxx/include/ios
libcxx/include/iosfwd
libcxx/include/istream
libcxx/include/module.modulemap.in
libcxx/include/ostream
libcxx/include/sstream
libcxx/include/streambuf
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/utils/data/ignore_format.txt