diff options
author | Mike Frysinger <vapier@chromium.org> | 2016-01-26 15:38:19 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@chromium.org> | 2016-01-26 15:38:19 -0500 |
commit | bc44efdc274aaf5b3b575d66f7e245754c0fa1e1 (patch) | |
tree | 5215c96d8fa995f3a65f162a0a16c4dc050f1e41 /src/common/dwarf_cu_to_module_unittest.cc | |
parent | autotools: regen w/latest versions (diff) | |
download | breakpad-bc44efdc274aaf5b3b575d66f7e245754c0fa1e1.tar.xz |
convert to uint8_t* for binary data to fix -Wnarrowing build errors
Newer gcc versions default to -Werror=narrowing when using newer C++
standards (which we do). This causes issues when we try to stuff a
value like 0xea into a char -- the value is out of range for signed
char bytes. That's when gcc throws an error:
.../bytereader_unittest.cc: In member function 'virtual void Reader_DW_EH_PE_absptr4_Test::TestBody()':
.../bytereader_unittest.cc:400:55: error: narrowing conversion of '234' from 'int' to 'char' inside { } [-Wnarrowing]
BUG=chromium:579384
TEST=`make check` passes
R=mark@chromium.org
Review URL: https://codereview.chromium.org/1605153004 .
Diffstat (limited to 'src/common/dwarf_cu_to_module_unittest.cc')
-rw-r--r-- | src/common/dwarf_cu_to_module_unittest.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/common/dwarf_cu_to_module_unittest.cc b/src/common/dwarf_cu_to_module_unittest.cc index 9ff842c8..0ae73e81 100644 --- a/src/common/dwarf_cu_to_module_unittest.cc +++ b/src/common/dwarf_cu_to_module_unittest.cc @@ -31,6 +31,8 @@ // dwarf_cu_to_module.cc: Unit tests for google_breakpad::DwarfCUToModule. +#include <stdint.h> + #include <string> #include <utility> #include <vector> @@ -65,7 +67,7 @@ using ::testing::ValuesIn; class MockLineToModuleHandler: public DwarfCUToModule::LineToModuleHandler { public: MOCK_METHOD1(StartCompilationUnit, void(const string& compilation_dir)); - MOCK_METHOD4(ReadProgram, void(const char* program, uint64 length, + MOCK_METHOD4(ReadProgram, void(const uint8_t *program, uint64 length, Module *module, vector<Module::Line> *lines)); }; @@ -111,7 +113,7 @@ class CUFixtureBase { public: explicit AppendLinesFunctor( const vector<Module::Line> *lines) : lines_(lines) { } - void operator()(const char *program, uint64 length, + void operator()(const uint8_t *program, uint64 length, Module *module, vector<Module::Line> *lines) { lines->insert(lines->end(), lines_->begin(), lines_->end()); } @@ -285,7 +287,7 @@ class CUFixtureBase { // Mock line program reader. MockLineToModuleHandler line_reader_; AppendLinesFunctor appender_; - static const char dummy_line_program_[]; + static const uint8_t dummy_line_program_[]; static const size_t dummy_line_size_; MockWarningReporter reporter_; @@ -302,7 +304,7 @@ class CUFixtureBase { bool functions_filled_; }; -const char CUFixtureBase::dummy_line_program_[] = "lots of fun data"; +const uint8_t CUFixtureBase::dummy_line_program_[] = "lots of fun data"; const size_t CUFixtureBase::dummy_line_size_ = sizeof(CUFixtureBase::dummy_line_program_); @@ -375,7 +377,7 @@ void CUFixtureBase::ProcessStrangeAttributes( handler->ProcessAttributeReference((DwarfAttribute) 0xf7f7480f, (DwarfForm) 0x829e038a, 0x50fddef44734fdecULL); - static const char buffer[10] = "frobynode"; + static const uint8_t buffer[10] = "frobynode"; handler->ProcessAttributeBuffer((DwarfAttribute) 0xa55ffb51, (DwarfForm) 0x2f43b041, buffer, sizeof(buffer)); |