For a declaration the FunctionDecl begin location does not include the
template parameter lists, but for some reason if you have a separate
definitions to the declaration the begin location does include them.
With this patch we now correctly handle that case.
This fixes llvm#62746