Code should use C++11 [[noreturn]] or C11 _Noreturn instead.
Details
- Reviewers
MaskRay jhenderson - Group Reviewers
Restricted Project - Commits
- rG09529892b518: [Support] Remove LLVM_ATTRIBUTE_NORETURN
Diff Detail
Event Timeline
I would like to see you undo all the formatting changes.
They are not germane for this patch, and (IMHO) reduce the readability of the code.
[[noreturn]] is C++11.
In Oct 2016, the minimum compiler requirement was raised to GCC 4.8/MSVC 2015.
We can use [[noreturn]] since then.
I migrated lld/. I will watch the build bots and migrate llvm/
I migrated all llvm/ files. You need to remove them from the patch.
It is a good idea to drop the macro definition in llvm/include/llvm/Support/Compiler.h separately.
It makes it easy to bring back the definition if some important downstream users want extended time for migration.
(Note: the policy is that downstream is on their own. Our thinking of this is kindness, not an obligation of llvm-project.)
For example, swift is using LLVM_ATTRIBUTE_NORETURN.
(I researched a bit: LLVM_ATTRIBUTE_NORETURN is not common in downstream projects.)
If you click a harbomaster URI, sometimes the builds are good
x64 debian passed x64 windows passed
and sometimes there may be failures apparently unrelated to your patch.
Some discretion is needed.
I ended up making the refactoring by myself. Your change included some whole-file clang-format formatting which wasn't suitable.
I usually run git diff -U0 --no-color 'HEAD^' | clang/tools/clang-format/clang-format-diff.py -i -p1 to only format related lines.
clang-format: please reformat the code