[clang-format] fix nested angle brackets parse inside concept definition
authorSergey Semushin <predelnik@gmail.com>
Wed, 11 May 2022 11:38:35 +0000 (13:38 +0200)
committerMarek Kurdej <marek.kurdej+llvm.org@gmail.com>
Wed, 11 May 2022 12:02:51 +0000 (14:02 +0200)
commitdab5e10ea5dbc2e6314e0e7ce54a9c51fbcb44bd
tree7252b64fa9252d5c83751549715b7e9d2666fb14
parent27c7e922fe612a728286c78f585ed34dfd11e037
[clang-format] fix nested angle brackets parse inside concept definition

Due to how parseBracedList always stopped on the first closing angle
bracket and was used in parsing angle bracketed expression inside concept
definition, nested brackets inside concepts were parsed incorrectly.

nextToken() call before calling parseBracedList is required because
we were processing opening angle bracket inside parseBracedList second
time leading to incorrect logic after my fix.

Fixes https://github.com/llvm/llvm-project/issues/54943
Fixes https://github.com/llvm/llvm-project/issues/54837

Reviewed By: HazardyKnusperkeks, curdeius

Differential Revision: https://reviews.llvm.org/D123896
clang/lib/Format/UnwrappedLineParser.cpp
clang/unittests/Format/FormatTest.cpp
clang/unittests/Format/TokenAnnotatorTest.cpp