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

    <tr>
        <th>Summary</th>
        <td>
            bug: clang-tidy crashes with 6 lines of code
        </td>
    </tr>

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

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

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

<pre>
    clang-tidy crashes with the following file and command. It seems to have a problem with the spaceship comparison operator. Can you reproduce this behavior?

    // bug.cpp
    #include <algorithm>
    #include <vector>
    bool foo( const std::vector<int> a, const std::vector<int> b )
    {
        return a < b;
    }


    $clang-tidy ./bug.cpp -checks=llvm*,bugprone-*,clang-analyzer-*,misc-*,-llvm-header-guard,-llvm-include-order -- -std=c++2a
    Stack dump:
    0.      Program arguments: clang-tidy ./bug.cpp -checks=llvm*,bugprone-*,clang-analyzer-*,misc-*,-llvm-header-guard,-llvm-include-order -- -std=c++2a 
    1.      <eof> parser at end of file
    2.      While analyzing stack: 
            #0 Calling std::lexicographical_compare_three_way at line /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_vector.h:1912:14
            #1 Calling std::operator<=> at line 7
            #2 Calling foo
    3.      /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_algobase.h:1721:14: Error evaluating statement
    4.      /usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_algobase.h:1721:14: Error evaluating statement
    /usr/lib/x86_64-linux-gnu/libLLVM-10.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x1f)[0x7f747076a4ff]
    /usr/lib/x86_64-linux-gnu/libLLVM-10.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x50)[0x7f74707687b0]
    /usr/lib/x86_64-linux-gnu/libLLVM-10.so.1(+0x981ac5)[0x7f747076aac5]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420)[0x7f7476f39420]
    /usr/lib/x86_64-linux-gnu/libclang-cpp.so.10(_ZN5clang4ento17BasicValueFactory25getPersistentSValWithDataERKNS0_4SValEm+0x67)[0x7f74762cf7d7]
    Segmentation fault (core dumped)

    $ clang-tidy --version 
    LLVM (http://llvm.org/):
    LLVM version 10.0.0
      
    Optimized build.
    Default target: x86_64-pc-linux-gnu
    Host CPU: skylake

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVVktv4zYQ_jXyhZBAPSzZBx-S2MEW3aZB3O4CvRgUNZLYUKJAUk68v75DSX4laYuiRdHaAkWRM8Nv3sxVcVhxydrKt6I4EK6ZqcGQF2FrYmsgpZJSvYi2IqWQQFhbEK6aBt8B-c4SA9AYYhWp2R53SadVLqE585uOcTC16Bxbx7QwqiWqA82s0gG5Yy05qJ5oQM6i54BMwpAcUJ5Q2ovvPbr26M04Evx50T0-JO-rgHfd5XosWi77AogX3zFZKY0YGi_e_B7NHrh1R1wQ5EpJVFl50QLxtgYVtIUX3-BzpL4TrUUewrzo7s9ocjxxeXF8dnv-cD8Nttctmg1ZSO7Ft5e060vNL3VILvwVoC0mUxCf18CfjRevpdw3XnSDCHEPDduCP36OnKxl8vAN9LTYCMOnqe84_RpYgbtVz3RxWpwM5yuNe8T3iT-oveZedItPxM4Qt5bxZ1L0TefMclqmwaj1o1aVZg1huuobaC0iviH_TZ3IGX04oUdXgSqddzGaDbIxSwCzQpVDhpwZoonhaz0mjsPn8sg46ziVr2Nhik-KKSHlSDdFlYRXwZ3JulpwJndjIsHO1hpg98IODgKygMuN3mgcpchxrDgqcv-6SHdp4iNB_-pXbY9LIcUhCN4Pk0FwNpngSJwLdFN0b6zcjUEe1IgsXIaReyUfqhK-V-WY-GhENPOQRhP07EMR0UmES8oTRXz0xb-hryslOTMwapxF4agxOnCjtdIE9kz2zE6uteBC-gw1-f9AfQPxA3C48fnzlx_8kAZGBSFWyd0vD4lLpdgcTDh_1Fj4huz_SWPZ3zw9bHdhqNnLThmrgTUbxE1fw9KVxTnOsjJLMpqlLClLb77-B7FkT327FRVm3SfsVRK02eyHw-f07eGLLKd_-_BB9nIRMj5_p5xbeyP_jyR3LrFZ4STTo-QwSaJr4GkZL93aXwY-1kssrgN0OhpuPqwmGA8qzG6ZEfwLhgrcM5frh2hegX1EGwpjkWSLe1-xua6ZZZun7x-2dJe4tU0zYE2za6ARL7MiuwK6hcrFHoYi3gZK1kuL2BdcaRjaBhSnvnnV-C67hO_vHSDkP5M4nzhBtbVD6xmuCi4kAqWr4Wt51ZEG-qMY9CX-L8vQef5jZ0UjvkGB9w4hi-C8s4YRvsVuBtal2mT1jl8Y_kT-CROB3D3-7AjN80Gy56ljzGAVpmm4jJc0SWbFKi5wymZWWAkr7HhveuTVPS0dSqhxLYirAma9litnAnOyQYVkfR5g55gMMr18bKS_Yj139cWYHlwhmWdJms3qVVQuFkm4XGR0npaU4myepwlAxsNlDiycSZaDNCv0tBdFLbyQQQTO0dUzsYpoFNFFHNJlktA4YJzzHJUr47SMFlnhJRQaJmRw9M9MrwZIqKzBTYmxZs6bzBjMZoDhOJTPelsrvWqYxnImBa_tbDh-NcD_DUouN6Y">