Add a testcase for DIExpression(DW_OP_stack_value)
and relax the assertion that prohibited its emission.
This fixes the assertion failure uncovered by r301093.
llvm-svn: 301209
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 58416a0..8bce12a 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -856,6 +856,8 @@
uint64_t ExtraOffset = Expr->getElement(i++);
if (Op == dwarf::DW_OP_plus)
Offset += ExtraOffset;
+ else if (Op == dwarf::DW_OP_stack_value)
+ OS << " [stack value]";
else {
assert(Op == dwarf::DW_OP_minus);
Offset -= ExtraOffset;