<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/63219>63219</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Absolute build appear when pretty printing the name of template function with lambda parameter
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dankm
      </td>
    </tr>
</table>

<pre>
    When expanding `__PRETTY_FUNCTION__` (or any use of pretty printing of a function name, std::source_location for example), and a lambda appears in a template parameter for a template the real path to the file containing the lambda appears in the output.

This is similar to #62192.

```
$ cat /tmp/lambdatest.cc
#include <iostream>

template<typename f>
void lambdatest(f&& cb) {
std::cout << __PRETTY_FUNCTION__ << std::endl;
}

int main() {
std::cout << __PRETTY_FUNCTION__ << std::endl;

auto lt = []() -> auto {
return __PRETTY_FUNCTION__;
};

std::cout << lt() << std::endl;
lambdatest(lt);

return 0;
}
$ clang++ -ffile-prefix-map=/tmp=/foo -o lambdatest /tmp/lambdatest.cc
$ ./lambdatest
int main()
auto main()::(anonymous class)::operator()() const
void lambdatest(f &&) [f = (lambda at /tmp/lambdatest.cc:11:13) &]
```
expected:
```
int main()
auto main()::(anonymous class)::operator()() const
void lambdatest(f &&) [f = (lambda at /foo/lambdatest.cc:11:13) &]
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVd2O8jYTvprhZAQKNmTJQQ52YZG-k_erqq2qHqFJMgG3jh3Zk93l7iuHn4W3tJUqVaqEDHh-n2fGMxSj2TvmEpYvsNxMaJCDD2VD7rduUvnmWP58YIf82ZNrjNsj5Nlu98OPr29vv-y2P31bv_3v_992O8gzBLXyAckdcYiMvsU-sMgR-2CcJFPfImE7uFqMd-ioY1BrjNKAfgb9HP0Qat5ZX9Oo0PqA_EldbxlUkVTJNUhoqasaQup7phDROCQU7npLwthToI6Fw2h-I5ADY2Cy2JMcUPx40RrLWHsnZFzKMN390X269YP0g8wg20D2fDrfDiaiiRhNZyyF5BOUztW8UHd6kGfnz-mvWmBNgqC20vWgtqeAwlFmdX3R0cbVdmgYQa-NjxKYOtCvt34v0ECv5dhz4hPbq867Nw1-uQa1akHloHKsK1AFwtPLSfHKf-0HSeFAr_FBiS-iqz67xoI-e4GnzW1uxgl2ZByo1b8RbDxpEI82edngqXvP0aagX3GUXuMGliG4R5HuENwHeJislQumv8rwjvhkUnzn-5xQ9oDA1B-W3B7UC6gXnLapS6d94NZ8TjvqQW_OvTP-aL3Hqb8p9d901gJnd6JHBbsh-OZyhAlqRc67Y-eHmPKM8SryPQcSH87qJ5pq7y4xHrQknnpy5HP50p5qqVaXN_inWPTzfJ4OPVqqPBX_0WPjz55r4bFEj-T_Ydit9_8A9qQpdVPogiZczvNVrrXKs8XkUDZVu8z0XFHT0nyeVcu2XdFKNUWhm6YhPTGlypTO8qyYPy20WsyKapUt1YKrvFZ68aRhkXFHxs6sfe9mPuwnJsaBy1yreTGxVLGN4xpRyvEHjkJQKm2VUCabaTXsIywya6LELy9ixHL5XEVvB2GsBmOb8_jFj7R8vt8jaR6P0863X_P9ulc-jBwuQ_y6DSZDsOVBpI9jLbegtnsjh6Ga1b5LNNv3y9e0D_5XrgXUdoQQQW1HiL8HAAD__86KIiw">