[clang-format] Improve QualifierAlignment
authorAlexander Hederstaf <alexanderhederstaf+llvm@gmail.com>
Mon, 27 Mar 2023 14:16:11 +0000 (15:16 +0100)
committermydeveloperday <mydeveloperday@gmail.com>
Mon, 27 Mar 2023 14:18:29 +0000 (15:18 +0100)
commitcd7ab4b5c1684dcc60de027700177adfa096b98c
treea2d93ceb9c01e26870d8522047947f22d1312b48
parent1d1b3c49531bb80bcd28870d4eafb71d97049e02
[clang-format] Improve QualifierAlignment

Qualifiers were not moved for non-pointer non-simple types.
Add additional support for many special cases such as templates,
requires clauses, long qualified names.

Fixes https://github.com/llvm/llvm-project/issues/57154 and
https://github.com/llvm/llvm-project/issues/60898

Reviewed By: MyDeveloperDay, HazardyKnusperkeks

Differential Revision: https://reviews.llvm.org/D144709
clang/docs/ReleaseNotes.rst
clang/lib/Format/QualifierAlignmentFixer.cpp
clang/lib/Format/QualifierAlignmentFixer.h
clang/lib/Format/TokenAnnotator.cpp
clang/unittests/Format/QualifierFixerTest.cpp