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

    <tr>
        <th>Summary</th>
        <td>
            Clang crashed when using static analyzer: 'Assume' not implemented for this NonLoc UNREACHABLE executed at /root/llvm-project/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp:68!
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    Clang crashed when using CSA.
It appears that employing any kind of analyzer results in crashes.
Taking `UndefinedBinaryOperatorResult` analyzer as an example:
Compiler explorer(assertion trunck): https://godbolt.org/z/qb7E3eEjr
```
$ cat program.C
#include <stdint.h>

typedef int64_t vec __attribute__((vector_size(32)));

vec foo (vec x, vec y)
{
 return (vec) { -1, 0, 0, -1 } ? x : y;
}

$ clang --analyze --analyzer-output text -Xclang -analyzer-checker=core.UndefinedBinaryOperatorResult program.C
'Assume' not implemented for this NonLoc
UNREACHABLE executed at /home/compiler/llvm/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp:68!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /home/software/llvm-trunk-eed7c5e/bin/clang --analyze --analyzer-output text -Xclang -analyzer-checker=core.UndefinedBinaryOperatorResult program.C
1. <eof> parser at end of file
2.      While analyzing stack: 
 #0 Calling foo(vec, vec)
3.      program.C:7:10: Error evaluating branch
 #0 0x00007fc4c47df617 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xffc617)
 #1 0x00007fc4c47dbb92 llvm::sys::RunSignalHandlers() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xff8b92)
 #2 0x00007fc4c47de26f llvm::sys::CleanupOnSignal(unsigned long) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xffb26f)
 #3 0x00007fc4c466a8e4 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) CrashRecoveryContext.cpp:0:0
 #4 0x00007fc4c466ad4b CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #5 0x00007fc4c32c3520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #6 0x00007fc4c33179fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #7 0x00007fc4c32c3476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #8 0x00007fc4c32a97f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #9 0x00007fc4c4691537 (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xeae537)
#10 0x00007fc4e31d7c20 clang::ento::SimpleConstraintManager::assumeInclusiveRangeInternal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::NonLoc, llvm::APSInt const&, llvm::APSInt const&, bool) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5fd6c20)
#11 0x00007fc4e31d776f clang::ento::SimpleConstraintManager::assume(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::NonLoc, bool) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5fd676f)
#12 0x00007fc4e31d7661 clang::ento::SimpleConstraintManager::assumeInternal(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::DefinedSVal, bool) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5fd6661)
#13 0x00007fc4e305b2dd clang::ento::ConstraintManager::assumeDual(llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>, clang::ento::DefinedSVal) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5e5a2dd)
#14 0x00007fc4e303b505 clang::ento::ProgramState::assume(clang::ento::DefinedOrUnknownSVal) const (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5e3a505)
#15 0x00007fc4e30b323c clang::ento::ExprEngine::processBranch(clang::Stmt const*, clang::ento::NodeBuilderContext&, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&, clang::CFGBlock const*, clang::CFGBlock const*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5eb223c)
#16 0x00007fc4e3060904 clang::ento::CoreEngine::HandleBranch(clang::Stmt const*, clang::Stmt const*, clang::CFGBlock const*, clang::ento::ExplodedNode*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5e5f904)
#17 0x00007fc4e305fa79 clang::ento::CoreEngine::HandleBlockExit(clang::CFGBlock const*, clang::ento::ExplodedNode*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5e5ea79)
#18 0x00007fc4e305dbe9 clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*, clang::ProgramPoint, clang::ento::WorkListUnit const&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5e5cbe9)
#19 0x00007fc4e305d77c clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>)::$_0::operator()(unsigned int) const CoreEngine.cpp:0:0
#20 0x00007fc4e305cee9 clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5e5bee9)
#21 0x00007fc4e3a63031 clang::ento::ExprEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x6862031)
#22 0x00007fc4e3a62786 (anonymous namespace)::AnalysisConsumer::HandleCode(clang::Decl*, unsigned int, clang::ento::ExprEngine::InliningModes, llvm::DenseSet<clang::Decl const*, llvm::DenseMapInfo<clang::Decl const*, void>>*) AnalysisConsumer.cpp:0:0
#23 0x00007fc4e3a10eea (anonymous namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&) AnalysisConsumer.cpp:0:0
#24 0x00007fc4de05c09e clang::ParseAST(clang::Sema&, bool, bool) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0xe5b09e)
#25 0x00007fc4e2944ed5 clang::FrontendAction::Execute() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5743ed5)
#26 0x00007fc4e27fdcbb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x55fccbb)
#27 0x00007fc4e2a45fd1 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5844fd1)
#28 0x0000562fccd1f1bf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/software/llvm-trunk-eed7c5e/bin/clang+0x1d1bf)
#29 0x0000562fccd14a94 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#30 0x00007fc4e217c5de void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::$_0>(long) Job.cpp:0:0
#31 0x00007fc4c466a7cd llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xe877cd)
#32 0x00007fc4e2179e35 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x4f78e35)
#33 0x00007fc4e2104aee clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x4f03aee)
#34 0x00007fc4e210517d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x4f0417d)
#35 0x00007fc4e2139557 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x4f38557)
#36 0x0000562fccd13f57 clang_main(int, char**, llvm::ToolContext const&) (/home/software/llvm-trunk-eed7c5e/bin/clang+0x11f57)
#37 0x0000562fccd3be25 main (/home/software/llvm-trunk-eed7c5e/bin/clang+0x39e25)
#38 0x00007fc4c32aad90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#39 0x00007fc4c32aae40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#40 0x0000562fccd106d5 _start (/home/software/llvm-trunk-eed7c5e/bin/clang+0xe6d5)
clang: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git eed7c5e29c1dc5f78bd01608430e2b4e0c439bb1)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/software/llvm-trunk-eed7c5e/bin
Build config: +assertions
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/program-98f651.cpp
clang: note: diagnostic msg: /tmp/program-98f651.sh
clang: note: diagnostic msg: 

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWltT47iX_zTmRUXKlu8PPISQzDDFTFNAz-xbSpaOEw2O5JVkOsyn35LtBMskDHR32N36TzG0saRz-Z2LjqxDtOYrAXDhxZdefHVGGrOW6oKTDRFSPG9ko6k-KyR7vphVRKwQVUSvgaFvaxCo0Vys0Ox-OvH8K8-fXhtE6hqI0sisiUGwqSv5bOcQ8YweuWBIlogIUj3_Awop0E1lNOKiJ6t7Og_k0S7yEv-rYFByAeySC6Kev9SgiJHqrl3pJf4LMaIREQi2ZFNX4IXTjtJMbmpegUKwrSupQHk4I1qDMlwKZFQj6KOHcy-corUxtbYL8cLDi5VkhazMRKqVhxf_eHjx30U6D2H-t-ooe4nf_3R_4ghRYlCt5EqRzWS2ex1yQauGAfLCmTaMCzNZe-G8H25_m-caGJSIC5NES4OegKLlkhijeNEYWC49nHk4ewJqpFpq_g94OAuxlbv7CS-H5OzyUkrULUFbD89aks92ajcv7RcgBaZRop_q4Rx56SU6D-wSf__rPEBeeoW8cIG2yEL1_MIxvRqyblFo_eT8vLfMy5M6l42pG4MMbA06_69-4n6UroE-gvLCKyoVTN40_Wuc06nWzQY8nCIhDeLWDTYgDDBUSoXMmmv0hxQ3knYrvv5xN5_Ofp1e3swRbIE2diYxyMOLtbR0FrT3HQ8vquppY99Yie2fvPDw4t4Qw-m0F9_Di5lUdt19y3smhTaKcGF-J4KsQE1oXXvhNMk8HHQi3N7Mp_dzpJtiww0iqGhWSEEtlUFGjv2Rm3VTTKjcvIhj_zmvlfwbqPHwgmvdgPbwAhHB0M7tzBq66EIFoY9GEQrWprWCWkkKWgNDWjaqe21XEq0l5cTioRqBNFW8Nn1k3htCHxFrNvU-xPwJav-77SyCiFo1Fngr-wBNLUvzjbQAtXLb2Hs8B2Apje3Lgosdwp_tPMHEBifI0gvnqCZK23RiEHTpquQVdPNwr-lfa15Bn3lsntIWlFbbLqg8HPpoRqrKDpZS7qKrDcN9EIY9tRdhwmnqhdPAt6TmSkmF4IlUDTGWTqGIoOshB3_r-76fljSiUcrKJEhR6xjh1Aun-ll3D7eKC9Oa7aGzffYySZFvS6mNArLxcGIF5MK0WcAmnI9ZbjLZB0bFi5ubP3-faDkJ8om_4sbDl_62LGkSpHv9rRLBSImiyPEhJe4acc9XglS_EsEqULoV8GRyZkWOHTnxSE7ASXlIzlkFRDT1l15aD2eNaDdYhippU8fJRC5wUjoih47ISUIyiCzz_b6OBNmArlufyHvxbZ64AyqfQD3PpLCxdr2pq260w76d4-Gs9ZQZeqXfIRp96vPb__cSRmMJWVS4yx2b73h-hEU8ZBFiGsbY7y3Q4bnNkmUSnVdcNNvzlWi6AWrxTVpkIxxj3wE2cWiGQZqXFNVmrYCw5SOvqo8xyJO8pA6DdCx0lCZopVssPip8lCYO7cylTfK0DBEp7JbzIco4S8vQoZy71syDOExP4-xAIA5f8ohNI8NkCGHAUor9rhDpXBeEkd3Tkc25GyRtCXFtd07Nn-COiBVcCwOqi-WXgL8WRnVToJwJc2uUF84O8ut3RVsrAKKWrS3-8OywdH2BgmeD5DK9vb8Wpl_bZek3Bwspq5-SaFoJz2ldjw0Qlyyhg6iwFgjGFkiT8rst8MlYfw5i6SBBW8TwGLEkCX7AZz_RS6-60ur-T8vvs-BLksCBL3Tg8-MCM3ZY3DeBu2r-N0A7KVgQE8yYA1bkghUWsR8fFnOo1Cgk31Lri_oqHoX8Jnb6tXicVMuQxH7saBm7WhYhDulhLefbWs3Fiotex_4odNnV2I6q92azz6_TN5IJg8uGVwxUX5D02fgY-0oyYHbVW1SH8-7hAMnZ4pfLStLHYwIeGD-t6xUYh9QxSuIaJfFzPzoWpwqGRunqvo_a5K2xf4PrDQudOGLL3I8c2NJReitJmn8INqvnfGs5ZP8vEACS5g4C2QgBVsA7EWBc18TQ9V9SPV4b2BzLXW-HYZ8Jb2V_0jlIwrK44dp8FXxYhZ0YK1qAi1U-xipNj2S-MVbz7tPXTg8XqhtJieFS9CnNcZr9wa-H5yfuoP1p1MPR0u8eZf_9pjv2D4_V_ZGw225elHt9HLSneH8EE4X3utT_SZhO62QFuE6G3RKfJKEfHilYx9vrT0LvlAonWYL90CkxMR4pjNMs-bdPKO3nYM21LTqbza7W7D-dtHlmqPsV0OqIo7wL2GtRccHF6nfJQLvudQVCt0WD41SWoYPwaMHvpL4WpfyXRU-SM-uC1gvbnWGs9eHwc0t2EvgA5EfwfFBE6Kp1Hpt_XWin9w_DSuy9Mg4rZQZ-TP0cnF2BKA3T-4dRQQIb4hy_P-NUBHHh5-B4rFMB4zyKgDl1_kJZSASbUguaE5w_64vq8ZSSRiEwp2LHTnGI05LRonAKtv4K5lpoQwR100mvhGOIkYIn34vjktKicHRyKjdMorhkTprspX9R7alPgKNKbaz6yWuwLIpK5mbAXQ0WJ7iklAVlUJSI0mC5IZb04Ng8VYo830FpM8eaqJd00R-JnXe7FPLdKvUXcZf-NmBB4XxXwflI5ojkEdqBPgse2rgcSH6_IVX1Z3u32n3rPqDA6KubpTHarlpHY4o_HUkszn0N4CClMYMWhQHdshGt3y5VC2Q72pc8NtvaKZRUVUHo47IUbpLuePe-MwtmcrMhgo1D_KDBtGG7MstyJxaDAT5GcbFqZ857a-4XLJd0uw2C7o-CaE6Xup3eo-hMti-WRhFu9G54RI5UlY0FqQbj_R6zS6jTfbXnFIlzq1t_A_GbLA6bIBhfOKR0iP6ha4Vu5K4R96SE6tlB8G1rneqqB7I0pc7XHed2yrpWDqGT9f_jXOOEWTIq0wxCZxdzrtoAB35EAI7i36Z18mr73RnF2QNGC-0E51P_-6ZORxcDp4fIDwk4hYlz12chioOUfRSi32Shj-Pzmyzs2eLIPcnrJL_3rJpw61Svy-43Ie3d77OBjYLUjX234gvCPI7TY0pcDZ6dKuRA-XHMIJ8I7CmLnagMszh2LhH3F7u7wiEsd1Duyp2dKm36mr46QR0rC36swAnKkZypK2dYAI6RlfDHGIU5YDevjS-LCcs_eHuOc5Y794TuNbGlCZGPlku7bKkNUWY50OTdXCByuET-yJR-wmLU0f8xkCAZnGB2Lo1AKbsxTfvet7I_hCDaO3dJeAUMfeNmjWDbfilkgIKwbchoNKDzJ2Qk0gCID44DQzboCZTmUiDrxa0f27Uf6xGb2FW9bjinAaNxmWYF84PEz6LQB1xE4NMozIvi5RzwQNQKbCGEekM03U3PwCDdvLYDAm0kg8rOrqXm274v1J5hqgrYFVcf7wprSbSXKzaqSr7qSFzu-zj1yBxCtndXiHGyElIbTtFGr14atHax-10_g27Hvn9v-vAwnf2KHn6do8WXm5svf13_8QtaXN_M79HDl_b15ddf0N389svdg7frmrs91H-XaZsujvbg7ScoQG011HYs7km-R3-8MJvaw4u-6ew8z8okDtpy-Udp6PVHzfCzjLHrxD1jFyHLw5ycwUWQYhwneYLzs_UFKQCXOMNRlBUhtM9ZyQiLme-nlNAzfoF9HPmZj_0wDKN8kudhyQIckSzKWAjUi3zYEF5NrJdOpFqdtd2WF4GNneSsIgVUum2ixrjPFtiLr87URevWRbPSXuRXXBv9QsJwU8Hxvmrd9pfuO5w77N_f5ore6HBVUprXDaQ_rb31rFHVxff3r_agPl3g_wkAAP__5SNNhA">