Author: Adrian Prantl Date: 2021-02-10T17:27:02-08:00 New Revision: 585e7a359d250cc112917373dc4ae4f5f9a16647
URL: https://github.com/llvm/llvm-project/commit/585e7a359d250cc112917373dc4ae4f5f9a16647 DIFF: https://github.com/llvm/llvm-project/commit/585e7a359d250cc112917373dc4ae4f5f9a16647.diff LOG: Diagnose unhandled cases in DW_OP_deref Added: Modified: lldb/source/Expression/DWARFExpression.cpp lldb/unittests/Expression/DWARFExpressionTest.cpp Removed: ################################################################################ diff --git a/lldb/source/Expression/DWARFExpression.cpp b/lldb/source/Expression/DWARFExpression.cpp index c30fdf565cd5..e54624dea06a 100644 --- a/lldb/source/Expression/DWARFExpression.cpp +++ b/lldb/source/Expression/DWARFExpression.cpp @@ -1100,7 +1100,9 @@ bool DWARFExpression::Evaluate( break; default: - break; + if (error_ptr) + error_ptr->SetErrorString("Unhandled value type for DW_OP_deref.\n"); + return false; } } break; diff --git a/lldb/unittests/Expression/DWARFExpressionTest.cpp b/lldb/unittests/Expression/DWARFExpressionTest.cpp index 37bd900cb9b5..5f2da7070e06 100644 --- a/lldb/unittests/Expression/DWARFExpressionTest.cpp +++ b/lldb/unittests/Expression/DWARFExpressionTest.cpp @@ -276,3 +276,7 @@ TEST(DWARFExpression, DW_OP_unknown) { llvm::FailedWithMessage( "Unhandled opcode DW_OP_unknown_ff in DWARFExpression")); } + +TEST(DWARFExpression, DW_OP_deref) { + EXPECT_THAT_EXPECTED(Evaluate({DW_OP_lit0, DW_OP_deref}), llvm::Failed()); +} _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits