This fixes https://github.com/llvm/llvm-project/issues/64134 which
is a regression from https://reviews.llvm.org/D150403 where I
added logic to distinguish adjacent braces blocks between being braced
initializers or adjacent scopes by looking at the token before the first
opening brace to see if it is part of a class initializer list.
However, this logic fails to match initialization of a templated base
class initializer, because in that scenario the 'identifier' actually
ends in a >, so isn't detected. I am extending the logic to just also
detect > explicitly to be recognized as the braced initializer syntax.
Hopefully there aren't many more holes in the detection logic here.
Please also add nested templates.