Improve CHECK_<op> logging.
This patch lets us show the lhs and rhs when a relational check fails. (I show
both, even though that looks silly in cases like CHECK_EQ(rc, 0) where we'll
say "rc=-1, 0=0", because it's helpful in cases like CHECK_LT(i, size()) where
we want "i=4, size=2".)
I had to add a few operator<<s for enums, and fix a bunch of signed/unsigned
mismatches, and put the StringPiece operator<< in the right namespace.
Change-Id: I390f38bd97b3f50e12182f36ff027ca067c48d69
diff --git a/src/class_linker.cc b/src/class_linker.cc
index e2ab39a..a205a06 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1118,10 +1118,10 @@
const InstanceField* field = klass->GetInstanceField(i);
size_t byte_offset = field->GetOffset();
CHECK_GE(byte_offset, CLASS_SMALLEST_OFFSET);
- CHECK_EQ(byte_offset & (CLASS_OFFSET_ALIGNMENT - 1), 0);
+ CHECK_EQ(byte_offset & (CLASS_OFFSET_ALIGNMENT - 1), 0U);
if (CLASS_CAN_ENCODE_OFFSET(byte_offset)) {
uint32_t new_bit = CLASS_BIT_FROM_OFFSET(byte_offset);
- CHECK_NE(new_bit, 0);
+ CHECK_NE(new_bit, 0U);
reference_offsets |= new_bit;
} else {
reference_offsets = CLASS_WALK_SUPER;