Skip to content

Commit 68c755e

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 5d32c31 commit 68c755e

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
@@ -2172,7 +2172,7 @@ static bool ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
21722172
Args.hasFlag(OPT_color_diagnostics,
21732173
OPT_no_color_diagnostics,
21742174
/*Default=*/llvm::sys::Process::StandardErrHasColors());
2175-
// If no style options are specified, default to LLVM style.
2175+
// If no style options are specified, default to Swift style.
21762176
Opts.PrintedFormattingStyle = DiagnosticOptions::FormattingStyle::Swift;
21772177
if (const Arg *arg = Args.getLastArg(OPT_diagnostic_style)) {
21782178
StringRef contents = arg->getValue();
@@ -2186,6 +2186,9 @@ static bool ParseDiagnosticArgs(DiagnosticOptions &Opts, ArgList &Args,
21862186
return true;
21872187
}
21882188
}
2189+
// Swift style is not fully supported in cached mode yet.
2190+
if (Args.hasArg(OPT_cache_compile_job))
2191+
Opts.PrintedFormattingStyle = DiagnosticOptions::FormattingStyle::LLVM;
21892192

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

0 commit comments

Comments
 (0)