Index: lldb/source/Commands/CommandObjectBreakpointCommand.cpp =================================================================== --- lldb/source/Commands/CommandObjectBreakpointCommand.cpp +++ lldb/source/Commands/CommandObjectBreakpointCommand.cpp @@ -26,19 +26,26 @@ using namespace lldb; using namespace lldb_private; -// CommandObjectBreakpointCommandAdd - // FIXME: "script-type" needs to have its contents determined dynamically, so -// somebody can add a new scripting -// language to lldb and have it pickable here without having to change this -// enumeration by hand and rebuild lldb proper. - +// somebody can add a new scripting language to lldb and have it pickable here +// without having to change this enumeration by hand and rebuild lldb proper. static constexpr OptionEnumValueElement g_script_option_enumeration[] = { - {eScriptLanguageNone, "command", - "Commands are in the lldb command interpreter language"}, - {eScriptLanguagePython, "python", "Commands are in the Python language."}, - {eSortOrderByName, "default-script", - "Commands are in the default scripting language."} }; + { + eScriptLanguageNone, + "command", + "Commands are in the lldb command interpreter language", + }, + { + eScriptLanguagePython, + "python", + "Commands are in the Python language.", + }, + { + eSortOrderByName, + "default-script", + "Commands are in the default scripting language.", + }, +}; static constexpr OptionEnumValues ScriptOptionEnum() { return OptionEnumValues(g_script_option_enumeration); @@ -558,7 +565,7 @@ BreakpointIDList valid_bp_ids; CommandObjectMultiwordBreakpoint::VerifyBreakpointOrLocationIDs( - command, target, result, &valid_bp_ids, + command, target, result, &valid_bp_ids, BreakpointName::Permissions::PermissionKinds::listPerm); if (result.Succeeded()) { @@ -648,7 +655,7 @@ BreakpointIDList valid_bp_ids; CommandObjectMultiwordBreakpoint::VerifyBreakpointOrLocationIDs( - command, target, result, &valid_bp_ids, + command, target, result, &valid_bp_ids, BreakpointName::Permissions::PermissionKinds::listPerm); if (result.Succeeded()) { Index: lldb/source/Commands/CommandObjectCommands.cpp =================================================================== --- lldb/source/Commands/CommandObjectCommands.cpp +++ lldb/source/Commands/CommandObjectCommands.cpp @@ -1486,12 +1486,22 @@ // CommandObjectCommandsScriptAdd static constexpr OptionEnumValueElement g_script_synchro_type[] = { - {eScriptedCommandSynchronicitySynchronous, "synchronous", - "Run synchronous"}, - {eScriptedCommandSynchronicityAsynchronous, "asynchronous", - "Run asynchronous"}, - {eScriptedCommandSynchronicityCurrentValue, "current", - "Do not alter current setting"} }; + { + eScriptedCommandSynchronicitySynchronous, + "synchronous", + "Run synchronous", + }, + { + eScriptedCommandSynchronicityAsynchronous, + "asynchronous", + "Run asynchronous", + }, + { + eScriptedCommandSynchronicityCurrentValue, + "current", + "Do not alter current setting", + }, +}; static constexpr OptionEnumValues ScriptSynchroType() { return OptionEnumValues(g_script_synchro_type); Index: lldb/source/Commands/CommandObjectExpression.cpp =================================================================== --- lldb/source/Commands/CommandObjectExpression.cpp +++ lldb/source/Commands/CommandObjectExpression.cpp @@ -38,10 +38,17 @@ CommandObjectExpression::CommandOptions::~CommandOptions() = default; static constexpr OptionEnumValueElement g_description_verbosity_type[] = { - {eLanguageRuntimeDescriptionDisplayVerbosityCompact, "compact", - "Only show the description string"}, - {eLanguageRuntimeDescriptionDisplayVerbosityFull, "full", - "Show the full output, including persistent variable's name and type"} }; + { + eLanguageRuntimeDescriptionDisplayVerbosityCompact, + "compact", + "Only show the description string", + }, + { + eLanguageRuntimeDescriptionDisplayVerbosityFull, + "full", + "Show the full output, including persistent variable's name and type", + }, +}; static constexpr OptionEnumValues DescriptionVerbosityTypes() { return OptionEnumValues(g_description_verbosity_type); Index: lldb/source/Commands/CommandObjectTarget.cpp =================================================================== --- lldb/source/Commands/CommandObjectTarget.cpp +++ lldb/source/Commands/CommandObjectTarget.cpp @@ -135,14 +135,24 @@ } // Note that the negation in the argument name causes a slightly confusing -// mapping of the enum values, +// mapping of the enum values. static constexpr OptionEnumValueElement g_dependents_enumaration[] = { - {eLoadDependentsDefault, "default", - "Only load dependents when the target is an executable."}, - {eLoadDependentsNo, "true", - "Don't load dependents, even if the target is an executable."}, - {eLoadDependentsYes, "false", - "Load dependents, even if the target is not an executable."}}; + { + eLoadDependentsDefault, + "default", + "Only load dependents when the target is an executable.", + }, + { + eLoadDependentsNo, + "true", + "Don't load dependents, even if the target is an executable.", + }, + { + eLoadDependentsYes, + "false", + "Load dependents, even if the target is not an executable.", + }, +}; #define LLDB_OPTIONS_target_dependents #include "CommandOptions.inc" @@ -1959,10 +1969,22 @@ #pragma mark CommandObjectTargetModulesDumpSymtab static constexpr OptionEnumValueElement g_sort_option_enumeration[] = { - {eSortOrderNone, "none", - "No sorting, use the original symbol table order."}, - {eSortOrderByAddress, "address", "Sort output by symbol address."}, - {eSortOrderByName, "name", "Sort output by symbol name."} }; + { + eSortOrderNone, + "none", + "No sorting, use the original symbol table order.", + }, + { + eSortOrderByAddress, + "address", + "Sort output by symbol address.", + }, + { + eSortOrderByName, + "name", + "Sort output by symbol name.", + }, +}; #define LLDB_OPTIONS_target_modules_dump_symtab #include "CommandOptions.inc" Index: lldb/source/Commands/CommandObjectWatchpointCommand.cpp =================================================================== --- lldb/source/Commands/CommandObjectWatchpointCommand.cpp +++ lldb/source/Commands/CommandObjectWatchpointCommand.cpp @@ -24,19 +24,26 @@ using namespace lldb; using namespace lldb_private; -// CommandObjectWatchpointCommandAdd - // FIXME: "script-type" needs to have its contents determined dynamically, so -// somebody can add a new scripting -// language to lldb and have it pickable here without having to change this -// enumeration by hand and rebuild lldb proper. - +// somebody can add a new scripting language to lldb and have it pickable here +// without having to change this enumeration by hand and rebuild lldb proper. static constexpr OptionEnumValueElement g_script_option_enumeration[] = { - {eScriptLanguageNone, "command", - "Commands are in the lldb command interpreter language"}, - {eScriptLanguagePython, "python", "Commands are in the Python language."}, - {eSortOrderByName, "default-script", - "Commands are in the default scripting language."} }; + { + eScriptLanguageNone, + "command", + "Commands are in the lldb command interpreter language", + }, + { + eScriptLanguagePython, + "python", + "Commands are in the Python language.", + }, + { + eSortOrderByName, + "default-script", + "Commands are in the default scripting language.", + }, +}; static constexpr OptionEnumValues ScriptOptionEnum() { return OptionEnumValues(g_script_option_enumeration); Index: lldb/source/Core/Debugger.cpp =================================================================== --- lldb/source/Core/Debugger.cpp +++ lldb/source/Core/Debugger.cpp @@ -93,22 +93,47 @@ nullptr; // NOTE: intentional leak to avoid issues with C++ destructor chain static constexpr OptionEnumValueElement g_show_disassembly_enum_values[] = { - {Debugger::eStopDisassemblyTypeNever, "never", - "Never show disassembly when displaying a stop context."}, - {Debugger::eStopDisassemblyTypeNoDebugInfo, "no-debuginfo", - "Show disassembly when there is no debug information."}, - {Debugger::eStopDisassemblyTypeNoSource, "no-source", - "Show disassembly when there is no source information, or the source file " - "is missing when displaying a stop context."}, - {Debugger::eStopDisassemblyTypeAlways, "always", - "Always show disassembly when displaying a stop context."} }; + { + Debugger::eStopDisassemblyTypeNever, + "never", + "Never show disassembly when displaying a stop context.", + }, + { + Debugger::eStopDisassemblyTypeNoDebugInfo, + "no-debuginfo", + "Show disassembly when there is no debug information.", + }, + { + Debugger::eStopDisassemblyTypeNoSource, + "no-source", + "Show disassembly when there is no source information, or the source " + "file " + "is missing when displaying a stop context.", + }, + { + Debugger::eStopDisassemblyTypeAlways, + "always", + "Always show disassembly when displaying a stop context.", + }, +}; static constexpr OptionEnumValueElement g_language_enumerators[] = { - {eScriptLanguageNone, "none", "Disable scripting languages."}, - {eScriptLanguagePython, "python", - "Select python as the default scripting language."}, - {eScriptLanguageDefault, "default", - "Select the lldb default as the default scripting language."} }; + { + eScriptLanguageNone, + "none", + "Disable scripting languages.", + }, + { + eScriptLanguagePython, + "python", + "Select python as the default scripting language.", + }, + { + eScriptLanguageDefault, + "default", + "Select the lldb default as the default scripting language.", + }, +}; #define MODULE_WITH_FUNC \ "{ " \ @@ -189,18 +214,32 @@ // without-args}}:\n}{${current-pc-arrow} }{${addr-file-or-load}}: static constexpr OptionEnumValueElement s_stop_show_column_values[] = { - {eStopShowColumnAnsiOrCaret, "ansi-or-caret", - "Highlight the stop column with ANSI terminal codes when color/ANSI mode " - "is enabled; otherwise, fall back to using a text-only caret (^) as if " - "\"caret-only\" mode was selected."}, - {eStopShowColumnAnsi, "ansi", "Highlight the stop column with ANSI " - "terminal codes when running LLDB with " - "color/ANSI enabled."}, - {eStopShowColumnCaret, "caret", - "Highlight the stop column with a caret character (^) underneath the stop " - "column. This method introduces a new line in source listings that " - "display thread stop locations."}, - {eStopShowColumnNone, "none", "Do not highlight the stop column."}}; + { + eStopShowColumnAnsiOrCaret, + "ansi-or-caret", + "Highlight the stop column with ANSI terminal codes when color/ANSI " + "mode is enabled; otherwise, fall back to using a text-only caret (^) " + "as if \"caret-only\" mode was selected.", + }, + { + eStopShowColumnAnsi, + "ansi", + "Highlight the stop column with ANSI terminal codes when running LLDB " + "with color/ANSI enabled.", + }, + { + eStopShowColumnCaret, + "caret", + "Highlight the stop column with a caret character (^) underneath the " + "stop column. This method introduces a new line in source listings " + "that display thread stop locations.", + }, + { + eStopShowColumnNone, + "none", + "Do not highlight the stop column.", + }, +}; #define LLDB_PROPERTIES_debugger #include "CoreProperties.inc" @@ -216,7 +255,8 @@ VarSetOperationType op, llvm::StringRef property_path, llvm::StringRef value) { - bool is_load_script = (property_path == "target.load-script-from-symbol-file"); + bool is_load_script = + (property_path == "target.load-script-from-symbol-file"); bool is_escape_non_printables = (property_path == "escape-non-printables"); TargetSP target_sp; LoadScriptFromSymFile load_script_old_value; @@ -609,8 +649,7 @@ } } -DebuggerSP -Debugger::FindDebuggerWithInstanceName(ConstString instance_name) { +DebuggerSP Debugger::FindDebuggerWithInstanceName(ConstString instance_name) { DebuggerSP debugger_sp; if (g_debugger_list_ptr && g_debugger_list_mutex_ptr) { std::lock_guard guard(*g_debugger_list_mutex_ptr); @@ -1487,8 +1526,9 @@ eBroadcastBitEventThreadIsListening); auto thread_name = - full_name.GetLength() < llvm::get_max_thread_name_length() ? - full_name.AsCString() : "dbg.evt-handler"; + full_name.GetLength() < llvm::get_max_thread_name_length() + ? full_name.AsCString() + : "dbg.evt-handler"; // Use larger 8MB stack for this thread llvm::Expected event_handler_thread = Index: lldb/source/Interpreter/OptionGroupWatchpoint.cpp =================================================================== --- lldb/source/Interpreter/OptionGroupWatchpoint.cpp +++ lldb/source/Interpreter/OptionGroupWatchpoint.cpp @@ -16,16 +16,45 @@ using namespace lldb_private; static constexpr OptionEnumValueElement g_watch_type[] = { - {OptionGroupWatchpoint::eWatchRead, "read", "Watch for read"}, - {OptionGroupWatchpoint::eWatchWrite, "write", "Watch for write"}, - {OptionGroupWatchpoint::eWatchReadWrite, "read_write", - "Watch for read/write"} }; + { + OptionGroupWatchpoint::eWatchRead, + "read", + "Watch for read", + }, + { + OptionGroupWatchpoint::eWatchWrite, + "write", + "Watch for write", + }, + { + OptionGroupWatchpoint::eWatchReadWrite, + "read_write", + "Watch for read/write", + }, +}; static constexpr OptionEnumValueElement g_watch_size[] = { - {1, "1", "Watch for byte size of 1"}, - {2, "2", "Watch for byte size of 2"}, - {4, "4", "Watch for byte size of 4"}, - {8, "8", "Watch for byte size of 8"} }; + { + 1, + "1", + "Watch for byte size of 1", + }, + { + 2, + "2", + "Watch for byte size of 2", + }, + { + 4, + "4", + "Watch for byte size of 4", + }, + { + 8, + "8", + "Watch for byte size of 8", + }, +}; static constexpr OptionDefinition g_option_table[] = { {LLDB_OPT_SET_1, false, "watch", 'w', OptionParser::eRequiredArgument, Index: lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp =================================================================== --- lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp +++ lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp @@ -31,8 +31,8 @@ #include "DynamicLoaderDarwinKernel.h" -#include #include +#include //#define ENABLE_DEBUG_PRINTF // COMMENT THIS LINE OUT PRIOR TO CHECKIN #ifdef ENABLE_DEBUG_PRINTF @@ -61,16 +61,30 @@ }; static constexpr OptionEnumValueElement g_kaslr_kernel_scan_enum_values[] = { - {eKASLRScanNone, "none", - "Do not read memory looking for a Darwin kernel when attaching."}, - {eKASLRScanLowgloAddresses, "basic", "Check for the Darwin kernel's load " - "addr in the lowglo page " - "(boot-args=debug) only."}, - {eKASLRScanNearPC, "fast-scan", "Scan near the pc value on attach to find " - "the Darwin kernel's load address."}, - {eKASLRScanExhaustiveScan, "exhaustive-scan", - "Scan through the entire potential address range of Darwin kernel (only " - "on 32-bit targets)."}}; + { + eKASLRScanNone, + "none", + "Do not read memory looking for a Darwin kernel when attaching.", + }, + { + eKASLRScanLowgloAddresses, + "basic", + "Check for the Darwin kernel's load addr in the lowglo page " + "(boot-args=debug) only.", + }, + { + eKASLRScanNearPC, + "fast-scan", + "Scan near the pc value on attach to find the Darwin kernel's load " + "address.", + }, + { + eKASLRScanExhaustiveScan, + "exhaustive-scan", + "Scan through the entire potential address range of Darwin kernel " + "(only on 32-bit targets).", + }, +}; #define LLDB_PROPERTIES_dynamicloaderdarwinkernel #include "DynamicLoaderDarwinKernelProperties.inc" Index: lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp =================================================================== --- lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp +++ lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp @@ -57,12 +57,24 @@ eEnableJITLoaderGDBOff, }; -static constexpr OptionEnumValueElement g_enable_jit_loader_gdb_enumerators[] = { - {eEnableJITLoaderGDBDefault, "default", "Enable JIT compilation interface " - "for all platforms except macOS"}, - {eEnableJITLoaderGDBOn, "on", "Enable JIT compilation interface"}, - {eEnableJITLoaderGDBOff, "off", "Disable JIT compilation interface"} - }; +static constexpr OptionEnumValueElement g_enable_jit_loader_gdb_enumerators[] = + { + { + eEnableJITLoaderGDBDefault, + "default", + "Enable JIT compilation interface for all platforms except macOS", + }, + { + eEnableJITLoaderGDBOn, + "on", + "Enable JIT compilation interface", + }, + { + eEnableJITLoaderGDBOff, + "off", + "Disable JIT compilation interface", + }, +}; #define LLDB_PROPERTIES_jitloadergdb #include "JITLoaderGDBProperties.inc" Index: lldb/source/Target/Target.cpp =================================================================== --- lldb/source/Target/Target.cpp +++ lldb/source/Target/Target.cpp @@ -3231,33 +3231,51 @@ s->SetIndentLevel(indent_level); } -// class TargetProperties - -// clang-format off static constexpr OptionEnumValueElement g_dynamic_value_types[] = { - {eNoDynamicValues, "no-dynamic-values", - "Don't calculate the dynamic type of values"}, - {eDynamicCanRunTarget, "run-target", "Calculate the dynamic type of values " - "even if you have to run the target."}, - {eDynamicDontRunTarget, "no-run-target", - "Calculate the dynamic type of values, but don't run the target."} }; + { + eNoDynamicValues, + "no-dynamic-values", + "Don't calculate the dynamic type of values", + }, + { + eDynamicCanRunTarget, + "run-target", + "Calculate the dynamic type of values " + "even if you have to run the target.", + }, + { + eDynamicDontRunTarget, + "no-run-target", + "Calculate the dynamic type of values, but don't run the target.", + }, +}; OptionEnumValues lldb_private::GetDynamicValueTypes() { return OptionEnumValues(g_dynamic_value_types); } static constexpr OptionEnumValueElement g_inline_breakpoint_enums[] = { - {eInlineBreakpointsNever, "never", "Never look for inline breakpoint " - "locations (fastest). This setting " - "should only be used if you know that " - "no inlining occurs in your programs."}, - {eInlineBreakpointsHeaders, "headers", - "Only check for inline breakpoint locations when setting breakpoints in " - "header files, but not when setting breakpoint in implementation source " - "files (default)."}, - {eInlineBreakpointsAlways, "always", - "Always look for inline breakpoint locations when setting file and line " - "breakpoints (slower but most accurate)."} }; + { + eInlineBreakpointsNever, + "never", + "Never look for inline breakpoint locations (fastest). This setting " + "should only be used if you know that no inlining occurs in your" + "programs.", + }, + { + eInlineBreakpointsHeaders, + "headers", + "Only check for inline breakpoint locations when setting breakpoints " + "in header files, but not when setting breakpoint in implementation " + "source files (default).", + }, + { + eInlineBreakpointsAlways, + "always", + "Always look for inline breakpoint locations when setting file and " + "line breakpoints (slower but most accurate).", + }, +}; enum x86DisassemblyFlavor { eX86DisFlavorDefault, @@ -3266,41 +3284,92 @@ }; static constexpr OptionEnumValueElement g_x86_dis_flavor_value_types[] = { - {eX86DisFlavorDefault, "default", "Disassembler default (currently att)."}, - {eX86DisFlavorIntel, "intel", "Intel disassembler flavor."}, - {eX86DisFlavorATT, "att", "AT&T disassembler flavor."} }; + { + eX86DisFlavorDefault, + "default", + "Disassembler default (currently att).", + }, + { + eX86DisFlavorIntel, + "intel", + "Intel disassembler flavor.", + }, + { + eX86DisFlavorATT, + "att", + "AT&T disassembler flavor.", + }, +}; static constexpr OptionEnumValueElement g_hex_immediate_style_values[] = { - {Disassembler::eHexStyleC, "c", "C-style (0xffff)."}, - {Disassembler::eHexStyleAsm, "asm", "Asm-style (0ffffh)."} }; + { + Disassembler::eHexStyleC, + "c", + "C-style (0xffff).", + }, + { + Disassembler::eHexStyleAsm, + "asm", + "Asm-style (0ffffh).", + }, +}; static constexpr OptionEnumValueElement g_load_script_from_sym_file_values[] = { - {eLoadScriptFromSymFileTrue, "true", - "Load debug scripts inside symbol files"}, - {eLoadScriptFromSymFileFalse, "false", - "Do not load debug scripts inside symbol files."}, - {eLoadScriptFromSymFileWarn, "warn", - "Warn about debug scripts inside symbol files but do not load them."} }; - -static constexpr -OptionEnumValueElement g_load_current_working_dir_lldbinit_values[] = { - {eLoadCWDlldbinitTrue, "true", - "Load .lldbinit files from current directory"}, - {eLoadCWDlldbinitFalse, "false", - "Do not load .lldbinit files from current directory"}, - {eLoadCWDlldbinitWarn, "warn", - "Warn about loading .lldbinit files from current directory"} }; + { + eLoadScriptFromSymFileTrue, + "true", + "Load debug scripts inside symbol files", + }, + { + eLoadScriptFromSymFileFalse, + "false", + "Do not load debug scripts inside symbol files.", + }, + { + eLoadScriptFromSymFileWarn, + "warn", + "Warn about debug scripts inside symbol files but do not load them.", + }, +}; + +static constexpr OptionEnumValueElement g_load_cwd_lldbinit_values[] = { + { + eLoadCWDlldbinitTrue, + "true", + "Load .lldbinit files from current directory", + }, + { + eLoadCWDlldbinitFalse, + "false", + "Do not load .lldbinit files from current directory", + }, + { + eLoadCWDlldbinitWarn, + "warn", + "Warn about loading .lldbinit files from current directory", + }, +}; static constexpr OptionEnumValueElement g_memory_module_load_level_values[] = { - {eMemoryModuleLoadLevelMinimal, "minimal", - "Load minimal information when loading modules from memory. Currently " - "this setting loads sections only."}, - {eMemoryModuleLoadLevelPartial, "partial", - "Load partial information when loading modules from memory. Currently " - "this setting loads sections and function bounds."}, - {eMemoryModuleLoadLevelComplete, "complete", - "Load complete information when loading modules from memory. Currently " - "this setting loads sections and all symbols."} }; + { + eMemoryModuleLoadLevelMinimal, + "minimal", + "Load minimal information when loading modules from memory. Currently " + "this setting loads sections only.", + }, + { + eMemoryModuleLoadLevelPartial, + "partial", + "Load partial information when loading modules from memory. Currently " + "this setting loads sections and function bounds.", + }, + { + eMemoryModuleLoadLevelComplete, + "complete", + "Load complete information when loading modules from memory. Currently " + "this setting loads sections and all symbols.", + }, +}; #define LLDB_PROPERTIES_target #include "TargetProperties.inc" Index: lldb/source/Target/TargetProperties.td =================================================================== --- lldb/source/Target/TargetProperties.td +++ lldb/source/Target/TargetProperties.td @@ -129,7 +129,7 @@ Desc<"Allow LLDB to load scripting resources embedded in symbol files when available.">; def LoadCWDlldbinitFile: Property<"load-cwd-lldbinit", "Enum">, DefaultEnumValue<"eLoadCWDlldbinitWarn">, - EnumValues<"OptionEnumValues(g_load_current_working_dir_lldbinit_values)">, + EnumValues<"OptionEnumValues(g_load_cwd_lldbinit_values)">, Desc<"Allow LLDB to .lldbinit files from the current directory automatically.">; def MemoryModuleLoadLevel: Property<"memory-module-load-level", "Enum">, DefaultEnumValue<"eMemoryModuleLoadLevelComplete">,