diff options
author | mark@chromium.org <mark@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2011-10-11 18:43:41 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2011-10-11 18:43:41 +0000 |
commit | 6e91e4a8fb1f1468b3926ec9abe6b99f638cb26b (patch) | |
tree | 488be82205a29d9bb5348f2343b933d1be40fb80 /src/common/dwarf | |
parent | Use fixed revisions for svn:externals: (diff) | |
download | breakpad-6e91e4a8fb1f1468b3926ec9abe6b99f638cb26b.tar.xz |
Additional fixes following r862.
git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@864 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/common/dwarf')
-rw-r--r-- | src/common/dwarf/functioninfo.cc | 31 | ||||
-rw-r--r-- | src/common/dwarf/functioninfo.h | 34 |
2 files changed, 34 insertions, 31 deletions
diff --git a/src/common/dwarf/functioninfo.cc b/src/common/dwarf/functioninfo.cc index d8ab7da9..4a080458 100644 --- a/src/common/dwarf/functioninfo.cc +++ b/src/common/dwarf/functioninfo.cc @@ -45,8 +45,8 @@ namespace dwarf2reader { -CULineInfoHandler::CULineInfoHandler(vector<SourceFileInfo>* files, - vector<string>* dirs, +CULineInfoHandler::CULineInfoHandler(std::vector<SourceFileInfo>* files, + std::vector<std::string>* dirs, LineMap* linemap):linemap_(linemap), files_(files), dirs_(dirs) { @@ -61,13 +61,13 @@ CULineInfoHandler::CULineInfoHandler(vector<SourceFileInfo>* files, files->push_back(s); } -void CULineInfoHandler::DefineDir(const string& name, uint32 dir_num) { +void CULineInfoHandler::DefineDir(const std::string& name, uint32 dir_num) { // These should never come out of order, actually assert(dir_num == dirs_->size()); dirs_->push_back(name); } -void CULineInfoHandler::DefineFile(const string& name, +void CULineInfoHandler::DefineFile(const std::string& name, int32 file_num, uint32 dir_num, uint64 mod_time, uint64 length) { assert(dir_num >= 0); @@ -75,7 +75,7 @@ void CULineInfoHandler::DefineFile(const string& name, // These should never come out of order, actually. if (file_num == (int32)files_->size() || file_num == -1) { - string dir = dirs_->at(dir_num); + std::string dir = dirs_->at(dir_num); SourceFileInfo s; s.lowpc = ULLONG_MAX; @@ -95,8 +95,10 @@ void CULineInfoHandler::DefineFile(const string& name, void CULineInfoHandler::AddLine(uint64 address, uint64 length, uint32 file_num, uint32 line_num, uint32 column_num) { if (file_num < files_->size()) { - linemap_->insert(make_pair(address, make_pair(files_->at(file_num).name.c_str(), - line_num))); + linemap_->insert( + std::make_pair(address, + std::make_pair(files_->at(file_num).name.c_str(), + line_num))); if(address < files_->at(file_num).lowpc) { files_->at(file_num).lowpc = address; @@ -130,7 +132,8 @@ bool CUFunctionInfoHandler::StartDIE(uint64 offset, enum DwarfTag tag, current_function_info_->name = ""; current_function_info_->line = 0; current_function_info_->file = ""; - offset_to_funcinfo_->insert(make_pair(offset, current_function_info_)); + offset_to_funcinfo_->insert(std::make_pair(offset, + current_function_info_)); }; // FALLTHROUGH case DW_TAG_compile_unit: @@ -146,7 +149,7 @@ bool CUFunctionInfoHandler::StartDIE(uint64 offset, enum DwarfTag tag, void CUFunctionInfoHandler::ProcessAttributeString(uint64 offset, enum DwarfAttribute attr, enum DwarfForm form, - const string &data) { + const std::string &data) { if (current_function_info_) { if (attr == DW_AT_name) current_function_info_->name = data; @@ -164,9 +167,9 @@ void CUFunctionInfoHandler::ProcessAttributeUnsigned(uint64 offset, assert(iter != sections_.end()); // this should be a scoped_ptr but we dont' use boost :-( - auto_ptr<LineInfo> lireader(new LineInfo(iter->second.first + data, - iter->second.second - data, - reader_, linehandler_)); + std::auto_ptr<LineInfo> lireader(new LineInfo(iter->second.first + data, + iter->second.second - data, + reader_, linehandler_)); lireader->Start(); } else if (current_function_info_) { switch (attr) { @@ -219,8 +222,8 @@ void CUFunctionInfoHandler::ProcessAttributeReference(uint64 offset, void CUFunctionInfoHandler::EndDIE(uint64 offset) { if (current_function_info_ && current_function_info_->lowpc) - address_to_funcinfo_->insert(make_pair(current_function_info_->lowpc, - current_function_info_)); + address_to_funcinfo_->insert(std::make_pair(current_function_info_->lowpc, + current_function_info_)); } } // namespace dwarf2reader diff --git a/src/common/dwarf/functioninfo.h b/src/common/dwarf/functioninfo.h index 901b7df5..85a31ff4 100644 --- a/src/common/dwarf/functioninfo.h +++ b/src/common/dwarf/functioninfo.h @@ -46,11 +46,11 @@ namespace dwarf2reader { struct FunctionInfo { // Name of the function - string name; + std::string name; // Mangled name of the function - string mangled_name; + std::string mangled_name; // File containing this function - string file; + std::string file; // Line number for start of function. uint32 line; // Beginning address for this function @@ -61,13 +61,13 @@ struct FunctionInfo { struct SourceFileInfo { // Name of the source file name - string name; + std::string name; // Low address of source file name uint64 lowpc; }; -typedef map<uint64, FunctionInfo*> FunctionMap; -typedef map<uint64, pair<string, uint32> > LineMap; +typedef std::map<uint64, FunctionInfo*> FunctionMap; +typedef std::map<uint64, std::pair<std::string, uint32> > LineMap; // This class is a basic line info handler that fills in the dirs, // file, and linemap passed into it with the data produced from the @@ -76,18 +76,18 @@ class CULineInfoHandler: public LineInfoHandler { public: // - CULineInfoHandler(vector<SourceFileInfo>* files, - vector<string>* dirs, + CULineInfoHandler(std::vector<SourceFileInfo>* files, + std::vector<std::string>* dirs, LineMap* linemap); virtual ~CULineInfoHandler() { } // Called when we define a directory. We just place NAME into dirs_ // at position DIR_NUM. - virtual void DefineDir(const string& name, uint32 dir_num); + virtual void DefineDir(const std::string& name, uint32 dir_num); // Called when we define a filename. We just place // concat(dirs_[DIR_NUM], NAME) into files_ at position FILE_NUM. - virtual void DefineFile(const string& name, int32 file_num, + virtual void DefineFile(const std::string& name, int32 file_num, uint32 dir_num, uint64 mod_time, uint64 length); @@ -102,14 +102,14 @@ class CULineInfoHandler: public LineInfoHandler { private: LineMap* linemap_; - vector<SourceFileInfo>* files_; - vector<string>* dirs_; + std::vector<SourceFileInfo>* files_; + std::vector<std::string>* dirs_; }; class CUFunctionInfoHandler: public Dwarf2Handler { public: - CUFunctionInfoHandler(vector<SourceFileInfo>* files, - vector<string>* dirs, + CUFunctionInfoHandler(std::vector<SourceFileInfo>* files, + std::vector<std::string>* dirs, LineMap* linemap, FunctionMap* offset_to_funcinfo, FunctionMap* address_to_funcinfo, @@ -163,7 +163,7 @@ class CUFunctionInfoHandler: public Dwarf2Handler { virtual void ProcessAttributeString(uint64 offset, enum DwarfAttribute attr, enum DwarfForm form, - const string& data); + const std::string& data); // Called when finished processing the DIE at OFFSET. // Because DWARF2/3 specifies a tree of DIEs, you may get starts @@ -172,8 +172,8 @@ class CUFunctionInfoHandler: public Dwarf2Handler { virtual void EndDIE(uint64 offset); private: - vector<SourceFileInfo>* files_; - vector<string>* dirs_; + std::vector<SourceFileInfo>* files_; + std::vector<std::string>* dirs_; LineMap* linemap_; FunctionMap* offset_to_funcinfo_; FunctionMap* address_to_funcinfo_; |