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

    <tr>
        <th>Summary</th>
        <td>
            Stack overflow in clang-tidy
        </td>
    </tr>

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

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

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

<pre>
    ```
#import <Foundation/Foundation.h>

static NSDictionary<NSNumber*, NSNumber*>* A() {
  return @{};
}

static NSNumber *B(NSDictionary* d) {
  NSNumber* n = d[@""];
  NSNumber* n2 = A()[n];
  if (n2) {
  } else {
    if (n != nil) {}
  }
  return nil;
}

int main() {
  B(@{});
}
```
Run `clang-tidy repro.mm -- -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.sdk` 
The following reproducer will cause a stack overflow after infinite recursion. I have bisected to https://reviews.llvm.org/D124758.

I've attached the pre processed source as well
[repro.mii.txt](https://github.com/llvm/llvm-project/files/8830405/repro.mii.txt)

See also https://github.com/flutter/flutter/issues/105155

@martong, could you take a look please? This is currently blocking us. 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVE1zmzAQ_TVw2TEjhInJgUMS1zOZTtNOnUOuQgijWpYYfTj1v-8KE3-lPXRGxmh5-_bp7UJj2kOd3JFpkWVCHhJayN1grIekeFqZoFvmpdEJXZ03WZ8UXyb4eHUe4xxe1kvJI4DZA2a_rF_CrhE2ocj6BJdbTKcPgOEqofeQLB6PPABW-GA1JHMSg4tlUkyP4v3fKh45Aekeke1KAVZob-gvNABWKZaIKB9jNUrjKs8Fb8B0RE-KMUdfY2WHEipNb-qhahDKicvYCYyXPJJqqT7SPg45Zt54EmH_cENqDzsm9Wc_oylnM1H5Z4br_v8MqOuOcMX0ZuZle8DygzXZbgezGcykOzhrDE4HXT0Mg5J8nAiH2zduWpGxYcD7J6O90D6Gl2IvlBmijasfivnO2F2Mf2P8-_otG6bQDXK9_HoG5TTLM9duURccVb72AjqjlHmXenNU2AaOc_AulQLOAlrOAIeEb8Hshe0QCazziJC6k1p6gVk8WBfHGZ6hZ3sBjXSCe9GCN9B7P7ikwIavcFmxl-LdZUrtd5mxm6g2p_NFWWWXfXhO6AJ5mMfCfeRBmYONP8OFcxhxJliOCAfvQqkpt3ycPJYy8799nCxaXQvYSN-HJuMmGhVVTH8zzPuFonHbSSWiZ1VVkDkpR9WXrNj8C6lrgSqUuz3oVZ1OBe_HdpzvpHNhLJOTMi_LS0qcsx2z3uhNfN25CaqFgwng2TZ2QxmzhUEJ5kRSrOC1lw5wYRMsjoo6QKMM38Z-BpdB2tZFe1_cs9RLr0S9vu6l1HAe0TRYVf-3X6eTlGVV5mlft11XlfeMU9pV86LockrmZduJBW26BS9EqliDL3MdvxiUaoEqIsXxu5HKmhJKyR0pyKKgJM8IuyNswSpRzUlbNTnaI_AlVachSm09SmrCxuFDJZ0_T1jKnJMbLcRU7uTsWIwF3xtbs8bGQfPpKKQeD_IHdmnAlQ">