From 715c61e9a7cc631fd0965b887941ccfd8c0133d6 Mon Sep 17 00:00:00 2001 From: Alexandre Ganea Date: Fri, 11 Apr 2025 13:08:49 -0400 Subject: [PATCH] [lldb][lldbp-dap] On Windoows, silence warnings when building with MSVC Fixes: ``` [6373/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\DAP.cpp.obj C:\git\llvm-project\lldb\tools\lldb-dap\DAP.cpp(725) : warning C4715: '`lldb_dap::DAP::HandleObject'::`30'::::operator()': not all control paths return a value [6421/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolTypes.cpp.obj C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(203) : warning C4715: 'lldb_dap::protocol::ToString': not all control paths return a value C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(98) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(72) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(111) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value [6426/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolBase.cpp.obj C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolBase.cpp(287) : warning C4715: 'lldb_dap::protocol::fromJSON': not all control paths return a value ``` --- lldb/tools/lldb-dap/DAP.cpp | 1 + lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp | 1 + lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/lldb/tools/lldb-dap/DAP.cpp b/lldb/tools/lldb-dap/DAP.cpp index 9361ba968e9c..1f49d70ab3ac 100644 --- a/lldb/tools/lldb-dap/DAP.cpp +++ b/lldb/tools/lldb-dap/DAP.cpp @@ -722,6 +722,7 @@ bool DAP::HandleObject(const protocol::Message &M) { case protocol::eResponseMessageNotStopped: return "notStopped"; } + llvm_unreachable("unknown response message kind."); }), *resp->message); } diff --git a/lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp b/lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp index 87fd0df018b6..af63cc803e54 100644 --- a/lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp +++ b/lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp @@ -284,6 +284,7 @@ bool fromJSON(const json::Value &Params, Message &PM, json::Path P) { PM = std::move(evt); return true; } + llvm_unreachable("unhandled message type request."); } json::Value toJSON(const Message &M) { diff --git a/lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp b/lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp index d1dd9ad9c5fe..f4f0bf8dcea8 100644 --- a/lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp +++ b/lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp @@ -69,6 +69,7 @@ json::Value toJSON(const ColumnType &T) { case eColumnTypeTimestamp: return "unixTimestampUTC"; } + llvm_unreachable("unhandled column type."); } json::Value toJSON(const ColumnDescriptor &CD) { @@ -95,6 +96,7 @@ json::Value toJSON(const ChecksumAlgorithm &CA) { case eChecksumAlgorithmTimestamp: return "timestamp"; } + llvm_unreachable("unhandled checksum algorithm."); } json::Value toJSON(const BreakpointModeApplicability &BMA) { @@ -108,6 +110,7 @@ json::Value toJSON(const BreakpointModeApplicability &BMA) { case eBreakpointModeApplicabilityInstruction: return "instruction"; } + llvm_unreachable("unhandled breakpoint mode applicability."); } json::Value toJSON(const BreakpointMode &BM) { @@ -200,6 +203,7 @@ static llvm::StringLiteral ToString(AdapterFeature feature) { case eAdapterFeatureTerminateDebuggee: return "supportTerminateDebuggee"; } + llvm_unreachable("unhandled adapter feature."); } json::Value toJSON(const Capabilities &C) {