Create helper class for DWARF expressions.
This ensures we generate valid DWARF opcodes and
it slightly simplifies the debug info writer.
Change-Id: I2ef8a9222c9a129c58f500741acd209b67e2ecff
diff --git a/compiler/dwarf/writer.h b/compiler/dwarf/writer.h
index d2add7f..74acf07 100644
--- a/compiler/dwarf/writer.h
+++ b/compiler/dwarf/writer.h
@@ -114,16 +114,16 @@
data_->insert(data_->end(), value, value + strlen(value) + 1);
}
- void PushData(const void* ptr, size_t num_bytes) {
- const char* p = reinterpret_cast<const char*>(ptr);
- data_->insert(data_->end(), p, p + num_bytes);
+ void PushData(const uint8_t* ptr, size_t num_bytes) {
+ data_->insert(data_->end(), ptr, ptr + num_bytes);
}
- template<typename Vector2>
- void PushData(const Vector2& buffer) {
- static_assert(std::is_same<typename std::add_const<typename Vector::value_type>::type,
- const uint8_t>::value, "Invalid value type");
- data_->insert(data_->end(), buffer.begin(), buffer.end());
+ void PushData(const char* ptr, size_t num_bytes) {
+ data_->insert(data_->end(), ptr, ptr + num_bytes);
+ }
+
+ void PushData(const Vector* buffer) {
+ data_->insert(data_->end(), buffer->begin(), buffer->end());
}
void UpdateUint32(size_t offset, uint32_t value) {