PECOFF: Fix a "memset clearing an object of non-trivial type" warning
This time, the warning pointed to an actual problem, because the coff_opt_header structure contained a std::vector. I guess this happened to work because the all-zero state was a valid representation of an empty vector, but its not a good idea to rely on that. I remove the memset, and have the structure clear its members in the constructor instead. llvm-svn: 367299
This commit is contained in:
@@ -267,11 +267,10 @@ ObjectFilePECOFF::ObjectFilePECOFF(const lldb::ModuleSP &module_sp,
|
||||
lldb::offset_t file_offset,
|
||||
lldb::offset_t length)
|
||||
: ObjectFile(module_sp, file, file_offset, length, data_sp, data_offset),
|
||||
m_dos_header(), m_coff_header(), m_coff_header_opt(), m_sect_headers(),
|
||||
m_dos_header(), m_coff_header(), m_sect_headers(),
|
||||
m_entry_point_address(), m_deps_filespec(), m_owningbin() {
|
||||
::memset(&m_dos_header, 0, sizeof(m_dos_header));
|
||||
::memset(&m_coff_header, 0, sizeof(m_coff_header));
|
||||
::memset(&m_coff_header_opt, 0, sizeof(m_coff_header_opt));
|
||||
}
|
||||
|
||||
ObjectFilePECOFF::ObjectFilePECOFF(const lldb::ModuleSP &module_sp,
|
||||
@@ -279,11 +278,10 @@ ObjectFilePECOFF::ObjectFilePECOFF(const lldb::ModuleSP &module_sp,
|
||||
const lldb::ProcessSP &process_sp,
|
||||
addr_t header_addr)
|
||||
: ObjectFile(module_sp, process_sp, header_addr, header_data_sp),
|
||||
m_dos_header(), m_coff_header(), m_coff_header_opt(), m_sect_headers(),
|
||||
m_dos_header(), m_coff_header(), m_sect_headers(),
|
||||
m_entry_point_address(), m_deps_filespec(), m_owningbin() {
|
||||
::memset(&m_dos_header, 0, sizeof(m_dos_header));
|
||||
::memset(&m_coff_header, 0, sizeof(m_coff_header));
|
||||
::memset(&m_coff_header_opt, 0, sizeof(m_coff_header_opt));
|
||||
}
|
||||
|
||||
ObjectFilePECOFF::~ObjectFilePECOFF() {}
|
||||
|
||||
Reference in New Issue
Block a user