clayborg requested changes to this revision. clayborg added a comment. This revision now requires changes to proceed.
See inline comments. ================ Comment at: source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp:74 lldb::offset_t *offset_ptr) { - Clear(); - + assert(m_offset == DW_INVALID_OFFSET); m_offset = *offset_ptr; ---------------- Make this static as mentioned in above comment. Assertions are ok to detect things in debug build, but please use lldbassert and make sure it returns an empty shared pointer if things fail (code must function properly when assert is not compiled in the program. ================ Comment at: source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h:34-36 + // Object must be clear - either constructed now or after calling Clear(). bool Extract(const lldb_private::DWARFDataExtractor &debug_info, lldb::offset_t *offset_ptr); ---------------- If you want to enforce this, then make this function static and have it return a shared pointer to a DWARFCompileUnit and make the constructor private. Commenting isn't enough on its own ================ Comment at: source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp:294-297 if (!cu.unique()) cu.reset(new DWARFCompileUnit(dwarf2Data)); + else + cu->Clear(); ---------------- I don't see this code in top of tree? My DWARFDebugInfo.cpp ends at line 259 https://reviews.llvm.org/D40214 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits