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

    <tr>
        <th>Summary</th>
        <td>
            Building LLVM 20.1.4 fails
        </td>
    </tr>

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

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

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

<pre>
    FAILED: lib/ExecutionEngine/JITLink/CMakeFiles/LLVMJITLink.dir/MachO_arm64.cpp.o
/scratch/devel/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/scratch/build/libs/llvm/build/lib/ExecutionEngine/JITLink -I/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/lib/ExecutionEngine/JITLink -I/scratch/build/libs/llvm/build/include -I/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include -isystem /scratch/devel/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++20  -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/ExecutionEngine/JITLink/CMakeFiles/LLVMJITLink.dir/MachO_arm64.cpp.o -MF lib/ExecutionEngine/JITLink/CMakeFiles/LLVMJITLink.dir/MachO_arm64.cpp.o.d -o lib/ExecutionEngine/JITLink/CMakeFiles/LLVMJITLink.dir/MachO_arm64.cpp.o -c /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:13:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h:16:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h:18:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/FunctionExtras.h:36:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/PointerUnion.h:20:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/STLExtras.h:24:
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/iterator.h:272:9: error: static assertion failed due to requirement 'iterator_facade_base<llvm::mapped_iterator<llvm::StringMapIterator<llvm::jitlink::Symbol *>, llvm::jitlink::LinkGraph::GetExternalSymbolMapEntryValue, llvm::jitlink::Symbol *>, std::forward_iterator_tag, llvm::jitlink::Symbol *, long, llvm::jitlink::Symbol **, llvm::jitlink::Symbol *>::IsRandomAccess': The '-' operator is only defined for random access iterators.
  272 | BaseT::IsRandomAccess,
      | ^~~~~~~~~~~~~~~~~~~~~
/scratch/devel/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.1.1/../../../../include/c++/15.1.1/bits/ranges_base.h:976:23: note: in instantiation of member function 'llvm::iterator_adaptor_base<llvm::mapped_iterator<llvm::StringMapIterator<llvm::jitlink::Symbol *>, llvm::jitlink::LinkGraph::GetExternalSymbolMapEntryValue>, llvm::StringMapIterator<llvm::jitlink::Symbol *>, std::forward_iterator_tag, llvm::jitlink::Symbol *, long, llvm::jitlink::Symbol **, llvm::jitlink::Symbol *>::operator-' requested here
  976 |       { return __last - static_cast<const decay_t<_It>&>(__first); }
      | ^
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp:13:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ExecutionEngine/JITLink/MachO_arm64.h:16:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h:18:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/FunctionExtras.h:36:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/PointerUnion.h:20:
In file included from /scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/STLExtras.h:24:
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/iterator.h:274:14: error: invalid operands to binary expression ('const llvm::StringMapIterator<llvm::jitlink::Symbol *>' and 'const llvm::StringMapIterator<llvm::jitlink::Symbol *>')
  274 |     return I - RHS.I;
      |            ~ ^ ~~~~~
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/APInt.h:2182:14: note: candidate function not viable: no known conversion from 'const llvm::StringMapIterator<llvm::jitlink::Symbol *>' to 'APInt' for 1st argument
 2182 | inline APInt operator-(APInt a, const APInt &b) {
      | ^ ~~~~~~~
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/APInt.h:2187:14: note: candidate function not viable: no known conversion from 'const llvm::StringMapIterator<llvm::jitlink::Symbol *>' to 'const APInt' for 1st argument
 2187 | inline APInt operator-(const APInt &a, APInt &&b) {
 |              ^ ~~~~~~~~~~~~~~
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/APInt.h:2193:14: note: candidate function not viable: no known conversion from 'const llvm::StringMapIterator<llvm::jitlink::Symbol *>' to 'APInt' for 1st argument
 2193 | inline APInt operator-(APInt a, uint64_t RHS) {
      | ^ ~~~~~~~
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/APInt.h:2198:14: note: candidate function not viable: no known conversion from 'const llvm::StringMapIterator<llvm::jitlink::Symbol *>' to 'uint64_t' (aka 'unsigned long') for 1st argument
 2198 | inline APInt operator-(uint64_t LHS, APInt b) {
      |              ^ ~~~~~~~~~~~~
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/iterator.h:145:12: note: candidate function not viable: no known conversion from 'const llvm::StringMapIterator<llvm::jitlink::Symbol *>' to 'long' for 1st argument
  145 |   DerivedT operator-(DifferenceTypeT n) const {
      | ^ ~~~~~~~~~~~~~~~~~
/scratch/build/libs/llvm/llvm-project-20.1.4.src/llvm/include/llvm/ADT/APInt.h:2157:14: note: candidate function not viable: requires single argument 'v', but 2 arguments were provided
 2157 | inline APInt operator-(APInt v) {
      | ^         ~~~~~~~


clang++ -v:
clang version 20.1.0
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /scratch/devel/bin
Found candidate GCC installation: /scratch/devel/bin/../lib/gcc/x86_64-pc-linux-gnu/15.0.1
Found candidate GCC installation: /scratch/devel/bin/../lib/gcc/x86_64-pc-linux-gnu/15.1.1
Found candidate GCC installation: /scratch/devel/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.0.1
Found candidate GCC installation: /scratch/devel/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.1.1
Selected GCC installation: /scratch/devel/bin/../lib64/gcc/x86_64-pc-linux-gnu/15.1.1
Candidate multilib: .;@m64
Selected multilib: .;@m64

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWktv4zgS_jXMhaAhU34efFD8yHgRdxqxe7I3gRZLMqcpUkNSTryH-e0LUrbjZJJ0sJuks4s2GhZULBar6quXmWbWikIBjFD3HHUnZ6x2G21GObuVbieZKmpWwNla891olswvpxMUJ1iKNaKz6R1ktRNaTVUhFCA6-8d8dSnUd0Rn4wX7DjMhwSI6u7z8fbFfanFhEJ0tWLa5Spkpe51WVlUtjaIE0ZnNDHPZBtEZhy1IRGdroRCdZV4RRM8RPcdkcrGaLlfpb8kyvV6t5iieRJhM_Bnp9J9fr65XS0wm6cWXb-ny6tv1eOrf0uVqMk7HV1-Wq-TLKl0k4-ur5f3C7Op6kfydfDlfzO-p8wcKrmshOaIzKdbeRCm35UPqSw56nTD_IJXRf0DmCI1a7VanZU12wvAWpxyoQmWy5vBGqh2lCbuzDkr8JLpHrvzrfIxJrjSxUDLlREaEcmAqbYU3DZN8K6xYCyncjgglhQJLNoJzUJjcgDHaoHjCmQPiRAkntNqHsOHACdsyIdlehoJbTG6YlJ71zhmGyY3SpFa1BU4qZlgJDgwmN7dGOCDWGaEKi8lNxqwjf9bM7yyFtUIVJBcgORFKOMGk-BcYi0kFPFjSCJZaFeHLS2hCeTggmS4r5khQwJsuMLkRZSVFJhzJmZRuY3RdbPwmvQUDnNhb4bIN4ZCzWrpGuNJwl0HliNtVEEiKbIVxNZOEO-2t4CDBAXlixdZFAdYRL98Ij8ZNYyzJtNqCscH_3lQJjHu6UByUYw0wN5ljnJRstwZSK1tXlTYOOCY5F6xQ2jqRWZJp6Q_L81plfh-xEJ7W8zHHTt6vYkwmXybT828XmFjHUTzZO4xGuAmSxtr99lrdCsWJY2sJtlk3zglMFhNMFqt3KFaYLGbvILbFMdHvom6GP6Dc_P1oFCVzhXMhAe8znePc6PInaRMn7RjFybtqtZd4T3itghuvXu9TqXcIq6Da4MNVSyYrRGezfcGY-hJpgy7xx7up0eWrDk3pmxJaBU1o9JM0Wa4uTxxCO40a73igcGCY06Y5r09RnAz9JLjvsgm2vh9kmFkLJjSGnAkJHPMasNPYwJ-1MFCCchjR_kFcmrOMcUjXzAKKx-HIOEFxUrKqAp4e-B6sLUN3WrBq_tTqH8JJH78N665ca4kRTVA8RXSMn-HzcX5hWLVpXi_ATe8cGMVkI2HBqqlyZvc7kzW8IOdv54X-5VdybW6Zubcodax4nSDPpNVrmZNXaxdIc3vNFNdlkmVgLaJ9j-VqAx4kgmgf66rRFwuLtZI7zCEXyoe4NtiEvZiFzfhgmm2hKMGY9ilG_TE-ZxZWT582Doz-4xlRd_rXE5-Xfxq0Wk2M9zqIzorMR_LdoJf2OqTKiBSqviOFqhGdtbutdqt92PHo6z7q96PG6Ya1cD6DDFMF2BCqIQuGfV-HqG8pWGkH_ikUFso6P_c145HOcQnlGgw-TD7es_f4HMOBcVb55_9WJjwW9d8o9NlT5ZAJIS18PQPr59wNGAhhPOz3QhgfAvocG3C1UThNJbMOk32NTP0PCBSPM62swxwytkv9ezp3wRO98D1I01wY6xAdovgco_7kca78mq5-TVe_pqv_x-nKH9juPBivhNoyKXjTjhW3fqZaC8XMDsNdZcDaprUMEO03heUtinIfM8Xx24r0Ba0ZDzrHcrkvlHNM8PVvy9YcxecPqt3J5y9f-vCTg8HbYpJ8nSvXANIe0CMih06fMcUFZw7uG7vSDm8FW0toGPF3pW8VPrlF2QfumyLktJcYtPWvfixrW4eZKWo_bXs_egOCH5uLMxyY8Uk_GzQU5htio1tDQLS3RnTom9nj7oOfmc7eEYT-ZwfhxHUvQNF_GYpH_g-YHN8eAfIoN_ApMB-OzzD-7Pj8AJlh_OokqYVyvU7qfLn6NAkyHHx2AA5u8xREB-w7C1QV_gTF97O77xDPITR4GaEjLJcelkPePFnCXkybD-z27U7Xf9NPjNoelicxwe1Od-_PCRixBb56gMhE5DkYUBmsdhWssPJYNCq-kDM_o3x1_4P2sr_VstgKVUg4esZ7bRsieYzXtcP0uGLxLRjAldFbwYE3Yd39QUtoKNvnCs1xNLp3Wfj34K-m22aIDTR8iJngqghFyYqZApw3aX95UqsQYCc3KFGy2hhgHJeag_SslbbiLszn1jEpgU9EmFWfva2JkpmuFT_x68V43FyYSBnuS17cfn_Z8-OrnqjV_sjj2m953Guust7UvtfenUXJEiRkDvj7nzQ-GlXW0gmPQpzglv9l0InKXudUmWc5zvgo5sN4yM5g1O53ev1o0O5EZ5tRlEVDPmDDwbDba7NBHPXybB1FUYfTTtRm9EyMaES7UTcatGmH0qiVx5T2hzxbs-6w72fRTgQlE7LlC0pLm-JMWFvDqB0Poz49k2wN0ob_VEGpglscVhGlqDs5M6NQsNZ1YVEnksI6ey_GCSdhdO7rnFAFvrz8fdHkaSdcqduz2sjRxrnK-oymM-9Q4Tb1upXp8umS6AugP95XzL1-2xH9dwAAAP__Z8DoAw">