[C++20][Modules][2/8] Add enumerations for partition modules and stream them.
authorIain Sandoe <iain@sandoe.co.uk>
Mon, 29 Nov 2021 08:05:56 +0000 (08:05 +0000)
committerIain Sandoe <iain@sandoe.co.uk>
Tue, 22 Feb 2022 10:08:15 +0000 (10:08 +0000)
commitc9cc8035eb4fbf5d20a73ec7e0870e6195012a71
treec209e16ffcce8163d886f8573d7749fa8a9dff70
parentd6a9eec2382559aeae3bb87761afa1b6d351e9a5
[C++20][Modules][2/8] Add enumerations for partition modules and stream them.

This is an initial enabling patch for module partition support.
We add enumerations for partition interfaces/implementations.

This means that the module kind enumeration now occupies three
bits, so the AST streamer is adjusted for this.  Adding one bit there
seems preferable to trying to overload the meanings of existing
kinds (and we will also want to add a C++20 header unit case later).

Differential Revision: https://reviews.llvm.org/D114714
clang/include/clang/Basic/Module.h
clang/lib/AST/Decl.cpp
clang/lib/Sema/SemaModule.cpp
clang/lib/Serialization/ASTWriter.cpp