@@ -332,23 +332,20 @@ static void SetupSerializedDiagnostics(DiagnosticOptions *DiagOpts,
332332 }
333333}
334334
335- void CompilerInstance::createDiagnostics (DiagnosticConsumer *Client,
335+ void CompilerInstance::createDiagnostics (llvm::vfs::FileSystem &VFS,
336+ DiagnosticConsumer *Client,
336337 bool ShouldOwnClient) {
337- Diagnostics = createDiagnostics (
338- &getDiagnosticOpts (), Client, ShouldOwnClient, &getCodeGenOpts (),
339- FileMgr ? FileMgr->getVirtualFileSystemPtr () : nullptr );
338+ Diagnostics = createDiagnostics (VFS, &getDiagnosticOpts (), Client,
339+ ShouldOwnClient, &getCodeGenOpts ());
340340}
341341
342342IntrusiveRefCntPtr<DiagnosticsEngine> CompilerInstance::createDiagnostics (
343- DiagnosticOptions *Opts, DiagnosticConsumer *Client, bool ShouldOwnClient ,
344- const CodeGenOptions *CodeGenOpts ,
345- llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS ) {
343+ llvm::vfs::FileSystem &VFS, DiagnosticOptions *Opts ,
344+ DiagnosticConsumer *Client, bool ShouldOwnClient ,
345+ const CodeGenOptions *CodeGenOpts ) {
346346 IntrusiveRefCntPtr<DiagnosticIDs> DiagID (new DiagnosticIDs ());
347- IntrusiveRefCntPtr<DiagnosticsEngine>
348- Diags (new DiagnosticsEngine (DiagID, Opts));
349-
350- if (!VFS)
351- VFS = llvm::vfs::getRealFileSystem ();
347+ IntrusiveRefCntPtr<DiagnosticsEngine> Diags (
348+ new DiagnosticsEngine (DiagID, Opts));
352349
353350 // Create the diagnostic client for reporting errors or for
354351 // implementing -verify.
@@ -372,7 +369,7 @@ IntrusiveRefCntPtr<DiagnosticsEngine> CompilerInstance::createDiagnostics(
372369 Opts->DiagnosticSerializationFile );
373370
374371 // Configure our handling of diagnostics.
375- ProcessWarningOptions (*Diags, *Opts, * VFS);
372+ ProcessWarningOptions (*Diags, *Opts, VFS);
376373
377374 return Diags;
378375}
@@ -1240,9 +1237,10 @@ compileModuleImpl(CompilerInstance &ImportingInstance, SourceLocation ImportLoc,
12401237 auto &Inv = *Invocation;
12411238 Instance.setInvocation (std::move (Invocation));
12421239
1243- Instance.createDiagnostics (new ForwardingDiagnosticConsumer (
1244- ImportingInstance.getDiagnosticClient ()),
1245- /* ShouldOwnClient=*/ true );
1240+ Instance.createDiagnostics (
1241+ ImportingInstance.getVirtualFileSystem (),
1242+ new ForwardingDiagnosticConsumer (ImportingInstance.getDiagnosticClient ()),
1243+ /* ShouldOwnClient=*/ true );
12461244
12471245 if (llvm::is_contained (DiagOpts.SystemHeaderWarningsModules , ModuleName))
12481246 Instance.getDiagnostics ().setSuppressSystemWarnings (false );
0 commit comments