diff options
author | Tatyana Krasnukha <tatyana@synopsys.com> | 2018-06-26 13:06:54 +0000 |
---|---|---|
committer | Tatyana Krasnukha <tatyana@synopsys.com> | 2018-06-26 13:06:54 +0000 |
commit | 04803b3ef2cf327166a65c7f8a7804a2b93e6d2f (patch) | |
tree | 922ba904efe9087a7614414e9b93de7abd09dd26 /lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | |
parent | bbadbe016f3f1d72aa7adff1a8863c4128fc39ca (diff) | |
download | bcm5719-llvm-04803b3ef2cf327166a65c7f8a7804a2b93e6d2f.tar.gz bcm5719-llvm-04803b3ef2cf327166a65c7f8a7804a2b93e6d2f.zip |
Change AddressClass type from 'enum' to 'enum class'.
If we have a function with signature f(addr_t, AddressClass), it is easy to muddle up the order of arguments without any warnings from compiler. 'enum class' prevents passing integer in place of AddressClass and vice versa.
llvm-svn: 335599
Diffstat (limited to 'lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp')
-rw-r--r-- | lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp index cd1c89ca8d8..1b70f8a933e 100644 --- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp +++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp @@ -865,7 +865,7 @@ uint32_t ObjectFileELF::GetAddressByteSize() const { AddressClass ObjectFileELF::GetAddressClass(addr_t file_addr) { Symtab *symtab = GetSymtab(); if (!symtab) - return eAddressClassUnknown; + return AddressClass::eUnknown; // The address class is determined based on the symtab. Ask it from the // object file what contains the symtab information. @@ -874,14 +874,14 @@ AddressClass ObjectFileELF::GetAddressClass(addr_t file_addr) { return symtab_objfile->GetAddressClass(file_addr); auto res = ObjectFile::GetAddressClass(file_addr); - if (res != eAddressClassCode) + if (res != AddressClass::eCode) return res; auto ub = m_address_class_map.upper_bound(file_addr); if (ub == m_address_class_map.begin()) { // No entry in the address class map before the address. Return default // address class for an address in a code section. - return eAddressClassCode; + return AddressClass::eCode; } // Move iterator to the address class entry preceding address @@ -2167,18 +2167,18 @@ unsigned ObjectFileELF::ParseSymbols(Symtab *symtab, user_id_t start_id, switch (mapping_symbol) { case 'a': // $a[.<any>]* - marks an ARM instruction sequence - m_address_class_map[symbol.st_value] = eAddressClassCode; + m_address_class_map[symbol.st_value] = AddressClass::eCode; break; case 'b': case 't': // $b[.<any>]* - marks a THUMB BL instruction sequence // $t[.<any>]* - marks a THUMB instruction sequence m_address_class_map[symbol.st_value] = - eAddressClassCodeAlternateISA; + AddressClass::eCodeAlternateISA; break; case 'd': // $d[.<any>]* - marks a data item sequence (e.g. lit pool) - m_address_class_map[symbol.st_value] = eAddressClassData; + m_address_class_map[symbol.st_value] = AddressClass::eData; break; } } @@ -2192,11 +2192,11 @@ unsigned ObjectFileELF::ParseSymbols(Symtab *symtab, user_id_t start_id, switch (mapping_symbol) { case 'x': // $x[.<any>]* - marks an A64 instruction sequence - m_address_class_map[symbol.st_value] = eAddressClassCode; + m_address_class_map[symbol.st_value] = AddressClass::eCode; break; case 'd': // $d[.<any>]* - marks a data item sequence (e.g. lit pool) - m_address_class_map[symbol.st_value] = eAddressClassData; + m_address_class_map[symbol.st_value] = AddressClass::eData; break; } } @@ -2215,10 +2215,10 @@ unsigned ObjectFileELF::ParseSymbols(Symtab *symtab, user_id_t start_id, // symbol_value that we store in the symtab. symbol_value_offset = -1; m_address_class_map[symbol.st_value ^ 1] = - eAddressClassCodeAlternateISA; + AddressClass::eCodeAlternateISA; } else { // This address is ARM - m_address_class_map[symbol.st_value] = eAddressClassCode; + m_address_class_map[symbol.st_value] = AddressClass::eCode; } } } @@ -2243,17 +2243,17 @@ unsigned ObjectFileELF::ParseSymbols(Symtab *symtab, user_id_t start_id, llvm_arch == llvm::Triple::mips64 || llvm_arch == llvm::Triple::mips64el) { if (IS_MICROMIPS(symbol.st_other)) - m_address_class_map[symbol.st_value] = eAddressClassCodeAlternateISA; + m_address_class_map[symbol.st_value] = AddressClass::eCodeAlternateISA; else if ((symbol.st_value & 1) && (symbol_type == eSymbolTypeCode)) { symbol.st_value = symbol.st_value & (~1ull); - m_address_class_map[symbol.st_value] = eAddressClassCodeAlternateISA; + m_address_class_map[symbol.st_value] = AddressClass::eCodeAlternateISA; } else { if (symbol_type == eSymbolTypeCode) - m_address_class_map[symbol.st_value] = eAddressClassCode; + m_address_class_map[symbol.st_value] = AddressClass::eCode; else if (symbol_type == eSymbolTypeData) - m_address_class_map[symbol.st_value] = eAddressClassData; + m_address_class_map[symbol.st_value] = AddressClass::eData; else - m_address_class_map[symbol.st_value] = eAddressClassUnknown; + m_address_class_map[symbol.st_value] = AddressClass::eUnknown; } } } |