[Clang] Fix dependency of SourceLocExpr. (#78436) (#36226)
This is reland of 8c2b0d4 tracked in
https://github.com/intel/llvm/issues/12455
SourceLocExpr that may produce a function name are marked dependent so
that the non-instantiated
name of a function does not get evaluated.
In GH78128, the name('s size) is used as
template argument to a `DeclRef` that is not otherwise dependent, and
therefore cached and not transformed when the function is
instantiated, leading to 2 different values existing at the same time
for the same function.
Fixes #78128
Fixes: https://jira.devtools.intel.com/browse/CMPLRLLVM-74680
Co-authored-by: cor3ntin <corentinjabot@gmail.com>