[all-commits] [llvm/llvm-project] 918211: [lldb/Interpreter][NFC] Remove more deleted const ...

Tatyana Krasnukha via All-commits all-commits at lists.llvm.org
Sun Feb 28 08:24:27 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9182117861896a03499bbca3612fc66ca4d36944
      https://github.com/llvm/llvm-project/commit/9182117861896a03499bbca3612fc66ca4d36944
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionGroupBoolean.h
    M lldb/include/lldb/Interpreter/OptionGroupFile.h
    M lldb/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h
    M lldb/include/lldb/Interpreter/OptionGroupString.h
    M lldb/include/lldb/Interpreter/OptionGroupUInt64.h
    M lldb/include/lldb/Interpreter/OptionGroupUUID.h
    M lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
    M lldb/include/lldb/Interpreter/OptionGroupVariable.h
    M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h

  Log Message:
  -----------
  [lldb/Interpreter][NFC] Remove more deleted const char* overloads

A follow-up commit to D96861.


  Commit: 54d03a4985bc9a0a84c4dff835ec6ed0f607582f
      https://github.com/llvm/llvm-project/commit/54d03a4985bc9a0a84c4dff835ec6ed0f607582f
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandHistory.h
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/CommandReturnObject.h
    M lldb/include/lldb/Interpreter/OptionGroupArchitecture.h
    M lldb/include/lldb/Interpreter/OptionGroupBoolean.h
    M lldb/include/lldb/Interpreter/OptionGroupFile.h
    M lldb/include/lldb/Interpreter/OptionGroupFormat.h
    M lldb/include/lldb/Interpreter/OptionGroupOutputFile.h
    M lldb/include/lldb/Interpreter/OptionGroupPythonClassWithDict.h
    M lldb/include/lldb/Interpreter/OptionGroupString.h
    M lldb/include/lldb/Interpreter/OptionGroupUInt64.h
    M lldb/include/lldb/Interpreter/OptionGroupUUID.h
    M lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h
    M lldb/include/lldb/Interpreter/OptionGroupVariable.h
    M lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h
    M lldb/include/lldb/Interpreter/OptionValueArch.h
    M lldb/include/lldb/Interpreter/OptionValueArgs.h
    M lldb/include/lldb/Interpreter/OptionValueArray.h
    M lldb/include/lldb/Interpreter/OptionValueBoolean.h
    M lldb/include/lldb/Interpreter/OptionValueChar.h
    M lldb/include/lldb/Interpreter/OptionValueDictionary.h
    M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
    M lldb/include/lldb/Interpreter/OptionValueFormat.h
    M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
    M lldb/include/lldb/Interpreter/OptionValueLanguage.h
    M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
    M lldb/include/lldb/Interpreter/OptionValueProperties.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUUID.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/source/Interpreter/CommandHistory.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/CommandReturnObject.cpp
    M lldb/source/Interpreter/OptionGroupArchitecture.cpp
    M lldb/source/Interpreter/OptionGroupBoolean.cpp
    M lldb/source/Interpreter/OptionGroupFile.cpp
    M lldb/source/Interpreter/OptionGroupFormat.cpp
    M lldb/source/Interpreter/OptionGroupOutputFile.cpp
    M lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp
    M lldb/source/Interpreter/OptionGroupString.cpp
    M lldb/source/Interpreter/OptionGroupUInt64.cpp
    M lldb/source/Interpreter/OptionGroupUUID.cpp
    M lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp
    M lldb/source/Interpreter/OptionGroupVariable.cpp
    M lldb/source/Interpreter/OptionGroupWatchpoint.cpp
    M lldb/source/Interpreter/OptionValueEnumeration.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Interpreter/ScriptInterpreter.cpp

  Log Message:
  -----------
  [lldb/Interpreter][NFC] Replace default constructors/destructors bodies with "=default"


  Commit: 8cdcd41e384b4901cd796f7be58c461647e54d18
      https://github.com/llvm/llvm-project/commit/8cdcd41e384b4901cd796f7be58c461647e54d18
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionGroupPlatform.h
    M lldb/include/lldb/Interpreter/OptionValueArch.h
    M lldb/include/lldb/Interpreter/OptionValueBoolean.h
    M lldb/include/lldb/Interpreter/OptionValueChar.h
    M lldb/include/lldb/Interpreter/OptionValueDictionary.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
    M lldb/include/lldb/Interpreter/OptionValueFormat.h
    M lldb/include/lldb/Interpreter/OptionValueLanguage.h
    M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
    M lldb/include/lldb/Interpreter/OptionValueRegex.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUUID.h
    M lldb/include/lldb/Interpreter/Options.h
    M lldb/source/Interpreter/CommandAlias.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Interpreter/OptionGroupFile.cpp
    M lldb/source/Interpreter/OptionGroupOutputFile.cpp
    M lldb/source/Interpreter/OptionGroupPythonClassWithDict.cpp
    M lldb/source/Interpreter/OptionGroupVariable.cpp
    M lldb/source/Interpreter/OptionValueEnumeration.cpp
    M lldb/source/Interpreter/OptionValueFileColonLine.cpp
    M lldb/source/Interpreter/OptionValueFileSpec.cpp
    M lldb/source/Interpreter/OptionValueFormatEntity.cpp
    M lldb/source/Interpreter/OptionValueProperties.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Interpreter/Property.cpp

  Log Message:
  -----------
  [lldb/Interpreter][NFC] Remove explicit default initialization of members and base classes

According to clang-tidy's readability-redundant-member-init.


  Commit: b2faf30189449a894b5c1cb2bb6b0cc04986c7fe
      https://github.com/llvm/llvm-project/commit/b2faf30189449a894b5c1cb2bb6b0cc04986c7fe
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionValueArgs.h
    M lldb/source/Interpreter/OptionValueArgs.cpp

  Log Message:
  -----------
  [lldb][NFC] Make OptionValueArgs::GetArgs constant


  Commit: ef447fe0088cacc38027028d4c43c1938d3eb9e7
      https://github.com/llvm/llvm-project/commit/ef447fe0088cacc38027028d4c43c1938d3eb9e7
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/source/Interpreter/OptionValueProperties.cpp

  Log Message:
  -----------
  [lldb] OptionValueProperties::Get[Set]PropertyAtIndexAsArgs should handle OptionValueArgs


  Commit: f0f183ee4ad952d94234cf6971c69a044e05c9df
      https://github.com/llvm/llvm-project/commit/f0f183ee4ad952d94234cf6971c69a044e05c9df
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/include/lldb/Interpreter/OptionValue.h
    M lldb/include/lldb/Interpreter/OptionValueArch.h
    M lldb/include/lldb/Interpreter/OptionValueArgs.h
    M lldb/include/lldb/Interpreter/OptionValueArray.h
    M lldb/include/lldb/Interpreter/OptionValueBoolean.h
    M lldb/include/lldb/Interpreter/OptionValueChar.h
    M lldb/include/lldb/Interpreter/OptionValueDictionary.h
    M lldb/include/lldb/Interpreter/OptionValueEnumeration.h
    M lldb/include/lldb/Interpreter/OptionValueFileColonLine.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpec.h
    M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
    M lldb/include/lldb/Interpreter/OptionValueFormat.h
    M lldb/include/lldb/Interpreter/OptionValueFormatEntity.h
    M lldb/include/lldb/Interpreter/OptionValueLanguage.h
    M lldb/include/lldb/Interpreter/OptionValuePathMappings.h
    M lldb/include/lldb/Interpreter/OptionValueProperties.h
    M lldb/include/lldb/Interpreter/OptionValueRegex.h
    M lldb/include/lldb/Interpreter/OptionValueSInt64.h
    M lldb/include/lldb/Interpreter/OptionValueString.h
    M lldb/include/lldb/Interpreter/OptionValueUInt64.h
    M lldb/include/lldb/Interpreter/OptionValueUUID.h
    A lldb/include/lldb/Utility/Cloneable.h
    M lldb/source/Interpreter/OptionValue.cpp
    M lldb/source/Interpreter/OptionValueArch.cpp
    M lldb/source/Interpreter/OptionValueArray.cpp
    M lldb/source/Interpreter/OptionValueBoolean.cpp
    M lldb/source/Interpreter/OptionValueChar.cpp
    M lldb/source/Interpreter/OptionValueDictionary.cpp
    M lldb/source/Interpreter/OptionValueEnumeration.cpp
    M lldb/source/Interpreter/OptionValueFileColonLine.cpp
    M lldb/source/Interpreter/OptionValueFileSpec.cpp
    M lldb/source/Interpreter/OptionValueFileSpecList.cpp
    M lldb/source/Interpreter/OptionValueFormat.cpp
    M lldb/source/Interpreter/OptionValueFormatEntity.cpp
    M lldb/source/Interpreter/OptionValueLanguage.cpp
    M lldb/source/Interpreter/OptionValuePathMappings.cpp
    M lldb/source/Interpreter/OptionValueProperties.cpp
    M lldb/source/Interpreter/OptionValueRegex.cpp
    M lldb/source/Interpreter/OptionValueSInt64.cpp
    M lldb/source/Interpreter/OptionValueString.cpp
    M lldb/source/Interpreter/OptionValueUInt64.cpp
    M lldb/source/Interpreter/OptionValueUUID.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/commands/settings/TestSettings.py
    M lldb/unittests/Interpreter/CMakeLists.txt
    A lldb/unittests/Interpreter/TestOptionValue.cpp

  Log Message:
  -----------
  [lldb/Interpreter] Fix deep copying for OptionValue classes

Some implementations of the DeepCopy function called the copy constructor that copied m_parent member instead of setting a new parent. Others just leaved the base class's members (m_parent, m_callback, m_was_set) empty.
One more problem is that not all classes override this function, e.g. OptionValueArgs::DeepCopy produces OptionValueArray instance, and Target[Process/Thread]ValueProperty::DeepCopy produces OptionValueProperty. This makes downcasting via static_cast invalid.

The patch implements idiom "virtual constructor" to fix these issues.
Add a test that checks DeepCopy for correct copying/setting all data members of the base class.

Differential Revision: https://reviews.llvm.org/D96952


  Commit: 1d6a6f3b0c710ccd6558644d195cf939c4995d84
      https://github.com/llvm/llvm-project/commit/1d6a6f3b0c710ccd6558644d195cf939c4995d84
  Author: Tatyana Krasnukha <tatyana at synopsys.com>
  Date:   2021-02-28 (Sun, 28 Feb 2021)

  Changed paths:
    M lldb/include/lldb/Target/Target.h
    M lldb/source/Target/Target.cpp

  Log Message:
  -----------
  [lldb/Target] Remove outdated code

Arg0 callback does work.


Compare: https://github.com/llvm/llvm-project/compare/25e60f645ac8...1d6a6f3b0c71


More information about the All-commits mailing list