Skip to content

Commit 273500e

Browse files
committed
Driver: add an option to avoid emitting .swiftsourceinfo files
1 parent 7934cdf commit 273500e

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

include/swift/Option/Options.td

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,11 @@ def emit_module_interface_path :
419419
ArgumentIsPath]>,
420420
MetaVarName<"<path>">, HelpText<"Output module interface file to <path>">;
421421

422+
def avoid_emit_module_source_info :
423+
Flag<["-"], "avoid-emit-module-source-info">,
424+
Flags<[NoInteractiveOption, DoesNotAffectIncrementalBuild]>,
425+
HelpText<"don't emit Swift source info file">;
426+
422427
def emit_module_source_info_path :
423428
Separate<["-"], "emit-module-source-info-path">,
424429
Flags<[FrontendOption, NoInteractiveOption, DoesNotAffectIncrementalBuild,

lib/Driver/Driver.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2718,7 +2718,10 @@ Job *Driver::buildJobsForAction(Compilation &C, const JobAction *JA,
27182718
if (OI.ShouldGenerateModule &&
27192719
(isa<CompileJobAction>(JA) || isa<MergeModuleJobAction>(JA))) {
27202720
chooseSwiftModuleDocOutputPath(C, OutputMap, workingDirectory, Output.get());
2721-
chooseSwiftSourceInfoOutputPath(C, OutputMap, workingDirectory, Output.get());
2721+
if (!C.getArgs().hasArg(options::OPT_avoid_emit_module_source_info)) {
2722+
chooseSwiftSourceInfoOutputPath(C, OutputMap, workingDirectory,
2723+
Output.get());
2724+
}
27222725
}
27232726

27242727
if (C.getArgs().hasArg(options::OPT_emit_module_interface,

test/Driver/sourceinfo_file.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,8 @@
1414
// RUN: %swiftc_driver -driver-print-jobs -emit-module %s -emit-module-path %t/build/sourceinfo_file.swiftmodule -module-name sourceinfo_file -emit-module-source-info-path %t/build/DriverPath.swiftsourceinfo | %FileCheck %s -check-prefix CHECK-DRIVER-OPT
1515

1616
// CHECK-DRIVER-OPT: build{{[/\\]}}DriverPath.swiftsourceinfo
17+
18+
// RUN: %empty-directory(%t/build)
19+
// RUN: %swiftc_driver -driver-print-jobs -emit-module %s -emit-module-path %t/build/sourceinfo_file.swiftmodule -module-name sourceinfo_file -avoid-emit-module-source-info | %FileCheck %s -check-prefix CHECK-DRIVER-AVOID
20+
21+
// CHECK-DRIVER-AVOID-NOT: swiftsourceinfo

0 commit comments

Comments
 (0)