HomePhabricator

Change the LLVM_ATTRIBUTE_DEPRECATED macro to use C++14 attribute.

Authored by csigg on Jan 7 2021, 12:41 AM.

Description

Change the LLVM_ATTRIBUTE_DEPRECATED macro to use C++14 attribute.

C++14 attributes are superior because they can be applied to functions with inline definition and the syntax is cleaner.

I intend to convert all uses and then remove the macro.

One issue that might hold back switching uses to C++14 attributes is that
clang-format does not put long attributes on separate lines and formatted code will look like:

template <typename T>
[[deprecated("blah blah")]] void
    foooooooooooooooooooooooooooo() {
  ...
}

Putting long attributes on a separate line would be prettier.
See https://stackoverflow.com/questions/45740466/clang-format-setting-to-control-c-attributes

AttributeMacros probably won't help because it can't match the custom message.
https://clang.llvm.org/docs/ClangFormatStyleOptions.html

Reviewed By: rriddle, MaskRay

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

Details

Committed
csiggJan 12 2021, 3:41 AM
Reviewer
rriddle
Differential Revision
D94219: Change the LLVM_ATTRIBUTE_DEPRECATED macro to use C++14 attribute.
Parents
rGa06aa1037c17: Revert "[Test] Add failing test for PR48725"
Branches
Unknown
Tags
Unknown