Printing template argument type suffix when value does not fit in type

Hi,

Take the example - https://godbolt.org/z/ocEPPj9K1

Here, Clang should append a suffix (atleast ‘u’ in the case of the example) to the value in the error message that does not fit in the type declared as a template parameter. This is missing in upstream Clang main.

A way to somewhat fix this is - https://github.com/reikdas/llvm-project/commit/d43ee446810f86a15b9c8c1cedb4ee5d2c4b9f6c but this is not correct as it prints suffixes in certain places where we don’t want suffixes to be printed (as demonstrated in the modified existing test cases in the linked commit).

Does anyone have any tips on how to fix this? (Or even better if someone had the time to create a revision to fix this)

Thanks!