Skip to content

Commit b8d1960

Browse files
committed
[Dependency Scanning] Add Macro Dependencies to the dependency scanner cache serialization format
1 parent 6fdb788 commit b8d1960

File tree

2 files changed

+202
-16
lines changed

2 files changed

+202
-16
lines changed

include/swift/DependencyScan/SerializedModuleDependencyCacheFormat.h

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,9 @@ using llvm::BCVBR;
3939

4040
/// Every .moddepcache file begins with these 4 bytes, for easy identification.
4141
const 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;
7473
using ModuleCacheKeyIDField = IdentifierIDField;
7574
using ImportArrayIDField = IdentifierIDField;
7675
using LinkLibrariesArrayIDField = IdentifierIDField;
76+
using MacroDependenciesArrayIDField = IdentifierIDField;
7777
using FlagIDArrayIDField = IdentifierIDField;
7878
using DependencyIDArrayIDField = IdentifierIDField;
7979
using AuxiliaryFilesArrayIDField = IdentifierIDField;
@@ -95,6 +95,8 @@ enum {
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>;
133135
using IdentifierArrayLayout =
134136
BCRecordLayout<IDENTIFIER_ARRAY_NODE, IdentifierIDArryField>;
135137

136-
using LinkLibraryArrayLayout =
137-
BCRecordLayout<LINK_LIBRARY_ARRAY_NODE, IdentifierIDArryField>;
138-
138+
// ACTODO: Comment
139139
using 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
146161
using SourceLocationLayout =
147162
BCRecordLayout<LINK_LIBRARY_NODE, // ID
148163
IdentifierIDField, // bufferIdentifier
149164
LineNumberField, // lineNumber
150165
ColumnNumberField // columnNumber
151166
>;
152167

168+
// ACTODO: Comment
153169
using 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

181197
using SwiftInterfaceModuleDetailsLayout =

0 commit comments

Comments
 (0)