[llvm-dev] Change LLVM_ATTRIBUTE_DEPRECATED macro to [[deprecated]]

Fangrui Song via llvm-dev llvm-dev at lists.llvm.org
Fri Jan 8 10:29:18 PST 2021


On 2021-01-08, Christian Sigg via llvm-dev wrote:
>The LLVM_ATTRIBUTE_DEPRECATED macro marks e.g. function declarations as
>deprecated.
>
>C++14 introduced the [[deprecated]] attribute, and I would like to switch
>LLVM's code to that because it's portable, easier to read, and can be
>applied to inline functions as well.
>
>https://reviews.llvm.org/D94219 is the first step towards that by changing
>the LLVM_ATTRIBUTE_DEPRECATED implementation from __attribute__/__declspec
> to [[deprecated]]. In a follow-up change, I will switch the call sites to
>use [[deprecated]] directly and finally remove the macro.
>
>Are there any downsides that I'm missing or any objections?
>
>Thanks! Christian

Sounds good. D94219 as the first step is also safer: if some supported compilers
have problems, we can catch the problem without causing churn to use sites.


More information about the llvm-dev mailing list