<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 11, 2015 at 2:02 PM, Eugene Zelenko <span dir="ltr"><<a href="mailto:eugene.zelenko@gmail.com" target="_blank">eugene.zelenko@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, Todd!<br>
<br>
As far as I know Clang-format doesn't leave spaces. Somebody pointed<br>
to old discussion on this matter, but I forgot it locations :-(<br>
<br>
I think will be good idea to implement automatic run of Clang-format<br>
as pre-commit hook, since LLDB code have too much diversity in code<br>
formatting for single project.<br></blockquote><div><br></div><div>I like the pre-commit hook idea.  Have we attempted to pursue this in the past?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
Eugene.<br>
</font></span><span class="im HOEnZb"><br>
On Fri, Dec 11, 2015 at 1:55 PM, Todd Fiala <<a href="mailto:todd.fiala@gmail.com">todd.fiala@gmail.com</a>> wrote:<br>
</span><div class="HOEnZb"><div class="h5">> Hey Eugene and Greg,<br>
><br>
> I thought we were doing spaces before the open parens in places like this:<br>
><br>
> -    BreakpointResolverSP resolver_sp(new BreakpointResolverFileLine (NULL,<br>
> ...<br>
> +    BreakpointResolverSP resolver_sp(new<br>
> BreakpointResolverFileLine(nullptr,<br>
><br>
> (see the removal of the space after BreakpointResolverFileLine from the<br>
> clang-tidy settings I presume).<br>
><br>
> Did I misunderstand that?<br>
><br>
> -Todd<br>
><br>
> On Fri, Dec 11, 2015 at 11:52 AM, Eugene Zelenko via lldb-commits<br>
> <<a href="mailto:lldb-commits@lists.llvm.org">lldb-commits@lists.llvm.org</a>> wrote:<br>
>><br>
>> Author: eugenezelenko<br>
>> Date: Fri Dec 11 13:52:15 2015<br>
>> New Revision: 255364<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=255364&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=255364&view=rev</a><br>
>> Log:<br>
>> Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr<br>
>> warnings in source/Target/Target.cpp.<br>
>><br>
>> Simplify smart pointers checks in conditions.<br>
>><br>
>> Modified:<br>
>>     lldb/trunk/source/Target/Target.cpp<br>
>><br>
>> Modified: lldb/trunk/source/Target/Target.cpp<br>
>> URL:<br>
>> <a href="http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Target.cpp?rev=255364&r1=255363&r2=255364&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/Target.cpp?rev=255364&r1=255363&r2=255364&view=diff</a><br>
>><br>
>> ==============================================================================<br>
>> --- lldb/trunk/source/Target/Target.cpp (original)<br>
>> +++ lldb/trunk/source/Target/Target.cpp Fri Dec 11 13:52:15 2015<br>
>> @@ -178,7 +178,7 @@ Target::CleanupProcess ()<br>
>>  void<br>
>>  Target::DeleteCurrentProcess ()<br>
>>  {<br>
>> -    if (m_process_sp.get())<br>
>> +    if (m_process_sp)<br>
>>      {<br>
>>          m_section_load_history.Clear();<br>
>>          if (m_process_sp->IsAlive())<br>
>> @@ -333,7 +333,7 @@ Target::CreateSourceRegexBreakpoint (con<br>
>>      SearchFilterSP filter_sp(GetSearchFilterForModuleAndCUList<br>
>> (containingModules, source_file_spec_list));<br>
>>      if (move_to_nearest_code == eLazyBoolCalculate)<br>
>>          move_to_nearest_code = GetMoveToNearestCode() ? eLazyBoolYes :<br>
>> eLazyBoolNo;<br>
>> -    BreakpointResolverSP resolver_sp(new BreakpointResolverFileRegex<br>
>> (NULL, source_regex, !static_cast<bool>(move_to_nearest_code)));<br>
>> +    BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverFileRegex(nullptr, source_regex,<br>
>> !static_cast<bool>(move_to_nearest_code)));<br>
>>      return CreateBreakpoint (filter_sp, resolver_sp, internal, hardware,<br>
>> true);<br>
>>  }<br>
>><br>
>> @@ -385,12 +385,12 @@ Target::CreateBreakpoint (const FileSpec<br>
>>      if (move_to_nearest_code == eLazyBoolCalculate)<br>
>>          move_to_nearest_code = GetMoveToNearestCode() ? eLazyBoolYes :<br>
>> eLazyBoolNo;<br>
>><br>
>> -    BreakpointResolverSP resolver_sp(new BreakpointResolverFileLine<br>
>> (NULL,<br>
>> -<br>
>> file,<br>
>> -<br>
>> line_no,<br>
>> -<br>
>> check_inlines,<br>
>> -<br>
>> skip_prologue,<br>
>> -<br>
>> !static_cast<bool>(move_to_nearest_code)));<br>
>> +    BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverFileLine(nullptr,<br>
>> +                                                                    file,<br>
>> +<br>
>> line_no,<br>
>> +<br>
>> check_inlines,<br>
>> +<br>
>> skip_prologue,<br>
>> +<br>
>> !static_cast<bool>(move_to_nearest_code)));<br>
>>      return CreateBreakpoint (filter_sp, resolver_sp, internal, hardware,<br>
>> true);<br>
>>  }<br>
>><br>
>> @@ -420,7 +420,7 @@ BreakpointSP<br>
>>  Target::CreateBreakpoint (const Address &addr, bool internal, bool<br>
>> hardware)<br>
>>  {<br>
>>      SearchFilterSP filter_sp(new SearchFilterForUnconstrainedSearches<br>
>> (shared_from_this()));<br>
>> -    BreakpointResolverSP resolver_sp (new BreakpointResolverAddress<br>
>> (NULL, addr));<br>
>> +    BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverAddress(nullptr, addr));<br>
>>      return CreateBreakpoint (filter_sp, resolver_sp, internal, hardware,<br>
>> false);<br>
>>  }<br>
>><br>
>> @@ -431,7 +431,7 @@ Target::CreateAddressInModuleBreakpoint<br>
>>                                           bool request_hardware)<br>
>>  {<br>
>>      SearchFilterSP filter_sp(new SearchFilterForUnconstrainedSearches<br>
>> (shared_from_this()));<br>
>> -    BreakpointResolverSP resolver_sp (new BreakpointResolverAddress<br>
>> (NULL, file_addr, file_spec));<br>
>> +    BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverAddress(nullptr, file_addr, file_spec));<br>
>>      return CreateBreakpoint (filter_sp, resolver_sp, internal,<br>
>> request_hardware, false);<br>
>>  }<br>
>><br>
>> @@ -455,12 +455,12 @@ Target::CreateBreakpoint (const FileSpec<br>
>>          if (language == lldb::eLanguageTypeUnknown)<br>
>>              language = GetLanguage();<br>
>><br>
>> -        BreakpointResolverSP resolver_sp (new BreakpointResolverName<br>
>> (NULL,<br>
>> -<br>
>> func_name,<br>
>> -<br>
>> func_name_type_mask,<br>
>> -<br>
>> language,<br>
>> -<br>
>> Breakpoint::Exact,<br>
>> -<br>
>> skip_prologue));<br>
>> +        BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverName(nullptr,<br>
>> +<br>
>> func_name,<br>
>> +<br>
>> func_name_type_mask,<br>
>> +<br>
>> language,<br>
>> +<br>
>> Breakpoint::Exact,<br>
>> +<br>
>> skip_prologue));<br>
>>          bp_sp = CreateBreakpoint (filter_sp, resolver_sp, internal,<br>
>> hardware, true);<br>
>>      }<br>
>>      return bp_sp;<br>
>> @@ -487,11 +487,11 @@ Target::CreateBreakpoint (const FileSpec<br>
>>          if (language == lldb::eLanguageTypeUnknown)<br>
>>              language = GetLanguage();<br>
>><br>
>> -        BreakpointResolverSP resolver_sp (new BreakpointResolverName<br>
>> (NULL,<br>
>> -<br>
>> func_names,<br>
>> -<br>
>> func_name_type_mask,<br>
>> -<br>
>> language,<br>
>> -<br>
>> skip_prologue));<br>
>> +        BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverName(nullptr,<br>
>> +<br>
>> func_names,<br>
>> +<br>
>> func_name_type_mask,<br>
>> +<br>
>> language,<br>
>> +<br>
>> skip_prologue));<br>
>>          bp_sp = CreateBreakpoint (filter_sp, resolver_sp, internal,<br>
>> hardware, true);<br>
>>      }<br>
>>      return bp_sp;<br>
>> @@ -518,12 +518,12 @@ Target::CreateBreakpoint (const FileSpec<br>
>>          if (language == lldb::eLanguageTypeUnknown)<br>
>>              language = GetLanguage();<br>
>><br>
>> -        BreakpointResolverSP resolver_sp (new BreakpointResolverName<br>
>> (NULL,<br>
>> -<br>
>> func_names,<br>
>> -<br>
>> num_names,<br>
>> -<br>
>> func_name_type_mask,<br>
>> -<br>
>> language,<br>
>> -<br>
>> skip_prologue));<br>
>> +        BreakpointResolverSP resolver_sp(new<br>
>> BreakpointResolverName(nullptr,<br>
>> +<br>
>> func_names,<br>
>> +<br>
>> num_names,<br>
>> +<br>
>> func_name_type_mask,<br>
>> +<br>
>> language,<br>
>> +<br>
>> skip_prologue));<br>
>>          bp_sp = CreateBreakpoint (filter_sp, resolver_sp, internal,<br>
>> hardware, true);<br>
>>      }<br>
>>      return bp_sp;<br>
>> @@ -533,7 +533,7 @@ SearchFilterSP<br>
>>  Target::GetSearchFilterForModule (const FileSpec *containingModule)<br>
>>  {<br>
>>      SearchFilterSP filter_sp;<br>
>> -    if (containingModule != NULL)<br>
>> +    if (containingModule != nullptr)<br>
>>      {<br>
>>          // TODO: We should look into sharing module based search filters<br>
>>          // across many breakpoints like we do for the simple target based<br>
>> one<br>
>> @@ -541,7 +541,7 @@ Target::GetSearchFilterForModule (const<br>
>>      }<br>
>>      else<br>
>>      {<br>
>> -        if (m_search_filter_sp.get() == NULL)<br>
>> +        if (!m_search_filter_sp)<br>
>>              m_search_filter_sp.reset (new<br>
>> SearchFilterForUnconstrainedSearches (shared_from_this()));<br>
>>          filter_sp = m_search_filter_sp;<br>
>>      }<br>
>> @@ -560,7 +560,7 @@ Target::GetSearchFilterForModuleList (co<br>
>>      }<br>
>>      else<br>
>>      {<br>
>> -        if (m_search_filter_sp.get() == NULL)<br>
>> +        if (!m_search_filter_sp)<br>
>>              m_search_filter_sp.reset (new<br>
>> SearchFilterForUnconstrainedSearches (shared_from_this()));<br>
>>          filter_sp = m_search_filter_sp;<br>
>>      }<br>
>> @@ -571,11 +571,11 @@ SearchFilterSP<br>
>>  Target::GetSearchFilterForModuleAndCUList (const FileSpecList<br>
>> *containingModules,<br>
>>                                             const FileSpecList<br>
>> *containingSourceFiles)<br>
>>  {<br>
>> -    if (containingSourceFiles == NULL || containingSourceFiles->GetSize()<br>
>> == 0)<br>
>> +    if (containingSourceFiles == nullptr ||<br>
>> containingSourceFiles->GetSize() == 0)<br>
>>          return GetSearchFilterForModuleList(containingModules);<br>
>><br>
>>      SearchFilterSP filter_sp;<br>
>> -    if (containingModules == NULL)<br>
>> +    if (containingModules == nullptr)<br>
>>      {<br>
>>          // We could make a special "CU List only SearchFilter".  Better<br>
>> yet was if these could be composable,<br>
>>          // but that will take a little reworking.<br>
>> @@ -602,10 +602,10 @@ Target::CreateFuncRegexBreakpoint (const<br>
>>      bool skip =<br>
>>        (skip_prologue == eLazyBoolCalculate) ? GetSkipPrologue()<br>
>>                                              :<br>
>> static_cast<bool>(skip_prologue);<br>
>> -    BreakpointResolverSP resolver_sp(new BreakpointResolverName (NULL,<br>
>> -<br>
>> func_regex,<br>
>> -<br>
>> requested_language,<br>
>> -                                                                 skip));<br>
>> +    BreakpointResolverSP resolver_sp(new BreakpointResolverName(nullptr,<br>
>> +<br>
>> func_regex,<br>
>> +<br>
>> requested_language,<br>
>> +                                                                skip));<br>
>><br>
>>      return CreateBreakpoint (filter_sp, resolver_sp, internal, hardware,<br>
>> true);<br>
>>  }<br>
>> @@ -1206,7 +1206,7 @@ Target::SetExecutableModule (ModuleSP& e<br>
>>      Log *log(lldb_private::GetLogIfAllCategoriesSet<br>
>> (LIBLLDB_LOG_TARGET));<br>
>>      ClearModules(false);<br>
>><br>
>> -    if (executable_sp.get())<br>
>> +    if (executable_sp)<br>
>>      {<br>
>>          Timer scoped_timer (__PRETTY_FUNCTION__,<br>
>>                              "Target::SetExecutableModule (executable =<br>
>> '%s')",<br>
>> @@ -1233,13 +1233,13 @@ Target::SetExecutableModule (ModuleSP& e<br>
>>                  FileSpec dependent_file_spec<br>
>> (dependent_files.GetFileSpecPointerAtIndex(i));<br>
>>                  FileSpec platform_dependent_file_spec;<br>
>>                  if (m_platform_sp)<br>
>> -                    m_platform_sp->GetFileWithUUID (dependent_file_spec,<br>
>> NULL, platform_dependent_file_spec);<br>
>> +                    m_platform_sp->GetFileWithUUID(dependent_file_spec,<br>
>> nullptr, platform_dependent_file_spec);<br>
>>                  else<br>
>>                      platform_dependent_file_spec = dependent_file_spec;<br>
>><br>
>>                  ModuleSpec module_spec (platform_dependent_file_spec,<br>
>> m_arch);<br>
>>                  ModuleSP image_module_sp(GetSharedModule (module_spec));<br>
>> -                if (image_module_sp.get())<br>
>> +                if (image_module_sp)<br>
>>                  {<br>
>>                      ObjectFile *objfile =<br>
>> image_module_sp->GetObjectFile();<br>
>>                      if (objfile)<br>
>> @@ -1254,7 +1254,7 @@ bool<br>
>>  Target::SetArchitecture (const ArchSpec &arch_spec)<br>
>>  {<br>
>>      Log *log(lldb_private::GetLogIfAllCategoriesSet<br>
>> (LIBLLDB_LOG_TARGET));<br>
>> -    bool missing_local_arch = (false == m_arch.IsValid());<br>
>> +    bool missing_local_arch = !m_arch.IsValid();<br>
>>      bool replace_local_arch = true;<br>
>>      bool compatible_local_arch = false;<br>
>>      ArchSpec other(arch_spec);<br>
>> @@ -1308,11 +1308,11 @@ Target::SetArchitecture (const ArchSpec<br>
>>          if (log)<br>
>>            log->Printf("Target::SetArchitecture Trying to select<br>
>> executable file architecture %s (%s)", arch_spec.GetArchitectureName(),<br>
>> arch_spec.GetTriple().getTriple().c_str());<br>
>>          ModuleSpec module_spec (executable_sp->GetFileSpec(), other);<br>
>> -        Error error = ModuleList::GetSharedModule (module_spec,<br>
>> -                                                   executable_sp,<br>
>> -<br>
>> &GetExecutableSearchPaths(),<br>
>> -                                                   NULL,<br>
>> -                                                   NULL);<br>
>> +        Error error = ModuleList::GetSharedModule(module_spec,<br>
>> +                                                  executable_sp,<br>
>> +<br>
>> &GetExecutableSearchPaths(),<br>
>> +                                                  nullptr,<br>
>> +                                                  nullptr);<br>
>><br>
>>          if (!error.Fail() && executable_sp)<br>
>>          {<br>
>> @@ -1686,7 +1686,7 @@ Target::ReadCStringFromMemory (const Add<br>
>>      }<br>
>>      else<br>
>>      {<br>
>> -        if (dst == NULL)<br>
>> +        if (dst == nullptr)<br>
>>              result_error.SetErrorString("invalid arguments");<br>
>>          else<br>
>>              result_error.Clear();<br>
>> @@ -2198,10 +2198,10 @@ Target::GetTargetFromContexts (const Exe<br>
>>      // the "target_sp" member of SymbolContext. This accessor helper<br>
>> function<br>
>>      // will get the target from one of these locations.<br>
>><br>
>> -    Target *target = NULL;<br>
>> -    if (sc_ptr != NULL)<br>
>> +    Target *target = nullptr;<br>
>> +    if (sc_ptr != nullptr)<br>
>>          target = sc_ptr->target_sp.get();<br>
>> -    if (target == NULL && exe_ctx_ptr)<br>
>> +    if (target == nullptr && exe_ctx_ptr)<br>
>>          target = exe_ctx_ptr->GetTargetPtr();<br>
>>      return target;<br>
>>  }<br>
>> @@ -2216,7 +2216,7 @@ Target::EvaluateExpression(const char *e<br>
>><br>
>>      ExpressionResults execution_results = eExpressionSetupError;<br>
>><br>
>> -    if (expr_cstr == NULL || expr_cstr[0] == '\0')<br>
>> +    if (expr_cstr == nullptr || expr_cstr[0] == '\0')<br>
>>          return execution_results;<br>
>><br>
>>      // We shouldn't run stop hooks in expressions.<br>
>> @@ -2473,7 +2473,7 @@ Target::GetBreakableLoadAddress (lldb::a<br>
>>          }<br>
>><br>
>>          // Create Disassembler Instance<br>
>> -        lldb::DisassemblerSP disasm_sp (Disassembler::FindPlugin(m_arch,<br>
>> NULL, NULL));<br>
>> +        lldb::DisassemblerSP disasm_sp(Disassembler::FindPlugin(m_arch,<br>
>> nullptr, nullptr));<br>
>><br>
>>          ExecutionContext exe_ctx;<br>
>>          CalculateExecutionContext(exe_ctx);<br>
>> @@ -2489,7 +2489,7 @@ Target::GetBreakableLoadAddress (lldb::a<br>
>>              AddressRange range(resolved_addr, i*2);<br>
>>              uint32_t insn_size = 0;<br>
>><br>
>> -            disasm_sp->ParseInstructions (&exe_ctx, range, NULL,<br>
>> prefer_file_cache);<br>
>> +            disasm_sp->ParseInstructions(&exe_ctx, range, nullptr,<br>
>> prefer_file_cache);<br>
>><br>
>>              uint32_t num_insns =<br>
>> disasm_sp->GetInstructionList().GetSize();<br>
>>              if (num_insns)<br>
>> @@ -2571,7 +2571,7 @@ Target::GetBreakableLoadAddress (lldb::a<br>
>>  SourceManager &<br>
>>  Target::GetSourceManager ()<br>
>>  {<br>
>> -    if (m_source_manager_ap.get() == NULL)<br>
>> +    if (!m_source_manager_ap)<br>
>>          m_source_manager_ap.reset (new<br>
>> SourceManager(shared_from_this()));<br>
>>      return *m_source_manager_ap;<br>
>>  }<br>
>> @@ -2605,12 +2605,8 @@ Target::CreateStopHook ()<br>
>>  bool<br>
>>  Target::RemoveStopHookByID (lldb::user_id_t user_id)<br>
>>  {<br>
>> -    size_t num_removed;<br>
>> -    num_removed = m_stop_hooks.erase (user_id);<br>
>> -    if (num_removed == 0)<br>
>> -        return false;<br>
>> -    else<br>
>> -        return true;<br>
>> +    size_t num_removed = m_stop_hooks.erase(user_id);<br>
>> +    return (num_removed != 0);<br>
>>  }<br>
>><br>
>>  void<br>
>> @@ -2713,19 +2709,9 @@ Target::RunStopHooks ()<br>
>><br>
>>      bool keep_going = true;<br>
>>      bool hooks_ran = false;<br>
>> -    bool print_hook_header;<br>
>> -    bool print_thread_header;<br>
>> +    bool print_hook_header = (m_stop_hooks.size() != 1);<br>
>> +    bool print_thread_header = (num_exe_ctx != 1);<br>
>><br>
>> -    if (num_exe_ctx == 1)<br>
>> -        print_thread_header = false;<br>
>> -    else<br>
>> -        print_thread_header = true;<br>
>> -<br>
>> -    if (m_stop_hooks.size() == 1)<br>
>> -        print_hook_header = false;<br>
>> -    else<br>
>> -        print_hook_header = true;<br>
>> -<br>
>>      for (pos = m_stop_hooks.begin(); keep_going && pos != end; pos++)<br>
>>      {<br>
>>          // result.Clear();<br>
>> @@ -2736,9 +2722,9 @@ Target::RunStopHooks ()<br>
>>          bool any_thread_matched = false;<br>
>>          for (size_t i = 0; keep_going && i < num_exe_ctx; i++)<br>
>>          {<br>
>> -            if ((cur_hook_sp->GetSpecifier () == NULL<br>
>> +            if ((cur_hook_sp->GetSpecifier() == nullptr<br>
>>                    ||<br>
>> cur_hook_sp->GetSpecifier()->SymbolContextMatches(sym_ctx_with_reasons[i]))<br>
>> -                && (cur_hook_sp->GetThreadSpecifier() == NULL<br>
>> +                && (cur_hook_sp->GetThreadSpecifier() == nullptr<br>
>>                      ||<br>
>> cur_hook_sp->GetThreadSpecifier()->ThreadPassesBasicTests(exc_ctx_with_reasons[i].GetThreadRef())))<br>
>>              {<br>
>>                  if (!hooks_ran)<br>
>> @@ -2749,7 +2735,7 @@ Target::RunStopHooks ()<br>
>>                  {<br>
>>                      const char *cmd =<br>
>> (cur_hook_sp->GetCommands().GetSize() == 1 ?<br>
>><br>
>> cur_hook_sp->GetCommands().GetStringAtIndex(0) :<br>
>> -                                       NULL);<br>
>> +                                       nullptr);<br>
>>                      if (cmd)<br>
>>                          result.AppendMessageWithFormat("\n- Hook %"<br>
>> PRIu64 " (%s)\n", cur_hook_sp->GetID(), cmd);<br>
>>                      else<br>
>> @@ -2794,7 +2780,7 @@ Target::GetGlobalProperties()<br>
>>      static TargetPropertiesSP g_settings_sp;<br>
>>      if (!g_settings_sp)<br>
>>      {<br>
>> -        g_settings_sp.reset (new TargetProperties (NULL));<br>
>> +        g_settings_sp.reset(new TargetProperties(nullptr));<br>
>>      }<br>
>>      return g_settings_sp;<br>
>>  }<br>
>> @@ -3054,7 +3040,7 @@ Target::Launch (ProcessLaunchInfo &launc<br>
>>          {<br>
>>              // Use a Process plugin to construct the process.<br>
>>              const char *plugin_name = launch_info.GetProcessPluginName();<br>
>> -            CreateProcess (launch_info.GetListenerForProcess(debugger),<br>
>> plugin_name, NULL);<br>
>> +            CreateProcess(launch_info.GetListenerForProcess(debugger),<br>
>> plugin_name, nullptr);<br>
>>          }<br>
>><br>
>>          // Since we didn't have a platform launch the process, launch it<br>
>> here.<br>
>> @@ -3071,7 +3057,7 @@ Target::Launch (ProcessLaunchInfo &launc<br>
>><br>
>>      if (error.Success())<br>
>>      {<br>
>> -        if (synchronous_execution ||<br>
>> launch_info.GetFlags().Test(eLaunchFlagStopAtEntry) == false)<br>
>> +        if (synchronous_execution ||<br>
>> !launch_info.GetFlags().Test(eLaunchFlagStopAtEntry))<br>
>>          {<br>
>>              ListenerSP hijack_listener_sp<br>
>> (launch_info.GetHijackListener());<br>
>>              if (!hijack_listener_sp)<br>
>> @@ -3081,7 +3067,7 @@ Target::Launch (ProcessLaunchInfo &launc<br>
>><br>
>> m_process_sp->HijackProcessEvents(hijack_listener_sp.get());<br>
>>              }<br>
>><br>
>> -            StateType state = m_process_sp->WaitForProcessToStop (NULL,<br>
>> NULL, false, hijack_listener_sp.get(), NULL);<br>
>> +            StateType state = m_process_sp->WaitForProcessToStop(nullptr,<br>
>> nullptr, false, hijack_listener_sp.get(), nullptr);<br>
>><br>
>>              if (state == eStateStopped)<br>
>>              {<br>
>> @@ -3092,7 +3078,7 @@ Target::Launch (ProcessLaunchInfo &launc<br>
>>                          error = m_process_sp->PrivateResume();<br>
>>                          if (error.Success())<br>
>>                          {<br>
>> -                            state = m_process_sp->WaitForProcessToStop<br>
>> (NULL, NULL, true, hijack_listener_sp.get(), stream);<br>
>> +                            state =<br>
>> m_process_sp->WaitForProcessToStop(nullptr, nullptr, true,<br>
>> hijack_listener_sp.get(), stream);<br>
>>                              const bool must_be_alive = false; //<br>
>> eStateExited is ok, so this must be false<br>
>>                              if (!StateIsStoppedState(state,<br>
>> must_be_alive))<br>
>>                              {<br>
>> @@ -3184,7 +3170,7 @@ Target::Attach (ProcessAttachInfo &attac<br>
>>      const auto platform_sp = GetDebugger ().GetPlatformList<br>
>> ().GetSelectedPlatform ();<br>
>>      ListenerSP hijack_listener_sp;<br>
>>      const bool async = attach_info.GetAsync();<br>
>> -    if (async == false)<br>
>> +    if (!async)<br>
>>      {<br>
>>          hijack_listener_sp.reset (new Listener<br>
>> ("lldb.Target.Attach.attach.hijack"));<br>
>>          attach_info.SetHijackListener (hijack_listener_sp);<br>
>> @@ -3259,7 +3245,7 @@ Target::StopHook::StopHook (const StopHo<br>
>>          m_thread_spec_ap (),<br>
>>          m_active (rhs.m_active)<br>
>>  {<br>
>> -    if (rhs.m_thread_spec_ap.get() != NULL)<br>
>> +    if (rhs.m_thread_spec_ap)<br>
>>          m_thread_spec_ap.reset (new<br>
>> ThreadSpec(*rhs.m_thread_spec_ap.get()));<br>
>>  }<br>
>><br>
>> @@ -3299,7 +3285,7 @@ Target::StopHook::GetDescription (Stream<br>
>>          s->SetIndentLevel (indent_level + 2);<br>
>>      }<br>
>><br>
>> -    if (m_thread_spec_ap.get() != NULL)<br>
>> +    if (m_thread_spec_ap)<br>
>>      {<br>
>>          StreamString tmp;<br>
>>          s->Indent("Thread:\n");<br>
>> @@ -3331,7 +3317,7 @@ lldb_private::g_dynamic_value_types[] =<br>
>>      { eNoDynamicValues,      "no-dynamic-values", "Don't calculate the<br>
>> dynamic type of values"},<br>
>>      { eDynamicCanRunTarget,  "run-target",        "Calculate the dynamic<br>
>> type of values even if you have to run the target."},<br>
>>      { eDynamicDontRunTarget, "no-run-target",     "Calculate the dynamic<br>
>> type of values, but don't run the target."},<br>
>> -    { 0, NULL, NULL }<br>
>> +    { 0, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  static OptionEnumValueElement<br>
>> @@ -3340,7 +3326,7 @@ g_inline_breakpoint_enums[] =<br>
>>      { eInlineBreakpointsNever,   "never",     "Never look for inline<br>
>> breakpoint locations (fastest). This setting should only be used if you know<br>
>> that no inlining occurs in your programs."},<br>
>>      { eInlineBreakpointsHeaders, "headers",   "Only check for inline<br>
>> breakpoint locations when setting breakpoints in header files, but not when<br>
>> setting breakpoint in implementation source files (default)."},<br>
>>      { eInlineBreakpointsAlways,  "always",    "Always look for inline<br>
>> breakpoint locations when setting file and line breakpoints (slower but most<br>
>> accurate)."},<br>
>> -    { 0, NULL, NULL }<br>
>> +    { 0, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  typedef enum x86DisassemblyFlavor<br>
>> @@ -3356,7 +3342,7 @@ g_x86_dis_flavor_value_types[] =<br>
>>      { eX86DisFlavorDefault, "default", "Disassembler default (currently<br>
>> att)."},<br>
>>      { eX86DisFlavorIntel,   "intel",   "Intel disassembler flavor."},<br>
>>      { eX86DisFlavorATT,     "att",     "AT&T disassembler flavor."},<br>
>> -    { 0, NULL, NULL }<br>
>> +    { 0, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  static OptionEnumValueElement<br>
>> @@ -3364,7 +3350,7 @@ g_hex_immediate_style_values[] =<br>
>>  {<br>
>>      { Disassembler::eHexStyleC,        "c",      "C-style (0xffff)."},<br>
>>      { Disassembler::eHexStyleAsm,      "asm",    "Asm-style (0ffffh)."},<br>
>> -    { 0, NULL, NULL }<br>
>> +    { 0, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  static OptionEnumValueElement<br>
>> @@ -3373,7 +3359,7 @@ g_load_script_from_sym_file_values[] =<br>
>>      { eLoadScriptFromSymFileTrue,    "true",    "Load debug scripts<br>
>> inside symbol files"},<br>
>>      { eLoadScriptFromSymFileFalse,   "false",   "Do not load debug<br>
>> scripts inside symbol files."},<br>
>>      { eLoadScriptFromSymFileWarn,    "warn",    "Warn about debug scripts<br>
>> inside symbol files but do not load them."},<br>
>> -    { 0, NULL, NULL }<br>
>> +    { 0, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  static OptionEnumValueElement<br>
>> @@ -3382,43 +3368,43 @@ g_memory_module_load_level_values[] =<br>
>>      { eMemoryModuleLoadLevelMinimal,  "minimal" , "Load minimal<br>
>> information when loading modules from memory. Currently this setting loads<br>
>> sections only."},<br>
>>      { eMemoryModuleLoadLevelPartial,  "partial" , "Load partial<br>
>> information when loading modules from memory. Currently this setting loads<br>
>> sections and function bounds."},<br>
>>      { eMemoryModuleLoadLevelComplete, "complete", "Load complete<br>
>> information when loading modules from memory. Currently this setting loads<br>
>> sections and all symbols."},<br>
>> -    { 0, NULL, NULL }<br>
>> +    { 0, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  static PropertyDefinition<br>
>>  g_properties[] =<br>
>>  {<br>
>> -    { "default-arch"                       , OptionValue::eTypeArch<br>
>> , true , 0                         , NULL, NULL, "Default architecture to<br>
>> choose, when there's a choice." },<br>
>> -    { "move-to-nearest-code"               , OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "Move breakpoints to<br>
>> nearest code." },<br>
>> -    { "language"                           , OptionValue::eTypeLanguage<br>
>> , false, eLanguageTypeUnknown      , NULL, NULL, "The language to use when<br>
>> interpreting expressions entered in commands." },<br>
>> -    { "expr-prefix"                        , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , NULL, NULL, "Path to a file containing<br>
>> expressions to be prepended to all expressions." },<br>
>> -    { "prefer-dynamic-value"               , OptionValue::eTypeEnum<br>
>> , false, eDynamicDontRunTarget     , NULL, g_dynamic_value_types, "Should<br>
>> printed values be shown as their dynamic value." },<br>
>> -    { "enable-synthetic-value"             , OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "Should synthetic values be<br>
>> used by default whenever available." },<br>
>> -    { "skip-prologue"                      , OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "Skip function prologues<br>
>> when setting breakpoints by name." },<br>
>> -    { "source-map"                         , OptionValue::eTypePathMap<br>
>> , false, 0                         , NULL, NULL, "Source path remappings are<br>
>> used to track the change of location between a source file when built, and "<br>
>> +    { "default-arch"                       , OptionValue::eTypeArch<br>
>> , true , 0                         , nullptr, nullptr, "Default architecture<br>
>> to choose, when there's a choice." },<br>
>> +    { "move-to-nearest-code"               , OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "Move breakpoints to<br>
>> nearest code." },<br>
>> +    { "language"                           , OptionValue::eTypeLanguage<br>
>> , false, eLanguageTypeUnknown      , nullptr, nullptr, "The language to use<br>
>> when interpreting expressions entered in commands." },<br>
>> +    { "expr-prefix"                        , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , nullptr, nullptr, "Path to a file<br>
>> containing expressions to be prepended to all expressions." },<br>
>> +    { "prefer-dynamic-value"               , OptionValue::eTypeEnum<br>
>> , false, eDynamicDontRunTarget     , nullptr, g_dynamic_value_types, "Should<br>
>> printed values be shown as their dynamic value." },<br>
>> +    { "enable-synthetic-value"             , OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "Should synthetic<br>
>> values be used by default whenever available." },<br>
>> +    { "skip-prologue"                      , OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "Skip function<br>
>> prologues when setting breakpoints by name." },<br>
>> +    { "source-map"                         , OptionValue::eTypePathMap<br>
>> , false, 0                         , nullptr, nullptr, "Source path<br>
>> remappings are used to track the change of location between a source file<br>
>> when built, and "<br>
>>        "where it exists on the current system.  It consists of an array of<br>
>> duples, the first element of each duple is "<br>
>>        "some part (starting at the root) of the path to the file when it<br>
>> was built, "<br>
>>        "and the second is where the remainder of the original build<br>
>> hierarchy is rooted on the local system.  "<br>
>>        "Each element of the array is checked in order and the first one<br>
>> that results in a match wins." },<br>
>> -    { "exec-search-paths"                  ,<br>
>> OptionValue::eTypeFileSpecList, false, 0                       , NULL, NULL,<br>
>> "Executable search paths to use when locating executable files whose paths<br>
>> don't match the local file system." },<br>
>> -    { "debug-file-search-paths"            ,<br>
>> OptionValue::eTypeFileSpecList, false, 0                       , NULL, NULL,<br>
>> "List of directories to be searched when locating debug symbol files." },<br>
>> -    { "clang-module-search-paths"          ,<br>
>> OptionValue::eTypeFileSpecList, false, 0                       , NULL, NULL,<br>
>> "List of directories to be searched when locating modules for Clang." },<br>
>> -    { "auto-import-clang-modules"          , OptionValue::eTypeBoolean<br>
>> , false, false                     , NULL, NULL, "Automatically load Clang<br>
>> modules referred to by the program." },<br>
>> -    { "max-children-count"                 , OptionValue::eTypeSInt64<br>
>> , false, 256                       , NULL, NULL, "Maximum number of children<br>
>> to expand in any level of depth." },<br>
>> -    { "max-string-summary-length"          , OptionValue::eTypeSInt64<br>
>> , false, 1024                      , NULL, NULL, "Maximum number of<br>
>> characters to show when using %s in summary strings." },<br>
>> -    { "max-memory-read-size"               , OptionValue::eTypeSInt64<br>
>> , false, 1024                      , NULL, NULL, "Maximum number of bytes<br>
>> that 'memory read' will fetch before --force must be specified." },<br>
>> -    { "breakpoints-use-platform-avoid-list", OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "Consult the platform<br>
>> module avoid list when setting non-module specific breakpoints." },<br>
>> -    { "arg0"                               , OptionValue::eTypeString<br>
>> , false, 0                         , NULL, NULL, "The first argument passed<br>
>> to the program in the argument array which can be different from the<br>
>> executable itself." },<br>
>> -    { "run-args"                           , OptionValue::eTypeArgs<br>
>> , false, 0                         , NULL, NULL, "A list containing all the<br>
>> arguments to be passed to the executable when it is run. Note that this does<br>
>> NOT include the argv[0] which is in target.arg0." },<br>
>> -    { "env-vars"                           ,<br>
>> OptionValue::eTypeDictionary, false, OptionValue::eTypeString  , NULL, NULL,<br>
>> "A list of all the environment variables to be passed to the executable's<br>
>> environment, and their values." },<br>
>> -    { "inherit-env"                        , OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "Inherit the environment<br>
>> from the process that is running LLDB." },<br>
>> -    { "input-path"                         , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , NULL, NULL, "The file/path to be used<br>
>> by the executable program for reading its standard input." },<br>
>> -    { "output-path"                        , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , NULL, NULL, "The file/path to be used<br>
>> by the executable program for writing its standard output." },<br>
>> -    { "error-path"                         , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , NULL, NULL, "The file/path to be used<br>
>> by the executable program for writing its standard error." },<br>
>> -    { "detach-on-error"                    , OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "debugserver will detach<br>
>> (rather than killing) a process if it loses connection with lldb." },<br>
>> -    { "disable-aslr"                       , OptionValue::eTypeBoolean<br>
>> , false, true                      , NULL, NULL, "Disable Address Space<br>
>> Layout Randomization (ASLR)" },<br>
>> -    { "disable-stdio"                      , OptionValue::eTypeBoolean<br>
>> , false, false                     , NULL, NULL, "Disable stdin/stdout for<br>
>> process (e.g. for a GUI application)" },<br>
>> -    { "inline-breakpoint-strategy"         , OptionValue::eTypeEnum<br>
>> , false, eInlineBreakpointsAlways  , NULL, g_inline_breakpoint_enums, "The<br>
>> strategy to use when settings breakpoints by file and line. "<br>
>> +    { "exec-search-paths"                  ,<br>
>> OptionValue::eTypeFileSpecList, false, 0                       , nullptr,<br>
>> nullptr, "Executable search paths to use when locating executable files<br>
>> whose paths don't match the local file system." },<br>
>> +    { "debug-file-search-paths"            ,<br>
>> OptionValue::eTypeFileSpecList, false, 0                       , nullptr,<br>
>> nullptr, "List of directories to be searched when locating debug symbol<br>
>> files." },<br>
>> +    { "clang-module-search-paths"          ,<br>
>> OptionValue::eTypeFileSpecList, false, 0                       , nullptr,<br>
>> nullptr, "List of directories to be searched when locating modules for<br>
>> Clang." },<br>
>> +    { "auto-import-clang-modules"          , OptionValue::eTypeBoolean<br>
>> , false, false                     , nullptr, nullptr, "Automatically load<br>
>> Clang modules referred to by the program." },<br>
>> +    { "max-children-count"                 , OptionValue::eTypeSInt64<br>
>> , false, 256                       , nullptr, nullptr, "Maximum number of<br>
>> children to expand in any level of depth." },<br>
>> +    { "max-string-summary-length"          , OptionValue::eTypeSInt64<br>
>> , false, 1024                      , nullptr, nullptr, "Maximum number of<br>
>> characters to show when using %s in summary strings." },<br>
>> +    { "max-memory-read-size"               , OptionValue::eTypeSInt64<br>
>> , false, 1024                      , nullptr, nullptr, "Maximum number of<br>
>> bytes that 'memory read' will fetch before --force must be specified." },<br>
>> +    { "breakpoints-use-platform-avoid-list", OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "Consult the platform<br>
>> module avoid list when setting non-module specific breakpoints." },<br>
>> +    { "arg0"                               , OptionValue::eTypeString<br>
>> , false, 0                         , nullptr, nullptr, "The first argument<br>
>> passed to the program in the argument array which can be different from the<br>
>> executable itself." },<br>
>> +    { "run-args"                           , OptionValue::eTypeArgs<br>
>> , false, 0                         , nullptr, nullptr, "A list containing<br>
>> all the arguments to be passed to the executable when it is run. Note that<br>
>> this does NOT include the argv[0] which is in target.arg0." },<br>
>> +    { "env-vars"                           ,<br>
>> OptionValue::eTypeDictionary, false, OptionValue::eTypeString  , nullptr,<br>
>> nullptr, "A list of all the environment variables to be passed to the<br>
>> executable's environment, and their values." },<br>
>> +    { "inherit-env"                        , OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "Inherit the<br>
>> environment from the process that is running LLDB." },<br>
>> +    { "input-path"                         , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , nullptr, nullptr, "The file/path to be<br>
>> used by the executable program for reading its standard input." },<br>
>> +    { "output-path"                        , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , nullptr, nullptr, "The file/path to be<br>
>> used by the executable program for writing its standard output." },<br>
>> +    { "error-path"                         , OptionValue::eTypeFileSpec<br>
>> , false, 0                         , nullptr, nullptr, "The file/path to be<br>
>> used by the executable program for writing its standard error." },<br>
>> +    { "detach-on-error"                    , OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "debugserver will<br>
>> detach (rather than killing) a process if it loses connection with lldb." },<br>
>> +    { "disable-aslr"                       , OptionValue::eTypeBoolean<br>
>> , false, true                      , nullptr, nullptr, "Disable Address<br>
>> Space Layout Randomization (ASLR)" },<br>
>> +    { "disable-stdio"                      , OptionValue::eTypeBoolean<br>
>> , false, false                     , nullptr, nullptr, "Disable stdin/stdout<br>
>> for process (e.g. for a GUI application)" },<br>
>> +    { "inline-breakpoint-strategy"         , OptionValue::eTypeEnum<br>
>> , false, eInlineBreakpointsAlways  , nullptr, g_inline_breakpoint_enums,<br>
>> "The strategy to use when settings breakpoints by file and line. "<br>
>>          "Breakpoint locations can end up being inlined by the compiler,<br>
>> so that a compile unit 'a.c' might contain an inlined function from another<br>
>> source file. "<br>
>>          "Usually this is limited to breakpoint locations from inlined<br>
>> functions from header or other include files, or more accurately<br>
>> non-implementation source files. "<br>
>>          "Sometimes code might #include implementation files and cause<br>
>> inlined breakpoint locations in inlined implementation files. "<br>
>> @@ -3427,22 +3413,22 @@ g_properties[] =<br>
>>          "This setting allows you to control exactly which strategy is<br>
>> used when setting "<br>
>>          "file and line breakpoints." },<br>
>>      // FIXME: This is the wrong way to do per-architecture settings, but<br>
>> we don't have a general per architecture settings system in place yet.<br>
>> -    { "x86-disassembly-flavor"             , OptionValue::eTypeEnum<br>
>> , false, eX86DisFlavorDefault,       NULL, g_x86_dis_flavor_value_types,<br>
>> "The default disassembly flavor to use for x86 or x86-64 targets." },<br>
>> -    { "use-hex-immediates"                 , OptionValue::eTypeBoolean<br>
>> , false, true,                       NULL, NULL, "Show immediates in<br>
>> disassembly as hexadecimal." },<br>
>> -    { "hex-immediate-style"                , OptionValue::eTypeEnum   ,<br>
>> false, Disassembler::eHexStyleC,   NULL, g_hex_immediate_style_values,<br>
>> "Which style to use for printing hexadecimal disassembly values." },<br>
>> -    { "use-fast-stepping"                  , OptionValue::eTypeBoolean<br>
>> , false, true,                       NULL, NULL, "Use a fast stepping<br>
>> algorithm based on running from branch to branch rather than instruction<br>
>> single-stepping." },<br>
>> -    { "load-script-from-symbol-file"       , OptionValue::eTypeEnum   ,<br>
>> false, eLoadScriptFromSymFileWarn, NULL, g_load_script_from_sym_file_values,<br>
>> "Allow LLDB to load scripting resources embedded in symbol files when<br>
>> available." },<br>
>> -    { "memory-module-load-level"           , OptionValue::eTypeEnum   ,<br>
>> false, eMemoryModuleLoadLevelComplete, NULL,<br>
>> g_memory_module_load_level_values,<br>
>> +    { "x86-disassembly-flavor"             , OptionValue::eTypeEnum<br>
>> , false, eX86DisFlavorDefault,       nullptr, g_x86_dis_flavor_value_types,<br>
>> "The default disassembly flavor to use for x86 or x86-64 targets." },<br>
>> +    { "use-hex-immediates"                 , OptionValue::eTypeBoolean<br>
>> , false, true,                       nullptr, nullptr, "Show immediates in<br>
>> disassembly as hexadecimal." },<br>
>> +    { "hex-immediate-style"                , OptionValue::eTypeEnum   ,<br>
>> false, Disassembler::eHexStyleC,   nullptr, g_hex_immediate_style_values,<br>
>> "Which style to use for printing hexadecimal disassembly values." },<br>
>> +    { "use-fast-stepping"                  , OptionValue::eTypeBoolean<br>
>> , false, true,                       nullptr, nullptr, "Use a fast stepping<br>
>> algorithm based on running from branch to branch rather than instruction<br>
>> single-stepping." },<br>
>> +    { "load-script-from-symbol-file"       , OptionValue::eTypeEnum   ,<br>
>> false, eLoadScriptFromSymFileWarn, nullptr,<br>
>> g_load_script_from_sym_file_values, "Allow LLDB to load scripting resources<br>
>> embedded in symbol files when available." },<br>
>> +    { "memory-module-load-level"           , OptionValue::eTypeEnum   ,<br>
>> false, eMemoryModuleLoadLevelComplete, nullptr,<br>
>> g_memory_module_load_level_values,<br>
>>          "Loading modules from memory can be slow as reading the symbol<br>
>> tables and other data can take a long time depending on your connection to<br>
>> the debug target. "<br>
>>          "This setting helps users control how much information gets<br>
>> loaded when loading modules from memory."<br>
>>          "'complete' is the default value for this setting which will load<br>
>> all sections and symbols by reading them from memory (slowest, most<br>
>> accurate). "<br>
>>          "'partial' will load sections and attempt to find function bounds<br>
>> without downloading the symbol table (faster, still accurate, missing symbol<br>
>> names). "<br>
>>          "'minimal' is the fastest setting and will load section data with<br>
>> no symbols, but should rarely be used as stack frames in these memory<br>
>> regions will be inaccurate and not provide any context (fastest). " },<br>
>> -    { "display-expression-in-crashlogs"    , OptionValue::eTypeBoolean<br>
>> , false, false,                      NULL, NULL, "Expressions that crash<br>
>> will show up in crash logs if the host system supports executable specific<br>
>> crash log strings and this setting is set to true." },<br>
>> -    { "trap-handler-names"                 , OptionValue::eTypeArray<br>
>> , true,  OptionValue::eTypeString,   NULL, NULL, "A list of trap handler<br>
>> function names, e.g. a common Unix user process one is _sigtramp." },<br>
>> -    { "display-runtime-support-values"     , OptionValue::eTypeBoolean<br>
>> , false, false,                      NULL, NULL, "If true, LLDB will show<br>
>> variables that are meant to support the operation of a language's runtime<br>
>> support." },<br>
>> -    { "non-stop-mode"                      , OptionValue::eTypeBoolean<br>
>> , false, 0,                          NULL, NULL, "Disable lock-step<br>
>> debugging, instead control threads independently." },<br>
>> -    { NULL                                 , OptionValue::eTypeInvalid<br>
>> , false, 0                         , NULL, NULL, NULL }<br>
>> +    { "display-expression-in-crashlogs"    , OptionValue::eTypeBoolean<br>
>> , false, false,                      nullptr, nullptr, "Expressions that<br>
>> crash will show up in crash logs if the host system supports executable<br>
>> specific crash log strings and this setting is set to true." },<br>
>> +    { "trap-handler-names"                 , OptionValue::eTypeArray<br>
>> , true,  OptionValue::eTypeString,   nullptr, nullptr, "A list of trap<br>
>> handler function names, e.g. a common Unix user process one is _sigtramp."<br>
>> },<br>
>> +    { "display-runtime-support-values"     , OptionValue::eTypeBoolean<br>
>> , false, false,                      nullptr, nullptr, "If true, LLDB will<br>
>> show variables that are meant to support the operation of a language's<br>
>> runtime support." },<br>
>> +    { "non-stop-mode"                      , OptionValue::eTypeBoolean<br>
>> , false, 0,                          nullptr, nullptr, "Disable lock-step<br>
>> debugging, instead control threads independently." },<br>
>> +    { nullptr                                 , OptionValue::eTypeInvalid<br>
>> , false, 0                         , nullptr, nullptr, nullptr }<br>
>>  };<br>
>><br>
>>  enum<br>
>> @@ -3491,7 +3477,7 @@ class TargetOptionValueProperties : publ<br>
>>  public:<br>
>>      TargetOptionValueProperties (const ConstString &name) :<br>
>>          OptionValueProperties (name),<br>
>> -        m_target (NULL),<br>
>> +        m_target(nullptr),<br>
>>          m_got_host_env (false)<br>
>>      {<br>
>>      }<br>
>> @@ -3544,7 +3530,7 @@ protected:<br>
>>              {<br>
>>                  m_got_host_env = true;<br>
>>                  const uint32_t idx = ePropertyInheritEnv;<br>
>> -                if (GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0))<br>
>> +                if (GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0))<br>
>>                  {<br>
>>                      PlatformSP platform_sp (m_target->GetPlatform());<br>
>>                      if (platform_sp)<br>
>> @@ -3552,7 +3538,7 @@ protected:<br>
>>                          StringList env;<br>
>>                          if (platform_sp->GetEnvironment(env))<br>
>>                          {<br>
>> -                            OptionValueDictionary *env_dict =<br>
>> GetPropertyAtIndexAsOptionValueDictionary (NULL, ePropertyEnvVars);<br>
>> +                            OptionValueDictionary *env_dict =<br>
>> GetPropertyAtIndexAsOptionValueDictionary(nullptr, ePropertyEnvVars);<br>
>>                              if (env_dict)<br>
>>                              {<br>
>>                                  const bool can_replace = false;<br>
>> @@ -3565,7 +3551,7 @@ protected:<br>
>>                                          const char *equal_pos =<br>
>> ::strchr(env_entry, '=');<br>
>>                                          ConstString key;<br>
>>                                          // It is ok to have environment<br>
>> variables with no values<br>
>> -                                        const char *value = NULL;<br>
>> +                                        const char *value = nullptr;<br>
>>                                          if (equal_pos)<br>
>>                                          {<br>
>><br>
>> key.SetCStringWithLength(env_entry, equal_pos - env_entry);<br>
>> @@ -3614,15 +3600,15 @@ TargetProperties::TargetProperties (Targ<br>
>>          m_collection_sp->SetValueChangedCallback(ePropertyDisableSTDIO,<br>
>> TargetProperties::DisableSTDIOValueChangedCallback, this);<br>
>><br>
>>          // Update m_launch_info once it was created<br>
>> -        Arg0ValueChangedCallback(this, NULL);<br>
>> -        RunArgsValueChangedCallback(this, NULL);<br>
>> -        //EnvVarsValueChangedCallback(this, NULL); // FIXME: cause<br>
>> segfault in Target::GetPlatform()<br>
>> -        InputPathValueChangedCallback(this, NULL);<br>
>> -        OutputPathValueChangedCallback(this, NULL);<br>
>> -        ErrorPathValueChangedCallback(this, NULL);<br>
>> -        DetachOnErrorValueChangedCallback(this, NULL);<br>
>> -        DisableASLRValueChangedCallback(this, NULL);<br>
>> -        DisableSTDIOValueChangedCallback(this, NULL);<br>
>> +        Arg0ValueChangedCallback(this, nullptr);<br>
>> +        RunArgsValueChangedCallback(this, nullptr);<br>
>> +        //EnvVarsValueChangedCallback(this, nullptr); // FIXME: cause<br>
>> segfault in Target::GetPlatform()<br>
>> +        InputPathValueChangedCallback(this, nullptr);<br>
>> +        OutputPathValueChangedCallback(this, nullptr);<br>
>> +        ErrorPathValueChangedCallback(this, nullptr);<br>
>> +        DetachOnErrorValueChangedCallback(this, nullptr);<br>
>> +        DisableASLRValueChangedCallback(this, nullptr);<br>
>> +        DisableSTDIOValueChangedCallback(this, nullptr);<br>
>>      }<br>
>>      else<br>
>>      {<br>
>> @@ -3640,7 +3626,7 @@ TargetProperties::~TargetProperties() =<br>
>>  ArchSpec<br>
>>  TargetProperties::GetDefaultArchitecture () const<br>
>>  {<br>
>> -    OptionValueArch *value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueArch (NULL,<br>
>> ePropertyDefaultArch);<br>
>> +    OptionValueArch *value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueArch(nullptr,<br>
>> ePropertyDefaultArch);<br>
>>      if (value)<br>
>>          return value->GetCurrentValue();<br>
>>      return ArchSpec();<br>
>> @@ -3649,7 +3635,7 @@ TargetProperties::GetDefaultArchitecture<br>
>>  void<br>
>>  TargetProperties::SetDefaultArchitecture (const ArchSpec& arch)<br>
>>  {<br>
>> -    OptionValueArch *value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueArch (NULL,<br>
>> ePropertyDefaultArch);<br>
>> +    OptionValueArch *value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueArch(nullptr,<br>
>> ePropertyDefaultArch);<br>
>>      if (value)<br>
>>          return value->SetCurrentValue(arch, true);<br>
>>  }<br>
>> @@ -3658,63 +3644,63 @@ bool<br>
>>  TargetProperties::GetMoveToNearestCode() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyMoveToNearestCode;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  lldb::DynamicValueType<br>
>>  TargetProperties::GetPreferDynamicValue() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyPreferDynamic;<br>
>> -    return<br>
>> (lldb::DynamicValueType)m_collection_sp->GetPropertyAtIndexAsEnumeration<br>
>> (NULL, idx, g_properties[idx].default_uint_value);<br>
>> +    return<br>
>> (lldb::DynamicValueType)m_collection_sp->GetPropertyAtIndexAsEnumeration(nullptr,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::SetPreferDynamicValue (lldb::DynamicValueType d)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyPreferDynamic;<br>
>> -    return m_collection_sp->SetPropertyAtIndexAsEnumeration(NULL, idx,<br>
>> d);<br>
>> +    return m_collection_sp->SetPropertyAtIndexAsEnumeration(nullptr, idx,<br>
>> d);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetDisableASLR () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisableASLR;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetDisableASLR (bool b)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisableASLR;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsBoolean (NULL, idx, b);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsBoolean(nullptr, idx, b);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetDetachOnError () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDetachOnError;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetDetachOnError (bool b)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDetachOnError;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsBoolean (NULL, idx, b);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsBoolean(nullptr, idx, b);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetDisableSTDIO () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisableSTDIO;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetDisableSTDIO (bool b)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisableSTDIO;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsBoolean (NULL, idx, b);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsBoolean(nullptr, idx, b);<br>
>>  }<br>
>><br>
>>  const char *<br>
>> @@ -3723,7 +3709,7 @@ TargetProperties::GetDisassemblyFlavor (<br>
>>      const uint32_t idx = ePropertyDisassemblyFlavor;<br>
>>      const char *return_value;<br>
>><br>
>> -    x86DisassemblyFlavor flavor_value = (x86DisassemblyFlavor)<br>
>> m_collection_sp->GetPropertyAtIndexAsEnumeration (NULL, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>> +    x86DisassemblyFlavor flavor_value = (x86DisassemblyFlavor)<br>
>> m_collection_sp->GetPropertyAtIndexAsEnumeration(nullptr, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>>      return_value =<br>
>> g_x86_dis_flavor_value_types[flavor_value].string_value;<br>
>>      return return_value;<br>
>>  }<br>
>> @@ -3732,21 +3718,21 @@ InlineStrategy<br>
>>  TargetProperties::GetInlineStrategy () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyInlineStrategy;<br>
>> -    return<br>
>> (InlineStrategy)m_collection_sp->GetPropertyAtIndexAsEnumeration (NULL, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>> +    return<br>
>> (InlineStrategy)m_collection_sp->GetPropertyAtIndexAsEnumeration(nullptr,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  const char *<br>
>>  TargetProperties::GetArg0 () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyArg0;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsString (NULL, idx, NULL);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsString(nullptr, idx,<br>
>> nullptr);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetArg0 (const char *arg)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyArg0;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsString (NULL, idx, arg);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsString(nullptr, idx, arg);<br>
>>      m_launch_info.SetArg0(arg);<br>
>>  }<br>
>><br>
>> @@ -3754,14 +3740,14 @@ bool<br>
>>  TargetProperties::GetRunArguments (Args &args) const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyRunArgs;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsArgs (NULL, idx, args);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsArgs(nullptr, idx, args);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetRunArguments (const Args &args)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyRunArgs;<br>
>> -    m_collection_sp->SetPropertyAtIndexFromArgs (NULL, idx, args);<br>
>> +    m_collection_sp->SetPropertyAtIndexFromArgs(nullptr, idx, args);<br>
>>      m_launch_info.GetArguments() = args;<br>
>>  }<br>
>><br>
>> @@ -3769,14 +3755,14 @@ size_t<br>
>>  TargetProperties::GetEnvironmentAsArgs (Args &env) const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyEnvVars;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsArgs (NULL, idx, env);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsArgs(nullptr, idx, env);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetEnvironmentFromArgs (const Args &env)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyEnvVars;<br>
>> -    m_collection_sp->SetPropertyAtIndexFromArgs (NULL, idx, env);<br>
>> +    m_collection_sp->SetPropertyAtIndexFromArgs(nullptr, idx, env);<br>
>>      m_launch_info.GetEnvironmentEntries() = env;<br>
>>  }<br>
>><br>
>> @@ -3784,14 +3770,14 @@ bool<br>
>>  TargetProperties::GetSkipPrologue() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertySkipPrologue;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  PathMappingList &<br>
>>  TargetProperties::GetSourcePathMap () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertySourceMap;<br>
>> -    OptionValuePathMappings *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValuePathMappings (NULL, false,<br>
>> idx);<br>
>> +    OptionValuePathMappings *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValuePathMappings(nullptr, false,<br>
>> idx);<br>
>>      assert(option_value);<br>
>>      return option_value->GetCurrentValue();<br>
>>  }<br>
>> @@ -3800,7 +3786,7 @@ FileSpecList &<br>
>>  TargetProperties::GetExecutableSearchPaths ()<br>
>>  {<br>
>>      const uint32_t idx = ePropertyExecutableSearchPaths;<br>
>> -    OptionValueFileSpecList *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList (NULL, false,<br>
>> idx);<br>
>> +    OptionValueFileSpecList *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList(nullptr, false,<br>
>> idx);<br>
>>      assert(option_value);<br>
>>      return option_value->GetCurrentValue();<br>
>>  }<br>
>> @@ -3809,7 +3795,7 @@ FileSpecList &<br>
>>  TargetProperties::GetDebugFileSearchPaths ()<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDebugFileSearchPaths;<br>
>> -    OptionValueFileSpecList *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList (NULL, false,<br>
>> idx);<br>
>> +    OptionValueFileSpecList *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList(nullptr, false,<br>
>> idx);<br>
>>      assert(option_value);<br>
>>      return option_value->GetCurrentValue();<br>
>>  }<br>
>> @@ -3818,7 +3804,7 @@ FileSpecList &<br>
>>  TargetProperties::GetClangModuleSearchPaths ()<br>
>>  {<br>
>>      const uint32_t idx = ePropertyClangModuleSearchPaths;<br>
>> -    OptionValueFileSpecList *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList (NULL, false,<br>
>> idx);<br>
>> +    OptionValueFileSpecList *option_value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpecList(nullptr, false,<br>
>> idx);<br>
>>      assert(option_value);<br>
>>      return option_value->GetCurrentValue();<br>
>>  }<br>
>> @@ -3827,76 +3813,76 @@ bool<br>
>>  TargetProperties::GetEnableAutoImportClangModules() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyAutoImportClangModules;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetEnableSyntheticValue () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyEnableSynthetic;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  uint32_t<br>
>>  TargetProperties::GetMaximumNumberOfChildrenToDisplay() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyMaxChildrenCount;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsSInt64 (NULL, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsSInt64(nullptr, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  uint32_t<br>
>>  TargetProperties::GetMaximumSizeOfStringSummary() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyMaxSummaryLength;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsSInt64 (NULL, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsSInt64(nullptr, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  uint32_t<br>
>>  TargetProperties::GetMaximumMemReadSize () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyMaxMemReadSize;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsSInt64 (NULL, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsSInt64(nullptr, idx,<br>
>> g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  FileSpec<br>
>>  TargetProperties::GetStandardInputPath () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyInputPath;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsFileSpec (NULL, idx);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsFileSpec(nullptr, idx);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetStandardInputPath (const char *p)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyInputPath;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsString (NULL, idx, p);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsString(nullptr, idx, p);<br>
>>  }<br>
>><br>
>>  FileSpec<br>
>>  TargetProperties::GetStandardOutputPath () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyOutputPath;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsFileSpec (NULL, idx);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsFileSpec(nullptr, idx);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetStandardOutputPath (const char *p)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyOutputPath;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsString (NULL, idx, p);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsString(nullptr, idx, p);<br>
>>  }<br>
>><br>
>>  FileSpec<br>
>>  TargetProperties::GetStandardErrorPath () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyErrorPath;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsFileSpec(NULL, idx);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsFileSpec(nullptr, idx);<br>
>>  }<br>
>><br>
>>  LanguageType<br>
>>  TargetProperties::GetLanguage () const<br>
>>  {<br>
>> -    OptionValueLanguage *value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueLanguage (NULL,<br>
>> ePropertyLanguage);<br>
>> +    OptionValueLanguage *value =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueLanguage(nullptr,<br>
>> ePropertyLanguage);<br>
>>      if (value)<br>
>>          return value->GetCurrentValue();<br>
>>      return LanguageType();<br>
>> @@ -3906,7 +3892,7 @@ const char *<br>
>>  TargetProperties::GetExpressionPrefixContentsAsCString ()<br>
>>  {<br>
>>      const uint32_t idx = ePropertyExprPrefix;<br>
>> -    OptionValueFileSpec *file =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpec (NULL, false, idx);<br>
>> +    OptionValueFileSpec *file =<br>
>> m_collection_sp->GetPropertyAtIndexAsOptionValueFileSpec(nullptr, false,<br>
>> idx);<br>
>>      if (file)<br>
>>      {<br>
>>          const bool null_terminate = true;<br>
>> @@ -3914,105 +3900,105 @@ TargetProperties::GetExpressionPrefixCon<br>
>>          if (data_sp)<br>
>>              return (const char *) data_sp->GetBytes();<br>
>>      }<br>
>> -    return NULL;<br>
>> +    return nullptr;<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetStandardErrorPath (const char *p)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyErrorPath;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsString (NULL, idx, p);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsString(nullptr, idx, p);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetBreakpointsConsultPlatformAvoidList ()<br>
>>  {<br>
>>      const uint32_t idx = ePropertyBreakpointUseAvoidList;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetUseHexImmediates () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyUseHexImmediates;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetUseFastStepping () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyUseFastStepping;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetDisplayExpressionsInCrashlogs () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisplayExpressionsInCrashlogs;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> g_properties[idx].default_uint_value != 0);<br>
>>  }<br>
>><br>
>>  LoadScriptFromSymFile<br>
>>  TargetProperties::GetLoadScriptFromSymbolFile () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyLoadScriptFromSymbolFile;<br>
>> -    return<br>
>> (LoadScriptFromSymFile)m_collection_sp->GetPropertyAtIndexAsEnumeration(NULL,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>> +    return<br>
>> (LoadScriptFromSymFile)m_collection_sp->GetPropertyAtIndexAsEnumeration(nullptr,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  Disassembler::HexImmediateStyle<br>
>>  TargetProperties::GetHexImmediateStyle () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyHexImmediateStyle;<br>
>> -    return<br>
>> (Disassembler::HexImmediateStyle)m_collection_sp->GetPropertyAtIndexAsEnumeration(NULL,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>> +    return<br>
>> (Disassembler::HexImmediateStyle)m_collection_sp->GetPropertyAtIndexAsEnumeration(nullptr,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  MemoryModuleLoadLevel<br>
>>  TargetProperties::GetMemoryModuleLoadLevel() const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyMemoryModuleLoadLevel;<br>
>> -    return<br>
>> (MemoryModuleLoadLevel)m_collection_sp->GetPropertyAtIndexAsEnumeration(NULL,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>> +    return<br>
>> (MemoryModuleLoadLevel)m_collection_sp->GetPropertyAtIndexAsEnumeration(nullptr,<br>
>> idx, g_properties[idx].default_uint_value);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetUserSpecifiedTrapHandlerNames (Args &args) const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyTrapHandlerNames;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsArgs (NULL, idx, args);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsArgs(nullptr, idx, args);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetUserSpecifiedTrapHandlerNames (const Args &args)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyTrapHandlerNames;<br>
>> -    m_collection_sp->SetPropertyAtIndexFromArgs (NULL, idx, args);<br>
>> +    m_collection_sp->SetPropertyAtIndexFromArgs(nullptr, idx, args);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetDisplayRuntimeSupportValues () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisplayRuntimeSupportValues;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> false);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> false);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetDisplayRuntimeSupportValues (bool b)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyDisplayRuntimeSupportValues;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsBoolean (NULL, idx, b);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsBoolean(nullptr, idx, b);<br>
>>  }<br>
>><br>
>>  bool<br>
>>  TargetProperties::GetNonStopModeEnabled () const<br>
>>  {<br>
>>      const uint32_t idx = ePropertyNonStopModeEnabled;<br>
>> -    return m_collection_sp->GetPropertyAtIndexAsBoolean (NULL, idx,<br>
>> false);<br>
>> +    return m_collection_sp->GetPropertyAtIndexAsBoolean(nullptr, idx,<br>
>> false);<br>
>>  }<br>
>><br>
>>  void<br>
>>  TargetProperties::SetNonStopModeEnabled (bool b)<br>
>>  {<br>
>>      const uint32_t idx = ePropertyNonStopModeEnabled;<br>
>> -    m_collection_sp->SetPropertyAtIndexAsBoolean (NULL, idx, b);<br>
>> +    m_collection_sp->SetPropertyAtIndexAsBoolean(nullptr, idx, b);<br>
>>  }<br>
>><br>
>>  const ProcessLaunchInfo &<br>
>> @@ -4172,7 +4158,7 @@ Target::TargetEventData::GetEventDataFro<br>
>>          if (event_data && event_data->GetFlavor() ==<br>
>> TargetEventData::GetFlavorString())<br>
>>              return static_cast <const TargetEventData *><br>
>> (event_ptr->GetData());<br>
>>      }<br>
>> -    return NULL;<br>
>> +    return nullptr;<br>
>>  }<br>
>><br>
>>  TargetSP<br>
>><br>
>><br>
>> _______________________________________________<br>
>> lldb-commits mailing list<br>
>> <a href="mailto:lldb-commits@lists.llvm.org">lldb-commits@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
><br>
><br>
><br>
><br>
> --<br>
> -Todd<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">-Todd</div></div>
</div></div>