Skip to content

Commit 073f189

Browse files
[Caching] Temporarily using llvm style diagnostics in caching
When caching is enabled, using swift style diagnotics can lead to crashes due to some uninitialized variables. Even more, the swift style diagnostics is not going to render the same when replay from the cache since the currect caching diagnostics processor is not capture all information that is needed to render diagnostis from SwiftSyntax. Temprarily using llvm style for caching builds. rdar://127530204
1 parent ab57ef9 commit 073f189

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

include/swift/Basic/SourceManager.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ class GeneratedSourceInfo {
6161
CharSourceRange generatedSourceRange;
6262

6363
/// The opaque pointer for an ASTNode for which this buffer was generated.
64-
void *astNode;
64+
void *astNode = nullptr;
6565

6666
/// The declaration context in which this buffer logically resides.
67-
DeclContext *declContext;
67+
DeclContext *declContext = nullptr;
6868

6969
/// The custom attribute for an attached macro.
7070
CustomAttr *attachedMacroCustomAttr = nullptr;

lib/Frontend/CompilerInvocation.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2107,7 +2107,7 @@ static bool ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
21072107
Args.hasFlag(OPT_color_diagnostics,
21082108
OPT_no_color_diagnostics,
21092109
/*Default=*/llvm::sys::Process::StandardErrHasColors());
2110-
// If no style options are specified, default to LLVM style.
2110+
// If no style options are specified, default to Swift style.
21112111
Opts.PrintedFormattingStyle = DiagnosticOptions::FormattingStyle::Swift;
21122112
if (const Arg *arg = Args.getLastArg(OPT_diagnostic_style)) {
21132113
StringRef contents = arg->getValue();
@@ -2121,6 +2121,9 @@ static bool ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
21212121
return true;
21222122
}
21232123
}
2124+
// Swift style is not fully supported in cached mode yet.
2125+
if (Args.hasArg(OPT_cache_compile_job))
2126+
Opts.PrintedFormattingStyle = DiagnosticOptions::FormattingStyle::LLVM;
21242127

21252128
for (const Arg *arg: Args.filtered(OPT_emit_macro_expansion_files)) {
21262129
StringRef contents = arg->getValue();

0 commit comments

Comments
 (0)