@@ -39,10 +39,9 @@ using llvm::BCVBR;
3939
4040// / Every .moddepcache file begins with these 4 bytes, for easy identification.
4141const unsigned char MODULE_DEPENDENCY_CACHE_FORMAT_SIGNATURE[] = {' I' , ' M' , ' D' ,' C' };
42- const unsigned MODULE_DEPENDENCY_CACHE_FORMAT_VERSION_MAJOR =
43- 7 ; // isSystem
42+ const unsigned MODULE_DEPENDENCY_CACHE_FORMAT_VERSION_MAJOR = 8 ;
4443// / Increment this on every change.
45- const unsigned MODULE_DEPENDENCY_CACHE_FORMAT_VERSION_MINOR = 1 ;
44+ const unsigned MODULE_DEPENDENCY_CACHE_FORMAT_VERSION_MINOR = 0 ;
4645
4746// / Various identifiers in this format will rely on having their strings mapped
4847// / using this ID.
@@ -74,6 +73,7 @@ using ContextHashIDField = IdentifierIDField;
7473using ModuleCacheKeyIDField = IdentifierIDField;
7574using ImportArrayIDField = IdentifierIDField;
7675using LinkLibrariesArrayIDField = IdentifierIDField;
76+ using MacroDependenciesArrayIDField = IdentifierIDField;
7777using FlagIDArrayIDField = IdentifierIDField;
7878using DependencyIDArrayIDField = IdentifierIDField;
7979using AuxiliaryFilesArrayIDField = IdentifierIDField;
9595 MODULE_NODE,
9696 LINK_LIBRARY_NODE,
9797 LINK_LIBRARY_ARRAY_NODE,
98+ MACRO_DEPENDENCY_NODE,
99+ MACRO_DEPENDENCY_ARRAY_NODE,
98100 SOURCE_LOCATION_NODE,
99101 IMPORT_STATEMENT_NODE,
100102 SWIFT_INTERFACE_MODULE_DETAILS_NODE,
@@ -133,23 +135,37 @@ using IdentifierNodeLayout = BCRecordLayout<IDENTIFIER_NODE, BCBlob>;
133135using IdentifierArrayLayout =
134136 BCRecordLayout<IDENTIFIER_ARRAY_NODE, IdentifierIDArryField>;
135137
136- using LinkLibraryArrayLayout =
137- BCRecordLayout<LINK_LIBRARY_ARRAY_NODE, IdentifierIDArryField>;
138-
138+ // ACTODO: Comment
139139using LinkLibraryLayout =
140140 BCRecordLayout<LINK_LIBRARY_NODE, // ID
141141 IdentifierIDField, // libraryName
142142 IsFrameworkField, // isFramework
143143 IsForceLoadField // forceLoad
144144 >;
145+ // ACTODO: Comment
146+ using LinkLibraryArrayLayout =
147+ BCRecordLayout<LINK_LIBRARY_ARRAY_NODE, IdentifierIDArryField>;
148+
149+ // ACTODO: Comment
150+ using MacroDependencyLayout =
151+ BCRecordLayout<MACRO_DEPENDENCY_NODE, // ID
152+ IdentifierIDField, // macroModuleName
153+ IdentifierIDField, // libraryPath
154+ IdentifierIDField // executablePath
155+ >;
156+ // ACTODO: Comment
157+ using MacroDependencyArrayLayout =
158+ BCRecordLayout<MACRO_DEPENDENCY_ARRAY_NODE, IdentifierIDArryField>;
145159
160+ // ACTODO: Comment
146161using SourceLocationLayout =
147162 BCRecordLayout<LINK_LIBRARY_NODE, // ID
148163 IdentifierIDField, // bufferIdentifier
149164 LineNumberField, // lineNumber
150165 ColumnNumberField // columnNumber
151166 >;
152167
168+ // ACTODO: Comment
153169using ImportStatementLayout =
154170 BCRecordLayout<LINK_LIBRARY_NODE, // ID
155171 IdentifierIDField, // importIdentifier
@@ -169,13 +185,13 @@ using ModuleInfoLayout =
169185 ImportArrayIDField, // moduleImports
170186 ImportArrayIDField, // optionalModuleImports
171187 LinkLibrariesArrayIDField, // linkLibraries
188+ MacroDependenciesArrayIDField, // macroDependencies
172189 DependencyIDArrayIDField, // importedSwiftModules
173190 DependencyIDArrayIDField, // importedClangModules
174191 DependencyIDArrayIDField, // crossImportOverlayModules
175192 DependencyIDArrayIDField, // swiftOverlayDependencies
176193 ModuleCacheKeyIDField, // moduleCacheKey
177194 AuxiliaryFilesArrayIDField // auxiliaryFiles
178- // ACTODO: MacroDependenciesArrayIDField, // macroDependencies
179195 >;
180196
181197using SwiftInterfaceModuleDetailsLayout =
0 commit comments