This revision was automatically updated to reflect the committed changes.
Closed by commit rL360166: PostfixExpression: Use signed integers in
IntegerNode (authored by labath, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D61311?vs=197320&id=198487#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61311/new/
https://reviews.llvm.org/D61311
Files:
lldb/trunk/include/lldb/Symbol/PostfixExpression.h
lldb/trunk/source/Symbol/PostfixExpression.cpp
lldb/trunk/unittests/Symbol/PostfixExpressionTest.cpp
lldb/trunk/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
Index: lldb/trunk/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
===================================================================
--- lldb/trunk/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
+++ lldb/trunk/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
@@ -58,20 +58,20 @@
}
TEST(PDBFPOProgramToDWARFExpressionTests, MultipleIndependentAssignments) {
- CheckValidProgramTranslation("$T1 1 = $T0 0 =", "$T0", "DW_OP_constu 0x0");
+ CheckValidProgramTranslation("$T1 1 = $T0 0 =", "$T0", "DW_OP_consts +0");
}
TEST(PDBFPOProgramToDWARFExpressionTests, MultipleDependentAssignments) {
CheckValidProgramTranslation(
"$T1 $ebp 4 + = $T0 $T1 8 - 128 @ = ", "$T0",
- "DW_OP_breg6 +0, DW_OP_constu 0x4, DW_OP_plus , DW_OP_constu 0x8, "
- "DW_OP_minus , DW_OP_constu 0x80, DW_OP_lit1 , DW_OP_minus , DW_OP_not , "
+ "DW_OP_breg6 +0, DW_OP_consts +4, DW_OP_plus , DW_OP_consts +8, "
+ "DW_OP_minus , DW_OP_consts +128, DW_OP_lit1 , DW_OP_minus , DW_OP_not , "
"DW_OP_and ");
}
TEST(PDBFPOProgramToDWARFExpressionTests, DependencyChain) {
CheckValidProgramTranslation("$T1 0 = $T0 $T1 = $ebp $T0 =", "$ebp",
- "DW_OP_constu 0x0");
+ "DW_OP_consts +0");
}
/// Invalid programs tests
Index: lldb/trunk/unittests/Symbol/PostfixExpressionTest.cpp
===================================================================
--- lldb/trunk/unittests/Symbol/PostfixExpressionTest.cpp
+++ lldb/trunk/unittests/Symbol/PostfixExpressionTest.cpp
@@ -88,6 +88,7 @@
EXPECT_EQ("^(^(int(1)))", ParseAndStringify("1 ^ ^"));
EXPECT_EQ("^(+(int(1), ^(int(2))))", ParseAndStringify("1 2 ^ + ^"));
EXPECT_EQ("-($foo, int(47))", ParseAndStringify("$foo 47 -"));
+ EXPECT_EQ("+(int(47), int(-42))", ParseAndStringify("47 -42 +"));
EXPECT_EQ("nullptr", ParseAndStringify("+"));
EXPECT_EQ("nullptr", ParseAndStringify("^"));
@@ -137,7 +138,7 @@
}
TEST(PostfixExpression, ToDWARF) {
- EXPECT_EQ("DW_OP_constu 0x0", ParseAndGenerateDWARF("0"));
+ EXPECT_EQ("DW_OP_consts +0", ParseAndGenerateDWARF("0"));
EXPECT_EQ("DW_OP_breg1 +0", ParseAndGenerateDWARF("R1"));
@@ -151,18 +152,18 @@
EXPECT_EQ("DW_OP_breg1 +0, DW_OP_pick 0x01, DW_OP_plus ",
ParseAndGenerateDWARF("R1 INIT +"));
- EXPECT_EQ("DW_OP_constu 0x1, DW_OP_pick 0x01, DW_OP_deref , DW_OP_plus ",
+ EXPECT_EQ("DW_OP_consts +1, DW_OP_pick 0x01, DW_OP_deref , DW_OP_plus ",
ParseAndGenerateDWARF("1 INIT ^ +"));
- EXPECT_EQ("DW_OP_constu 0x4, DW_OP_constu 0x5, DW_OP_plus ",
+ EXPECT_EQ("DW_OP_consts +4, DW_OP_consts +5, DW_OP_plus ",
ParseAndGenerateDWARF("4 5 +"));
- EXPECT_EQ("DW_OP_constu 0x4, DW_OP_constu 0x5, DW_OP_minus ",
+ EXPECT_EQ("DW_OP_consts +4, DW_OP_consts +5, DW_OP_minus ",
ParseAndGenerateDWARF("4 5 -"));
- EXPECT_EQ("DW_OP_constu 0x4, DW_OP_deref ", ParseAndGenerateDWARF("4 ^"));
+ EXPECT_EQ("DW_OP_consts +4, DW_OP_deref ", ParseAndGenerateDWARF("4 ^"));
- EXPECT_EQ("DW_OP_breg6 +0, DW_OP_constu 0x80, DW_OP_lit1 "
+ EXPECT_EQ("DW_OP_breg6 +0, DW_OP_consts +128, DW_OP_lit1 "
", DW_OP_minus , DW_OP_not , DW_OP_and ",
ParseAndGenerateDWARF("R6 128 @"));
}
Index: lldb/trunk/source/Symbol/PostfixExpression.cpp
===================================================================
--- lldb/trunk/source/Symbol/PostfixExpression.cpp
+++ lldb/trunk/source/Symbol/PostfixExpression.cpp
@@ -67,7 +67,7 @@
continue;
}
- uint32_t value;
+ int64_t value;
if (to_integer(token, value, 10)) {
// token is integer literal
stack.push_back(MakeNode<IntegerNode>(alloc, value));
@@ -129,8 +129,8 @@
void Visit(InitialValueNode &val, Node *&) override;
void Visit(IntegerNode &integer, Node *&) override {
- m_out_stream.PutHex8(DW_OP_constu);
- m_out_stream.PutULEB128(integer.GetValue());
+ m_out_stream.PutHex8(DW_OP_consts);
+ m_out_stream.PutSLEB128(integer.GetValue());
++m_stack_depth;
}
Index: lldb/trunk/include/lldb/Symbol/PostfixExpression.h
===================================================================
--- lldb/trunk/include/lldb/Symbol/PostfixExpression.h
+++ lldb/trunk/include/lldb/Symbol/PostfixExpression.h
@@ -87,14 +87,14 @@
/// A node representing an integer literal.
class IntegerNode : public Node {
public:
- IntegerNode(uint32_t value) : Node(Integer), m_value(value) {}
+ IntegerNode(int64_t value) : Node(Integer), m_value(value) {}
- uint32_t GetValue() const { return m_value; }
+ int64_t GetValue() const { return m_value; }
static bool classof(const Node *node) { return node->GetKind() == Integer; }
private:
- uint32_t m_value;
+ int64_t m_value;
};
/// A node representing the value of a register with the given register number.
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits