[all-commits] [llvm/llvm-project] ebec53: [lldb] Introduce a macro to mark methods as unsupp...

Alex via All-commits all-commits at lists.llvm.org
Mon Jul 3 11:20:31 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ebec53e2d7c79b519aec455d048f5f03fc2e7abe
  Author: Alex Langford <alangford at apple.com>
  Date:   2023-07-03 (Mon, 03 Jul 2023)

  Changed paths:
    M lldb/include/lldb/API/SBCommandReturnObject.h
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBDefines.h
    M lldb/include/lldb/API/SBFileSpec.h
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/API/SBStructuredData.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/lldb-defines.h

  Log Message:
  [lldb] Introduce a macro to mark methods as unsupported with no replacement

We already have LLDB_DEPRECATED which is used to mark methods as
deprecated with a message and an alternative to use instead. This is
expresses an intent of "We recognize this functionality is useful but
there are some pitfalls with the interface we have exposed."

In other cases, there are no "alternative" methods to use and the code should be
refactored to avoid using a method entirely. For example,
`SBValue::Cast` should be avoided in favor of using the expression
evaluator to perform a cast. There isn't a mechanical solution, the
recommendation is to instead refactor your code.

This commit renames the existing `LLDB_DEPRECATED` to
`LLDB_DEPRECATED_FIXME`, and adds a `LLDB_DEPRECATED` macro to cover the
second scenario.

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

More information about the All-commits mailing list