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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Assertion failed: detail::isPresent(Val) && "dyn_cast on a non-existent value"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang
      </td>
    </tr>

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

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

<pre>
    I have run into the assertion in the title while compiling an incredibly large fortran project. 

I am using a custom build LLVM 20.1.7 toolchain on Windows compiled by `clang-cl.exe` 19.1.5 with the following options:

```
cmake `
  -G "Ninja" `
  -Wno-dev `
  -Wno-deprecated `
  -DCMAKE_C_COMPILER="clang-cl.exe" `
 -DCMAKE_CXX_COMPILER="clang-cl.exe" `
 -DCMAKE_C_LINK_EXECUTABLE="lld-link.exe" `
 -DCMAKE_CXX_LINK_EXECUTABLE="lld-link.exe" `
  -DCMAKE_BUILD_TYPE=Release `
  -DCMAKE_INSTALL_PREFIX:PATH="$($InstallDir)" `
 -DLLVM_ENABLE_ASSERTIONS=ON `
  -DLLVM_TARGETS_TO_BUILD=host `
 -DLLVM_ENABLE_PROJECTS="clang;mlir;lld;lldb;openmp;flang" `
 -DLLVM_ENABLE_RUNTIMES="compiler-rt" `
  -B "$($BuildDir)" `
 -DLLVM_LIT_ARGS=-svj4 `
  -S ".\llvm-src\llvm"
```


The full error is below

<details>

<summary>Error Log</summary>

```
Assertion failed: detail::isPresent(Val) && "dyn_cast on a non-existent value", file C:\Users\augusew1\Documents\git\llvm\llvm-project-llvmorg-20.1.7\llvm\include\llvm/Support/Casting.h, line 662
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\bin\\flang -fc1 -triple x86_64-pc-windows-msvc19.44.35209 -emit-obj -I otis4src\\libs/bcslib\\libbcslib.a.p -I otis4src\\libs/blas\\libblas.a.p -I otis4src\\libs/cdheat\\libcdheat.a.p -I otis4src\\libs/gram07\\libgram.a.p -I otis4src\\libs/jhuapl/borders\\libjhuapl_borders.a.p -I otis4src\\libs/jhuapl/massprops\\libjhuapl_massprops.a.p -I otis4src\\libs/jpl\\libjpl.a.p -I otis4src\\libs/linpack\\liblinpack.a.p -I otis4src\\libs/miniver\\libminiver.a.p -I otis4src\\libs/novas\\libnovas.a.p -I otis4src\\libs/slsqp\\libslsqp.a.p -I otis4src\\libs/smath\\libsmath.a.p -I otis4src\\spice/toolkit/src/spicelib\\libspicelib.a.p -I otis4src\\libs/snopt7\\libsnopt.a.p -I otis4src\\src\\otis4.exe.p -I otis4src\\src -I ..\\otis4src\\src -D NDEBUG -D _FILE_OFFSET_BITS=64 -ffixed-line-length=132 -mrelocation-model pic -pic-level 2 -target-cpu x86-64 --dependent-lib=clang_rt.builtins-x86_64.lib -D_MT --dependent-lib=libcmt --dependent-lib=FortranRuntime.static.lib --dependent-lib=FortranDecimal.static.lib -D_MSC_VER=1944 -D_MSC_FULL_VER=194435209 -D_WIN32 -D_M_X64=100 -fversion-loops-for-stride -module-dir otis4src\\src\\otis4.exe.p -resource-dir C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\lib\\clang\\20 -mframe-pointer=none -O3 -o otis4src/src/otis4.exe.p/phmap.f.obj -x f95-cpp-input ../otis4src/src/phmap.f
Exception Code: 0xC000001D
 #0 0x00007ff61cc569a6 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x5469a6)
 #1 0x00007ff9a6cae6d5 (C:\WINDOWS\System32\ucrtbase.dll+0x7e6d5)
 #2 0x00007ff9a6caf6e1 (C:\WINDOWS\System32\ucrtbase.dll+0x7f6e1)
 #3 0x00007ff9a6cb108e (C:\WINDOWS\System32\ucrtbase.dll+0x8108e)
 #4 0x00007ff9a6cb12d1 (C:\WINDOWS\System32\ucrtbase.dll+0x812d1)
 #5 0x00007ff620d404bf (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x46304bf)
 #6 0x00007ff61fdf6ccb (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e6ccb)
 #7 0x00007ff61fdf6325 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e6325)
 #8 0x00007ff61fdf5fdb (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e5fdb)
 #9 0x00007ff620d16a74 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4606a74)
#10 0x00007ff6212c0364 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4bb0364)
#11 0x00007ff6212bd289 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4bad289)
#12 0x00007ff620d17b7b (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4607b7b)
#13 0x00007ff620d16ba1 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4606ba1)
#14 0x00007ff620d18172 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4608172)
#15 0x00007ff620d1cdde (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x460cdde)
#16 0x00007ff61fdf221b (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x36e221b)
#17 0x00007ff61e293933 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x1b83933)
#18 0x00007ff61e293f3b (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x1b83f3b)
#19 0x00007ff61e2966f5 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x1b866f5)
#20 0x00007ff61cd8339a (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x67339a)
#21 0x00007ff61cd87554 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x677554)
#22 0x00007ff61ccee12d (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x5de12d)
#23 0x00007ff61c77fdd2 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x6fdd2)
#24 0x00007ff61c79751a (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x8751a)
#25 0x00007ff61c713f62 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x3f62)
#26 0x00007ff61c712230 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x2230)
#27 0x00007ff621440410 (C:\Users\augusew1\Documents\git\llvm\llvm-install\bin\flang.exe+0x4d30410)
#28 0x00007ff9a8a3259d (C:\WINDOWS\System32\KERNEL32.DLL+0x1259d)
#29 0x00007ff9a970af78 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x5af78)
flang: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 20.1.7
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Users\augusew1\Documents\git\llvm\llvm-install\bin
Build config: +assertions
flang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang: note: diagnostic msg: C:\Users\augusew1\AppData\Local\Temp\phmap-345c06
flang: note: diagnostic msg: C:\Users\augusew1\AppData\Local\Temp\phmap-345c06.sh
flang: note: diagnostic msg:

********************
```
</details>

And here is *only one of* the requested log files:

<details>
<summary>phmap.sh</summary>

```
# Crash reproducer for clang version 20.1.7
# Driver args: "-I" "otis4src\\libs/bcslib\\libbcslib.a.p" "-I" "otis4src\\libs/blas\\libblas.a.p" "-I" "otis4src\\libs/cdheat\\libcdheat.a.p" "-I" "otis4src\\libs/gram07\\libgram.a.p" "-I" "otis4src\\libs/jhuapl/borders\\libjhuapl_borders.a.p" "-I" "otis4src\\libs/jhuapl/massprops\\libjhuapl_massprops.a.p" "-I" "otis4src\\libs/jpl\\libjpl.a.p" "-I" "otis4src\\libs/linpack\\liblinpack.a.p" "-I" "otis4src\\libs/miniver\\libminiver.a.p" "-I" "otis4src\\libs/novas\\libnovas.a.p" "-I" "otis4src\\libs/slsqp\\libslsqp.a.p" "-I" "otis4src\\libs/smath\\libsmath.a.p" "-I" "otis4src\\spice/toolkit/src/spicelib\\libspicelib.a.p" "-I" "otis4src\\libs/snopt7\\libsnopt.a.p" "-I" "otis4src\\src\\otis4.exe.p" "-I" "otis4src\\src" "-I" "..\\otis4src\\src" "-D" "NDEBUG" "-D" "_FILE_OFFSET_BITS=64" "-O3" "-ffixed-line-length-132" "-module-dir" "otis4src\\src\\otis4.exe.p" "-o" "otis4src/src/otis4.exe.p/phmap.f.obj" "-c" "../otis4src/src/phmap.f"
# Original command: "C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\bin\\flang" "-fc1" "-triple" "x86_64-pc-windows-msvc19.44.35209" "-emit-obj" "-I" "otis4src\\libs/bcslib\\libbcslib.a.p" "-I" "otis4src\\libs/blas\\libblas.a.p" "-I" "otis4src\\libs/cdheat\\libcdheat.a.p" "-I" "otis4src\\libs/gram07\\libgram.a.p" "-I" "otis4src\\libs/jhuapl/borders\\libjhuapl_borders.a.p" "-I" "otis4src\\libs/jhuapl/massprops\\libjhuapl_massprops.a.p" "-I" "otis4src\\libs/jpl\\libjpl.a.p" "-I" "otis4src\\libs/linpack\\liblinpack.a.p" "-I" "otis4src\\libs/miniver\\libminiver.a.p" "-I" "otis4src\\libs/novas\\libnovas.a.p" "-I" "otis4src\\libs/slsqp\\libslsqp.a.p" "-I" "otis4src\\libs/smath\\libsmath.a.p" "-I" "otis4src\\spice/toolkit/src/spicelib\\libspicelib.a.p" "-I" "otis4src\\libs/snopt7\\libsnopt.a.p" "-I" "otis4src\\src\\otis4.exe.p" "-I" "otis4src\\src" "-I" "..\\otis4src\\src" "-D" "NDEBUG" "-D" "_FILE_OFFSET_BITS=64" "-ffixed-line-length=132" "-mrelocation-model" "pic" "-pic-level" "2" "-target-cpu" "x86-64" "--dependent-lib=clang_rt.builtins-x86_64.lib" "-D_MT" "--dependent-lib=libcmt" "--dependent-lib=FortranRuntime.static.lib" "--dependent-lib=FortranDecimal.static.lib" "-D_MSC_VER=1944" "-D_MSC_FULL_VER=194435209" "-D_WIN32" "-D_M_X64=100" "-fversion-loops-for-stride" "-module-dir" "otis4src\\src\\otis4.exe.p" "-resource-dir" "C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\lib\\clang\\20" "-mframe-pointer=none" "-O3" "-o" "otis4src/src/otis4.exe.p/phmap.f.obj" "-x" "f95-cpp-input" "../otis4src/src/phmap.f"
 "C:\\Users\\augusew1\\Documents\\git\\llvm\\llvm-install\\bin\\flang" "-fc1" "-triple" "x86_64-pc-windows-msvc19.44.35209" "-emit-obj" "-D" "NDEBUG" "-D" "_FILE_OFFSET_BITS=64" "-ffixed-line-length=132" "-mrelocation-model" "pic" "-pic-level" "2" "-target-cpu" "x86-64" "--dependent-lib=clang_rt.builtins-x86_64.lib" "-D_MT" "--dependent-lib=libcmt" "--dependent-lib=FortranRuntime.static.lib" "--dependent-lib=FortranDecimal.static.lib" "-D_MSC_VER=1944" "-D_MSC_FULL_VER=194435209" "-D_WIN32" "-D_M_X64=100" "-fversion-loops-for-stride" "-module-dir" "otis4src\\src\\otis4.exe.p" "-mframe-pointer=none" "-O3" "-x" "f95-cpp-input" "phmap-345c06"
```
</details>

**Unfortunately, I cannot share the source code due to US law**. 

Some information about the code:
- It is a fortran 77 code base
- It makes *heavy* use of NAMELIST, COMMON, BLOCK DATA, and EQUIVALENCE which I suspect is related
- It does successfully compile with ifx and gfortran
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW19z2rq3_TTKi8aMLf8BHvLggOnhlkBuIG1_T4wsy6BWtnwkmSTf_o5sg4EEQnouZ-Y3006mY29rryVtSdvKXg5Wiq1ySm-Bfwf84Q0u9VrIW1yuSkWfnZtYJK-3Y7jGGwplmUOWawH1mkKsFJWaCWOqDJppTuHzmnEKicgKxlm-gtg8J5ImLOavkGO5ojAVUkucw0KKn5ToDgR2COxwDHEGS1V5QVIqLTIYl4wncDL5dg-R3XE6XaiF4GSNWQ5FDr-zPBHPquGjCYxfIQhswnG-sgjv0BcKAhs6_Y7T8eEz0-uqq6ngXDwbIlGYISjghnUfQGA3P3ZIMvyLwvoaQusLBAhNWf4TA4Ra8_dcWAndHBsKSQnWNGntw8F9-DVaDpaD2f3DeBI9AncIEDroawu8a_7jxycdlpPx9Osy-hENnhbh3SSqvThPLM7yX2doPuO3c7x7Gk-Gy8V_Hkz7R8opVvRNo_F0vggnk-XDYzQa_wBu-BAu_qrxAfIA6gHkjXOlMedDJgHqH_TQzP4ympo-LcP5PHpcjGfTOXCHs-keU9VqET5-iRbz5WJWdwy4w7VQ-n2sh8fZ_0SDxXwvrMC9yziTwL3jPKn_j4F7JwqaZwVw79Kq0anOPT5NF-P7aAtYr0lpSX0QuDu4P-w7s8BPDXoyXizDxy8G0FKbn14LMjcgHeAPON9klpKkuTTQh6u4_lmYVV9yDqmUQkKmYEy5eG6eu4OEasy4Am60M6kyy7B8BW4UVT4TsQLuAKBR--Dtngl3WSHFZkMCN4Q1ttlibsjUg6SK5hqg3jfMAepDgAKAAjOe5DVfEqy02dkY5iK36AtTmuYabjAvaRW3AUxNhhkYPH_wpKhUwB9s8xXwB0NByozm2phXTG8D04SqyTmWuRFyZdVZpW3EcsLLhO7COZqXRSHMFI4GWGmWrzpr0wnOcgqDwET7YRKF8wiqMs6YhhjG5QpKapygFnCtdVHlFzQCaLRiel3GHSIMdMOw3y-ARkypkiqARhDnCWz6U6UtIrFawxiTX1piQjvADucak18wKc3qNHNhd2D170GKlcQZxHLVBMMNtzHbC9th5I6Ct4tfG51tFFm9WWtLzPL6otod0EqJAy0tWcEpfOkFy8CzCmI916naytSGOP2O53VcH9l9aNGMaUvEP6E1hkIz5dWr2VCx2MQhJoqzeGeqbzu4U5z24Fi17TlWZ1uTZE2x3pnq27MeJrR2d2cyt2fb_1yXuOCmY0Imu8hzFtcPlo35MowMK1VIUbxB2T04j1Pw1rHgZ9tylheY_NrZmvuzPhnL2YbKna25P-uTi83ehFV3Z9srrv4uWou5O98-w3rdWszd--1VwQgFaGQOGb-Y2Y3mERpV9v1FuDWcp81FodtlUt2e4N1eVGbzrj3Ryhg7nb22hw-HcDqM7p6-mKvlaDyJlrPRaB4tlnfj6j0XeNBKU_ZCq5c6tTjNV3oN3KHjImhlknJBsEnfViYSymHBCLQKRixON5RDBC1tTnDaIkVp9rZlAM1ph-YJzbVlQuQOq1fpUuqOOb1pliurTgMdzmJoDZf3i3eczM7L9DsPRvVp8bHMNctoR2msGamhTrUdUsIyzA_aDpf388HyW3WKcvqet7WMniaTPXOTlIbL7-Opiclweb_8EXjmqW1DK91QqUx8uBCFslIhLaUlSyg0ESs5tRImL5pcSZUoJakdrpSZdyu2PtxUl8iGVpZKnFGrECzXVAJ3mIucQmvmQku0nd8u_r1uAzQq1hkuOmmnytgvMO37FikKi-VFqc3SbNrvAzQuwA6jF0KrEzcciISad5L9MrDNP2doDjYAuTa0X4yhm6aBQ4gf9LE5HPR-94XfBqR-T1Uvqfo0e2e_-J7BN4evmt1p2fs4IJgGib_H_n08Hc6-z4E_mL8qTTMXAX9QEqljrGgn4bwC7RqvFhMdYaYBdT6PabxaTPcQM3bsHv00Zs94tZjeMSZKPt_PnvFqMf292UR24tlenF5vNr3ANQQtfbC_mNIkDQiJr0fvBtQQtPTdY3oX-deld9Hewusd0ftpct3RG4KWvn84906Au9415942BDW92cn7iQQ5iNhucE36ODYELb1zSB8nqNe_Jj02BC09Ogp-N-5ece69wDYELb17PPcxdq479zF2WnrviL7ndNFV6Q1BS3-U9RySJPSq9IagpT_Oegg51933hqClP8h6FPXdvutej96Je4agpe8d06fuFUdv6FN3b_T9I_ogSK-Y8524Zwh29Ojw-JT0XLePr0cfdA1-y-4csXd9_4o5N-ga_JYdHR4dKXVQcsWjY2LwW3b3gL3bTZPkijknMPAtuXdI3u_6zhWnvWfgW3L_kNxx0-CKIzfoLXdwxI3MbxBX4zboLXf34BXvebbnXJHbS1xD0NL39s_rPewiv598dF7_Gj1Oo4mLOsPJpE4gxqvF7O9j9rs2Tru99zH_M19E9xVmrhPOd78A-MalBqyr5W5YF53NRV0hTKXINc0TSESW4TxpasUwKSnUAiq2yjE3rKWi0NpUNkohyzdNdWIPHja_kDfyELDDRVWhMGzvFx-rarikOIFVjcM0LIRiL8AOGw2CVgX5tmD6DyfSDqsiPyQiT1kVD4DudvKZ2g9ULnT1W3HC8CoXSjMCM7Vq1Cn0D36qQn1TqA4Xi3DwF1z8FcHRbDKZfR9Pv8DReBLN4WJWme-evsDH6GH2uKipHyQtpCBUKZrAumwBUE8B1K9q1FgpQVildskyh4pIVuhdA0lhVVWiCcS6xvt4vGdCHxbFEGsM_MFEEGyCvKBZAfxBVWawXM8ndvCvkHTU-uLJ--fzt6_pVDrMsWYT5glcU0khUxCgUOT8FYqcQpECFFYCgqR_l1SZmeBiVekoe8rnsQi0rwDVFRy1_lgAAsiFg0qnqNZMUhIqYSokJO_vVtN-KNmGSojlStW7A1njSgxD6HOCQOP0gfd74sBFnieFgou8T4gGF_l-QkD4HN5lYsJlmG-FhYv8zogMF_mfERwu8j8hPlzke0KIuMz3fVHivO9vCRSXdeeEWPFBf96pbX_scdTgpKCxbThsLmpx49j6vtCxbTVzt1dvhQ_LcdH2aVu-__RAxbHHh5XzrSdpI3Cmbl5r-siFM8lWzJyNmoNTky3_FV13F0XibC9rjbe5-1Dp3Xpt9d7LkvWfVP8n1f9J9X9S_SWp_pSyvUvxx_p286BgO_qd1t0Ydr6t7t3mO6ul_pQGvhvV8n5xEqDWw08-PqmKf-TxVhvf686BQn5of08nb1tUavmeQ6uZ7ybnlHL-__AC3tfSG9u_qqjvhvCerv72IPL754WX5uJAdb_8DPHff1j4kx7-pIdPp4cLt-W5zXVQW3r7je279Zi6dPOUp0LqMsea8leABnAMCc5zoaFaY1l_2FlnL0hEQrdF0Kc55Pi5hth-ID8XGYXM4GXVKoU4FqWuPw2tP6cBdmjBsYZMQbz7zL7brZFjrOi2QYZ_0apKtKZ48wpQCEtFoUjhNLyPJuP5wvR0MLu_n03N1d1kNvgKh-EiNHc4T2D0v0_jb-Ekmg4i-LxmZA3HUJWqoKRil5RjTZMtXSKogqokhCqVlpy_br_Yr7_JZ-lLBbpqunyT3LpJ3-3jG3rrdH3HC3qO371Z31LU7wU9mri91KEk6TndHolJ0iO9oBcEdveG3SIb-XbXRo7n-363g9M0SX2Xoh51HeI7wLNphhnvmBTWEXJ1U31ve-t4QddBNxzHlKvqjyEQ2qYy4A9v5G2V8-JypYBnc6a0aiGqP30wTrWHP4TX_g76ppT89vc_LW5Gu7lF_xcAAP__M8j6wg">