Author: tkrasnukha Date: Tue Jun 26 06:06:54 2018 New Revision: 335599 URL: http://llvm.org/viewvc/llvm-project?rev=335599&view=rev Log: 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. Modified: lldb/trunk/include/lldb/Core/Address.h lldb/trunk/include/lldb/Core/Disassembler.h lldb/trunk/include/lldb/Target/Target.h lldb/trunk/include/lldb/lldb-enumerations.h lldb/trunk/source/API/SBAddress.cpp lldb/trunk/source/API/SBFrame.cpp lldb/trunk/source/API/SBInstruction.cpp lldb/trunk/source/Core/Address.cpp lldb/trunk/source/Core/Disassembler.cpp lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp lldb/trunk/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp lldb/trunk/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp lldb/trunk/source/Symbol/ObjectFile.cpp lldb/trunk/source/Target/Platform.cpp lldb/trunk/source/Target/RegisterContext.cpp lldb/trunk/source/Target/StackFrame.cpp lldb/trunk/source/Target/StackFrameList.cpp lldb/trunk/source/Target/Target.cpp Modified: lldb/trunk/include/lldb/Core/Address.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/Address.h?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/include/lldb/Core/Address.h (original) +++ lldb/trunk/include/lldb/Core/Address.h Tue Jun 26 06:06:54 2018 @@ -11,7 +11,7 @@ #define liblldb_Address_h_ #include "lldb/lldb-defines.h" // for LLDB_INVALID_ADDRESS -#include "lldb/lldb-enumerations.h" // for AddressClass::eAddressClassInvalid +#include "lldb/lldb-enumerations.h" // for AddressClass::eInvalid #include "lldb/lldb-forward.h" // for SectionWP, SectionSP, ModuleSP #include "lldb/lldb-types.h" // for addr_t @@ -338,7 +338,7 @@ public: //------------------------------------------------------------------ lldb::addr_t GetOpcodeLoadAddress( Target *target, - lldb::AddressClass addr_class = lldb::eAddressClassInvalid) const; + lldb::AddressClass addr_class = lldb::AddressClass::eInvalid) const; //------------------------------------------------------------------ /// Get the section relative offset value. @@ -432,7 +432,7 @@ public: bool SetOpcodeLoadAddress( lldb::addr_t load_addr, Target *target, - lldb::AddressClass addr_class = lldb::eAddressClassInvalid, + lldb::AddressClass addr_class = lldb::AddressClass::eInvalid, bool allow_section_end = false); bool SetCallableLoadAddress(lldb::addr_t load_addr, Target *target); Modified: lldb/trunk/include/lldb/Core/Disassembler.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/Disassembler.h?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/include/lldb/Core/Disassembler.h (original) +++ lldb/trunk/include/lldb/Core/Disassembler.h Tue Jun 26 06:06:54 2018 @@ -78,7 +78,7 @@ namespace lldb_private { class Instruction { public: Instruction(const Address &address, - lldb::AddressClass addr_class = lldb::eAddressClassInvalid); + lldb::AddressClass addr_class = lldb::AddressClass::eInvalid); virtual ~Instruction(); @@ -106,7 +106,7 @@ public: void SetAddress(const Address &addr) { // Invalidate the address class to lazily discover it if we need to. - m_address_class = lldb::eAddressClassInvalid; + m_address_class = lldb::AddressClass::eInvalid; m_address = addr; } @@ -235,9 +235,9 @@ protected: Address m_address; // The section offset address of this instruction // We include an address class in the Instruction class to // allow the instruction specify the - // eAddressClassCodeAlternateISA (currently used for - // thumb), and also to specify data (eAddressClassData). - // The usual value will be eAddressClassCode, but often + // AddressClass::eCodeAlternateISA (currently used for + // thumb), and also to specify data (AddressClass::eData). + // The usual value will be AddressClass::eCode, but often // when disassembling memory, you might run into data. // This can help us to disassemble appropriately. private: Modified: lldb/trunk/include/lldb/Target/Target.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Target/Target.h?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/include/lldb/Target/Target.h (original) +++ lldb/trunk/include/lldb/Target/Target.h Tue Jun 26 06:06:54 2018 @@ -732,14 +732,14 @@ public: /// Take \a load_addr and potentially add any address bits that are /// needed to make the address callable. For ARM this can set bit /// zero (if it already isn't) if \a load_addr is a thumb function. - /// If \a addr_class is set to eAddressClassInvalid, then the address + /// If \a addr_class is set to AddressClass::eInvalid, then the address /// adjustment will always happen. If it is set to an address class /// that doesn't have code in it, LLDB_INVALID_ADDRESS will be /// returned. //------------------------------------------------------------------ lldb::addr_t GetCallableLoadAddress( lldb::addr_t load_addr, - lldb::AddressClass addr_class = lldb::eAddressClassInvalid) const; + lldb::AddressClass addr_class = lldb::AddressClass::eInvalid) const; //------------------------------------------------------------------ /// Get \a load_addr as an opcode for this target. @@ -748,14 +748,14 @@ public: /// needed to make the address point to an opcode. For ARM this can /// clear bit zero (if it already isn't) if \a load_addr is a /// thumb function and load_addr is in code. - /// If \a addr_class is set to eAddressClassInvalid, then the address + /// If \a addr_class is set to AddressClass::eInvalid, then the address /// adjustment will always happen. If it is set to an address class /// that doesn't have code in it, LLDB_INVALID_ADDRESS will be /// returned. //------------------------------------------------------------------ lldb::addr_t GetOpcodeLoadAddress( lldb::addr_t load_addr, - lldb::AddressClass addr_class = lldb::eAddressClassInvalid) const; + lldb::AddressClass addr_class = lldb::AddressClass::eInvalid) const; // Get load_addr as breakable load address for this target. Take a addr and // check if for any reason there is a better address than this to put a Modified: lldb/trunk/include/lldb/lldb-enumerations.h URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/lldb-enumerations.h?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/include/lldb/lldb-enumerations.h (original) +++ lldb/trunk/include/lldb/lldb-enumerations.h Tue Jun 26 06:06:54 2018 @@ -824,13 +824,13 @@ enum FrameComparison { // in code is data. //---------------------------------------------------------------------- enum AddressClass { - eAddressClassInvalid, - eAddressClassUnknown, - eAddressClassCode, - eAddressClassCodeAlternateISA, - eAddressClassData, - eAddressClassDebug, - eAddressClassRuntime + eInvalid, + eUnknown, + eCode, + eCodeAlternateISA, + eData, + eDebug, + eRuntime }; //---------------------------------------------------------------------- Modified: lldb/trunk/source/API/SBAddress.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBAddress.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/API/SBAddress.cpp (original) +++ lldb/trunk/source/API/SBAddress.cpp Tue Jun 26 06:06:54 2018 @@ -244,5 +244,5 @@ SBLineEntry SBAddress::GetLineEntry() { AddressClass SBAddress::GetAddressClass() { if (m_opaque_ap->IsValid()) return m_opaque_ap->GetAddressClass(); - return eAddressClassInvalid; + return AddressClass::eInvalid; } Modified: lldb/trunk/source/API/SBFrame.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBFrame.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/API/SBFrame.cpp (original) +++ lldb/trunk/source/API/SBFrame.cpp Tue Jun 26 06:06:54 2018 @@ -419,7 +419,7 @@ addr_t SBFrame::GetPC() const { frame = exe_ctx.GetFramePtr(); if (frame) { addr = frame->GetFrameCodeAddress().GetOpcodeLoadAddress( - target, eAddressClassCode); + target, AddressClass::eCode); } else { if (log) log->Printf("SBFrame::GetPC () => error: could not reconstruct frame " Modified: lldb/trunk/source/API/SBInstruction.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBInstruction.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/API/SBInstruction.cpp (original) +++ lldb/trunk/source/API/SBInstruction.cpp Tue Jun 26 06:06:54 2018 @@ -279,5 +279,5 @@ lldb::AddressClass SBInstruction::GetAdd lldb::InstructionSP inst_sp(GetOpaque()); if (inst_sp) return inst_sp->GetAddressClass(); - return eAddressClassInvalid; + return AddressClass::eInvalid; } Modified: lldb/trunk/source/Core/Address.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Address.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Core/Address.cpp (original) +++ lldb/trunk/source/Core/Address.cpp Tue Jun 26 06:06:54 2018 @@ -351,7 +351,7 @@ addr_t Address::GetOpcodeLoadAddress(Tar AddressClass addr_class) const { addr_t code_addr = GetLoadAddress(target); if (code_addr != LLDB_INVALID_ADDRESS) { - if (addr_class == eAddressClassInvalid) + if (addr_class == AddressClass::eInvalid) addr_class = GetAddressClass(); code_addr = target->GetOpcodeLoadAddress(code_addr, addr_class); } @@ -363,7 +363,7 @@ bool Address::SetOpcodeLoadAddress(lldb: bool allow_section_end) { if (SetLoadAddress(load_addr, target, allow_section_end)) { if (target) { - if (addr_class == eAddressClassInvalid) + if (addr_class == AddressClass::eInvalid) addr_class = GetAddressClass(); m_offset = target->GetOpcodeLoadAddress(m_offset, addr_class); } @@ -438,7 +438,7 @@ bool Address::Dump(Stream *s, ExecutionC /* * MIPS: * Display address in compressed form for MIPS16 or microMIPS - * if the address belongs to eAddressClassCodeAlternateISA. + * if the address belongs to AddressClass::eCodeAlternateISA. */ if (target) { const llvm::Triple::ArchType llvm_arch = @@ -992,7 +992,7 @@ AddressClass Address::GetAddressClass() return obj_file->GetAddressClass(GetFileAddress()); } } - return eAddressClassUnknown; + return AddressClass::eUnknown; } bool Address::SetLoadAddress(lldb::addr_t load_addr, Target *target, Modified: lldb/trunk/source/Core/Disassembler.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Disassembler.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Core/Disassembler.cpp (original) +++ lldb/trunk/source/Core/Disassembler.cpp Tue Jun 26 06:06:54 2018 @@ -677,7 +677,7 @@ Instruction::Instruction(const Address & Instruction::~Instruction() = default; AddressClass Instruction::GetAddressClass() { - if (m_address_class == eAddressClassInvalid) + if (m_address_class == AddressClass::eInvalid) m_address_class = m_address.GetAddressClass(); return m_address_class; } @@ -1279,7 +1279,7 @@ const InstructionList &Disassembler::Get //---------------------------------------------------------------------- PseudoInstruction::PseudoInstruction() - : Instruction(Address(), eAddressClassUnknown), m_description() {} + : Instruction(Address(), AddressClass::eUnknown), m_description() {} PseudoInstruction::~PseudoInstruction() = default; Modified: lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp (original) +++ lldb/trunk/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp Tue Jun 26 06:06:54 2018 @@ -173,7 +173,7 @@ public: if (disasm_sp->m_alternate_disasm_up) { const AddressClass address_class = GetAddressClass(); - if (address_class == eAddressClassCodeAlternateISA) { + if (address_class == AddressClass::eCodeAlternateISA) { is_alternate_isa = true; return disasm_sp->m_alternate_disasm_up.get(); } @@ -300,7 +300,7 @@ public: if (disasm_sp) { DisassemblerLLVMC::MCDisasmInstance *mc_disasm_ptr; - if (address_class == eAddressClassCodeAlternateISA) + if (address_class == AddressClass::eCodeAlternateISA) mc_disasm_ptr = disasm_sp->m_alternate_disasm_up.get(); else mc_disasm_ptr = disasm_sp->m_disasm_up.get(); @@ -1257,7 +1257,7 @@ size_t DisassemblerLLVMC::DecodeInstruct while (data_cursor < data_byte_size && instructions_parsed < num_instructions) { - AddressClass address_class = eAddressClassCode; + AddressClass address_class = AddressClass::eCode; if (m_alternate_disasm_up) address_class = inst_addr.GetAddressClass(); Modified: lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp (original) +++ lldb/trunk/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp Tue Jun 26 06:06:54 2018 @@ -13888,10 +13888,10 @@ bool EmulateInstructionARM::SetInstructi else { AddressClass addr_class = inst_addr.GetAddressClass(); - if ((addr_class == eAddressClassCode) || - (addr_class == eAddressClassUnknown)) + if ((addr_class == AddressClass::eCode) || + (addr_class == AddressClass::eUnknown)) m_opcode_mode = eModeARM; - else if (addr_class == eAddressClassCodeAlternateISA) + else if (addr_class == AddressClass::eCodeAlternateISA) m_opcode_mode = eModeThumb; else return false; Modified: lldb/trunk/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp (original) +++ lldb/trunk/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp Tue Jun 26 06:06:54 2018 @@ -1015,7 +1015,7 @@ bool EmulateInstructionMIPS::SetInstruct m_use_alt_disaasm = false; if (EmulateInstruction::SetInstruction(insn_opcode, inst_addr, target)) { - if (inst_addr.GetAddressClass() == eAddressClassCodeAlternateISA) { + if (inst_addr.GetAddressClass() == AddressClass::eCodeAlternateISA) { Status error; lldb::addr_t load_addr = LLDB_INVALID_ADDRESS; @@ -1044,7 +1044,7 @@ bool EmulateInstructionMIPS::SetInstruct return true; } else { /* - * If the address class is not eAddressClassCodeAlternateISA then + * If the address class is not AddressClass::eCodeAlternateISA then * the function is not microMIPS. In this case instruction size is * always 4 bytes. */ Modified: lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp (original) +++ lldb/trunk/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp Tue Jun 26 06:06:54 2018 @@ -865,7 +865,7 @@ uint32_t ObjectFileELF::GetAddressByteSi 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::GetAddressCl 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(Sym 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(Sym 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(Sym // 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(Sym 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; } } } Modified: lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp (original) +++ lldb/trunk/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp Tue Jun 26 06:06:54 2018 @@ -1161,19 +1161,19 @@ AddressClass ObjectFileMachO::GetAddress const lldb::SectionType section_type = section_sp->GetType(); switch (section_type) { case eSectionTypeInvalid: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSectionTypeCode: if (m_header.cputype == llvm::MachO::CPU_TYPE_ARM) { // For ARM we have a bit in the n_desc field of the symbol that // tells us ARM/Thumb which is bit 0x0008. if (symbol->GetFlags() & MACHO_NLIST_ARM_SYMBOL_IS_THUMB) - return eAddressClassCodeAlternateISA; + return AddressClass::eCodeAlternateISA; } - return eAddressClassCode; + return AddressClass::eCode; case eSectionTypeContainer: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSectionTypeData: case eSectionTypeDataCString: @@ -1187,7 +1187,7 @@ AddressClass ObjectFileMachO::GetAddress case eSectionTypeDataObjCMessageRefs: case eSectionTypeDataObjCCFStrings: case eSectionTypeGoSymtab: - return eAddressClassData; + return AddressClass::eData; case eSectionTypeDebug: case eSectionTypeDWARFDebugAbbrev: @@ -1212,13 +1212,13 @@ AddressClass ObjectFileMachO::GetAddress case eSectionTypeDWARFAppleNamespaces: case eSectionTypeDWARFAppleObjC: case eSectionTypeDWARFGNUDebugAltLink: - return eAddressClassDebug; + return AddressClass::eDebug; case eSectionTypeEHFrame: case eSectionTypeARMexidx: case eSectionTypeARMextab: case eSectionTypeCompactUnwind: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSectionTypeAbsoluteAddress: case eSectionTypeELFSymbolTable: @@ -1226,7 +1226,7 @@ AddressClass ObjectFileMachO::GetAddress case eSectionTypeELFRelocationEntries: case eSectionTypeELFDynamicLinkInfo: case eSectionTypeOther: - return eAddressClassUnknown; + return AddressClass::eUnknown; } } } @@ -1234,9 +1234,9 @@ AddressClass ObjectFileMachO::GetAddress const SymbolType symbol_type = symbol->GetType(); switch (symbol_type) { case eSymbolTypeAny: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeAbsolute: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeCode: case eSymbolTypeTrampoline: @@ -1245,62 +1245,62 @@ AddressClass ObjectFileMachO::GetAddress // For ARM we have a bit in the n_desc field of the symbol that tells // us ARM/Thumb which is bit 0x0008. if (symbol->GetFlags() & MACHO_NLIST_ARM_SYMBOL_IS_THUMB) - return eAddressClassCodeAlternateISA; + return AddressClass::eCodeAlternateISA; } - return eAddressClassCode; + return AddressClass::eCode; case eSymbolTypeData: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeRuntime: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeException: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeSourceFile: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeHeaderFile: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeObjectFile: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeCommonBlock: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeBlock: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeLocal: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeParam: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeVariable: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeVariableType: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeLineEntry: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeLineHeader: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeScopeBegin: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeScopeEnd: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeAdditional: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeCompiler: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeInstrumentation: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeUndefined: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeObjCClass: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeObjCMetaClass: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeObjCIVar: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeReExported: - return eAddressClassRuntime; + return AddressClass::eRuntime; } } } - return eAddressClassUnknown; + return AddressClass::eUnknown; } Symtab *ObjectFileMachO::GetSymtab() { Modified: lldb/trunk/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp (original) +++ lldb/trunk/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp Tue Jun 26 06:06:54 2018 @@ -225,16 +225,16 @@ PlatformFreeBSD::GetSoftwareBreakpointTr switch (target.GetArchitecture().GetMachine()) { case llvm::Triple::arm: { lldb::BreakpointLocationSP bp_loc_sp(bp_site->GetOwnerAtIndex(0)); - AddressClass addr_class = eAddressClassUnknown; + AddressClass addr_class = AddressClass::eUnknown; if (bp_loc_sp) { addr_class = bp_loc_sp->GetAddress().GetAddressClass(); - if (addr_class == eAddressClassUnknown && + if (addr_class == AddressClass::eUnknown && (bp_loc_sp->GetAddress().GetFileAddress() & 1)) - addr_class = eAddressClassCodeAlternateISA; + addr_class = AddressClass::eCodeAlternateISA; } - if (addr_class == eAddressClassCodeAlternateISA) { + if (addr_class == AddressClass::eCodeAlternateISA) { // TODO: Enable when FreeBSD supports thumb breakpoints. // FreeBSD kernel as of 10.x, does not support thumb breakpoints return 0; Modified: lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp (original) +++ lldb/trunk/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp Tue Jun 26 06:06:54 2018 @@ -466,7 +466,7 @@ PlatformDarwin::GetSoftwareBreakpointTra lldb::BreakpointLocationSP bp_loc_sp(bp_site->GetOwnerAtIndex(0)); if (bp_loc_sp) bp_is_thumb = bp_loc_sp->GetAddress().GetAddressClass() == - eAddressClassCodeAlternateISA; + AddressClass::eCodeAlternateISA; } if (bp_is_thumb) { trap_opcode = g_thumb_breakpooint_opcode; Modified: lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp (original) +++ lldb/trunk/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp Tue Jun 26 06:06:54 2018 @@ -661,13 +661,13 @@ ProcessFreeBSD::GetSoftwareBreakpointTra static const uint8_t g_thumb_breakpoint_opcode[] = {0x01, 0xde}; lldb::BreakpointLocationSP bp_loc_sp(bp_site->GetOwnerAtIndex(0)); - AddressClass addr_class = eAddressClassUnknown; + AddressClass addr_class = AddressClass::eUnknown; if (bp_loc_sp) addr_class = bp_loc_sp->GetAddress().GetAddressClass(); - if (addr_class == eAddressClassCodeAlternateISA || - (addr_class == eAddressClassUnknown && + if (addr_class == AddressClass::eCodeAlternateISA || + (addr_class == AddressClass::eUnknown && bp_loc_sp->GetAddress().GetOffset() & 1)) { opcode = g_thumb_breakpoint_opcode; opcode_size = sizeof(g_thumb_breakpoint_opcode); Modified: lldb/trunk/source/Symbol/ObjectFile.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ObjectFile.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Symbol/ObjectFile.cpp (original) +++ lldb/trunk/source/Symbol/ObjectFile.cpp Tue Jun 26 06:06:54 2018 @@ -324,11 +324,11 @@ AddressClass ObjectFile::GetAddressClass const SectionType section_type = section_sp->GetType(); switch (section_type) { case eSectionTypeInvalid: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSectionTypeCode: - return eAddressClassCode; + return AddressClass::eCode; case eSectionTypeContainer: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSectionTypeData: case eSectionTypeDataCString: case eSectionTypeDataCStringPointers: @@ -341,7 +341,7 @@ AddressClass ObjectFile::GetAddressClass case eSectionTypeDataObjCMessageRefs: case eSectionTypeDataObjCCFStrings: case eSectionTypeGoSymtab: - return eAddressClassData; + return AddressClass::eData; case eSectionTypeDebug: case eSectionTypeDWARFDebugAbbrev: case eSectionTypeDWARFDebugAddr: @@ -365,18 +365,18 @@ AddressClass ObjectFile::GetAddressClass case eSectionTypeDWARFAppleNamespaces: case eSectionTypeDWARFAppleObjC: case eSectionTypeDWARFGNUDebugAltLink: - return eAddressClassDebug; + return AddressClass::eDebug; case eSectionTypeEHFrame: case eSectionTypeARMexidx: case eSectionTypeARMextab: case eSectionTypeCompactUnwind: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSectionTypeELFSymbolTable: case eSectionTypeELFDynamicSymbols: case eSectionTypeELFRelocationEntries: case eSectionTypeELFDynamicLinkInfo: case eSectionTypeOther: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSectionTypeAbsoluteAddress: // In case of absolute sections decide the address class based on // the symbol type because the section type isn't specify if it is @@ -389,67 +389,67 @@ AddressClass ObjectFile::GetAddressClass const SymbolType symbol_type = symbol->GetType(); switch (symbol_type) { case eSymbolTypeAny: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeAbsolute: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeCode: - return eAddressClassCode; + return AddressClass::eCode; case eSymbolTypeTrampoline: - return eAddressClassCode; + return AddressClass::eCode; case eSymbolTypeResolver: - return eAddressClassCode; + return AddressClass::eCode; case eSymbolTypeData: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeRuntime: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeException: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeSourceFile: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeHeaderFile: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeObjectFile: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeCommonBlock: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeBlock: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeLocal: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeParam: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeVariable: - return eAddressClassData; + return AddressClass::eData; case eSymbolTypeVariableType: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeLineEntry: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeLineHeader: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeScopeBegin: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeScopeEnd: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeAdditional: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeCompiler: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeInstrumentation: - return eAddressClassDebug; + return AddressClass::eDebug; case eSymbolTypeUndefined: - return eAddressClassUnknown; + return AddressClass::eUnknown; case eSymbolTypeObjCClass: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeObjCMetaClass: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeObjCIVar: - return eAddressClassRuntime; + return AddressClass::eRuntime; case eSymbolTypeReExported: - return eAddressClassRuntime; + return AddressClass::eRuntime; } } } - return eAddressClassUnknown; + return AddressClass::eUnknown; } DataBufferSP ObjectFile::ReadMemory(const ProcessSP &process_sp, Modified: lldb/trunk/source/Target/Platform.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Platform.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Target/Platform.cpp (original) +++ lldb/trunk/source/Target/Platform.cpp Tue Jun 26 06:06:54 2018 @@ -1834,16 +1834,16 @@ size_t Platform::GetSoftwareBreakpointTr static const uint8_t g_thumb_breakpoint_opcode[] = {0x01, 0xde}; lldb::BreakpointLocationSP bp_loc_sp(bp_site->GetOwnerAtIndex(0)); - AddressClass addr_class = eAddressClassUnknown; + AddressClass addr_class = AddressClass::eUnknown; if (bp_loc_sp) { addr_class = bp_loc_sp->GetAddress().GetAddressClass(); - if (addr_class == eAddressClassUnknown && + if (addr_class == AddressClass::eUnknown && (bp_loc_sp->GetAddress().GetFileAddress() & 1)) - addr_class = eAddressClassCodeAlternateISA; + addr_class = AddressClass::eCodeAlternateISA; } - if (addr_class == eAddressClassCodeAlternateISA) { + if (addr_class == AddressClass::eCodeAlternateISA) { trap_opcode = g_thumb_breakpoint_opcode; trap_opcode_size = sizeof(g_thumb_breakpoint_opcode); } else { Modified: lldb/trunk/source/Target/RegisterContext.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/RegisterContext.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Target/RegisterContext.cpp (original) +++ lldb/trunk/source/Target/RegisterContext.cpp Tue Jun 26 06:06:54 2018 @@ -135,7 +135,7 @@ uint64_t RegisterContext::GetPC(uint64_t if (target_sp) { Target *target = target_sp.get(); if (target) - pc = target->GetOpcodeLoadAddress(pc, eAddressClassCode); + pc = target->GetOpcodeLoadAddress(pc, AddressClass::eCode); } } Modified: lldb/trunk/source/Target/StackFrame.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StackFrame.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Target/StackFrame.cpp (original) +++ lldb/trunk/source/Target/StackFrame.cpp Tue Jun 26 06:06:54 2018 @@ -194,7 +194,7 @@ const Address &StackFrame::GetFrameCodeA const bool allow_section_end = true; if (m_frame_code_addr.SetOpcodeLoadAddress( m_frame_code_addr.GetOffset(), target_sp.get(), - eAddressClassCode, allow_section_end)) { + AddressClass::eCode, allow_section_end)) { ModuleSP module_sp(m_frame_code_addr.GetModule()); if (module_sp) { m_sc.module_sp = module_sp; Modified: lldb/trunk/source/Target/StackFrameList.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StackFrameList.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Target/StackFrameList.cpp (original) +++ lldb/trunk/source/Target/StackFrameList.cpp Tue Jun 26 06:06:54 2018 @@ -324,9 +324,9 @@ void StackFrameList::GetFramesUpTo(uint3 // case resolve the address again to the correct section plus // offset form. addr_t load_addr = curr_frame_address.GetOpcodeLoadAddress( - target_sp.get(), eAddressClassCode); + target_sp.get(), AddressClass::eCode); curr_frame_address.SetOpcodeLoadAddress( - load_addr - 1, target_sp.get(), eAddressClassCode); + load_addr - 1, target_sp.get(), AddressClass::eCode); } else { curr_frame_address.Slide(-1); } Modified: lldb/trunk/source/Target/Target.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Target.cpp?rev=335599&r1=335598&r2=335599&view=diff ============================================================================== --- lldb/trunk/source/Target/Target.cpp (original) +++ lldb/trunk/source/Target/Target.cpp Tue Jun 26 06:06:54 2018 @@ -2358,16 +2358,16 @@ lldb::addr_t Target::GetCallableLoadAddr case llvm::Triple::mips64: case llvm::Triple::mips64el: switch (addr_class) { - case eAddressClassData: - case eAddressClassDebug: + case AddressClass::eData: + case AddressClass::eDebug: return LLDB_INVALID_ADDRESS; - case eAddressClassUnknown: - case eAddressClassInvalid: - case eAddressClassCode: - case eAddressClassCodeAlternateISA: - case eAddressClassRuntime: - if ((code_addr & 2ull) || (addr_class == eAddressClassCodeAlternateISA)) + case AddressClass::eUnknown: + case AddressClass::eInvalid: + case AddressClass::eCode: + case AddressClass::eCodeAlternateISA: + case AddressClass::eRuntime: + if ((code_addr & 2ull) || (addr_class == AddressClass::eCodeAlternateISA)) code_addr |= 1ull; break; } @@ -2376,22 +2376,22 @@ lldb::addr_t Target::GetCallableLoadAddr case llvm::Triple::arm: case llvm::Triple::thumb: switch (addr_class) { - case eAddressClassData: - case eAddressClassDebug: + case AddressClass::eData: + case AddressClass::eDebug: return LLDB_INVALID_ADDRESS; - case eAddressClassUnknown: - case eAddressClassInvalid: - case eAddressClassCode: - case eAddressClassCodeAlternateISA: - case eAddressClassRuntime: + case AddressClass::eUnknown: + case AddressClass::eInvalid: + case AddressClass::eCode: + case AddressClass::eCodeAlternateISA: + case AddressClass::eRuntime: // Check if bit zero it no set? if ((code_addr & 1ull) == 0) { // Bit zero isn't set, check if the address is a multiple of 2? if (code_addr & 2ull) { // The address is a multiple of 2 so it must be thumb, set bit zero code_addr |= 1ull; - } else if (addr_class == eAddressClassCodeAlternateISA) { + } else if (addr_class == AddressClass::eCodeAlternateISA) { // We checked the address and the address claims to be the alternate // ISA which means thumb, so set bit zero. code_addr |= 1ull; @@ -2418,15 +2418,15 @@ lldb::addr_t Target::GetOpcodeLoadAddres case llvm::Triple::arm: case llvm::Triple::thumb: switch (addr_class) { - case eAddressClassData: - case eAddressClassDebug: + case AddressClass::eData: + case AddressClass::eDebug: return LLDB_INVALID_ADDRESS; - case eAddressClassInvalid: - case eAddressClassUnknown: - case eAddressClassCode: - case eAddressClassCodeAlternateISA: - case eAddressClassRuntime: + case AddressClass::eInvalid: + case AddressClass::eUnknown: + case AddressClass::eCode: + case AddressClass::eCodeAlternateISA: + case AddressClass::eRuntime: opcode_addr &= ~(1ull); break; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits