@@ -276,16 +276,8 @@ computeCacheKey(llvm::cas::ObjectStore &CAS, llvm::ArrayRef<const char *> Args,
276
276
swift::CompilerInvocation Invocation;
277
277
swift::SourceManager SourceMgr;
278
278
swift::DiagnosticEngine Diags (SourceMgr);
279
- llvm::SmallString<128 > workingDirectory;
280
- llvm::sys::fs::current_path (workingDirectory);
281
- llvm::SmallVector<std::unique_ptr<llvm::MemoryBuffer>, 4 >
282
- configurationFileBuffers;
283
279
284
- std::string MainExecutablePath = llvm::sys::fs::getMainExecutable (
285
- " swift-frontend" , (void *)swiftscan_cache_replay_compilation);
286
-
287
- if (Invocation.parseArgs (Args, Diags, &configurationFileBuffers,
288
- workingDirectory, MainExecutablePath))
280
+ if (Invocation.parseArgs (Args, Diags, nullptr , {}))
289
281
return llvm::createStringError (llvm::inconvertibleErrorCode (),
290
282
" Argument parsing failed" );
291
283
@@ -826,11 +818,7 @@ swiftscan_cache_replay_instance_create(int argc, const char **argv,
826
818
swift::DiagnosticEngine DE (SrcMgr);
827
819
DE.addConsumer (Diags);
828
820
829
- std::string MainExecutablePath = llvm::sys::fs::getMainExecutable (
830
- " swift-frontend" , (void *)swiftscan_cache_replay_compilation);
831
-
832
- if (Instance->Invocation .parseArgs (Args, DE, nullptr , {},
833
- MainExecutablePath)) {
821
+ if (Instance->Invocation .parseArgs (Args, DE, nullptr , {})) {
834
822
delete Instance;
835
823
*error = swift::c_string_utils::create_clone (err_msg.c_str ());
836
824
return nullptr ;
@@ -981,8 +969,11 @@ static llvm::Error replayCompilation(SwiftScanReplayInstance &Instance,
981
969
DH.initDiagConsumers (Invocation);
982
970
DH.beginMessage (Invocation, Instance.Args );
983
971
984
- if (auto E = CDP->replayCachedDiagnostics (DiagnosticsOutput->getData ()))
972
+ if (auto E = CDP->replayCachedDiagnostics (DiagnosticsOutput->getData ())) {
973
+ DH.endMessage (/* ReturnCode=*/ 1 );
974
+ Inst.getDiags ().finishProcessing ();
985
975
return E;
976
+ }
986
977
987
978
if (Remarks)
988
979
Inst.getDiags ().diagnose (SourceLoc (), diag::replay_output,
0 commit comments