diff options
| author | Yong He <yonghe@outlook.com> | 2023-08-15 20:30:01 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-16 11:30:01 +0800 |
| commit | 0c366bc0a4332ee14d08f2555396a18cb64229fa (patch) | |
| tree | 72885dc8154a9aeed857708a2be2587eabc0c985 /source/compiler-core/slang-diagnostic-sink.cpp | |
| parent | 45d9961a6a86d184248ef84f6a07125b0c224f97 (diff) | |
Fix a bug that warning 39001 can't be fully disabled. (#3112)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/compiler-core/slang-diagnostic-sink.cpp')
| -rw-r--r-- | source/compiler-core/slang-diagnostic-sink.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/compiler-core/slang-diagnostic-sink.cpp b/source/compiler-core/slang-diagnostic-sink.cpp index a8d981545..2d3f34c5c 100644 --- a/source/compiler-core/slang-diagnostic-sink.cpp +++ b/source/compiler-core/slang-diagnostic-sink.cpp @@ -550,7 +550,7 @@ SlangResult DiagnosticSink::getBlobIfNeeded(ISlangBlob** outBlob) return SLANG_OK; } -void DiagnosticSink::diagnoseImpl(DiagnosticInfo const& info, const UnownedStringSlice& formattedMessage) +bool DiagnosticSink::diagnoseImpl(DiagnosticInfo const& info, const UnownedStringSlice& formattedMessage) { if (info.severity >= Severity::Error) { @@ -576,6 +576,7 @@ void DiagnosticSink::diagnoseImpl(DiagnosticInfo const& info, const UnownedStrin // TODO: figure out a better policy for aborting compilation SLANG_ABORT_COMPILATION(""); } + return true; } Severity DiagnosticSink::getEffectiveMessageSeverity(DiagnosticInfo const& info) @@ -598,13 +599,13 @@ Severity DiagnosticSink::getEffectiveMessageSeverity(DiagnosticInfo const& info) return effectiveSeverity; } -void DiagnosticSink::diagnoseImpl(SourceLoc const& pos, DiagnosticInfo info, int argCount, DiagnosticArg const* args) +bool DiagnosticSink::diagnoseImpl(SourceLoc const& pos, DiagnosticInfo info, int argCount, DiagnosticArg const* args) { // Override the severity in the 'info' structure to pass it further into formatDiagnostics info.severity = getEffectiveMessageSeverity(info); if (info.severity == Severity::Disable) - return; + return false; StringBuilder messageBuilder; { @@ -621,7 +622,7 @@ void DiagnosticSink::diagnoseImpl(SourceLoc const& pos, DiagnosticInfo info, int formatDiagnostic(this, diagnostic, messageBuilder); } - diagnoseImpl(info, messageBuilder.getUnownedSlice()); + return diagnoseImpl(info, messageBuilder.getUnownedSlice()); } void DiagnosticSink::diagnoseRaw( |
