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

    <tr>
        <th>Summary</th>
        <td>
            [flang] Unlimited polymorphic argument for intrnsic MERGE caused FIR verification failure
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:fir-hlfir
      </td>
    </tr>

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

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

<pre>
    Consider the following code:
```

  type base
    real :: r1
  end type

contains
  SUBROUTINE Sub(Arg1, Arg2)
  !CLASS(base) :: Arg1(:, :), Arg2(:, :)                       !! Workaround
  CLASS(*) :: Arg1(:, :), Arg2(:, :)
  LOGICAL :: Mask(2, 2) = .true.

  SELECT TYPE ( V=>MERGE(Arg1, Arg2, Mask) )
    CLASS DEFAULT
      print*, "in class default"
  END SELECT

  END SUBROUTINE
end
```

Flang fails at the compile time with
```
error: loc("/home/cdchen/temp/SltArrFuncPolyPtr.f":11:3): nonscalar intrinsic argument
LLVM ERROR: aborting
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/cdchen/FLANG/build/bin/flang -fc1 -triple powerpc64-ibm-aix7.2.0.0 -emit-obj -ffree-form -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -target-cpu pwr7 -resource-dir /home/cdchen/FLANG/build/lib/clang/21 -mframe-pointer=all -o /tmp/SltArrFuncPolyPtr-81bc14.o -x f95 SltArrFuncPolyPtr.f
flang-21: error: unable to execute command: IOT/Abort trap
flang-21: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (git@github.com:DanielCChen/llvm-project.git b896d262ebc530a92327b912b2bd5ac3b0bb0e56)
Target: powerpc64-ibm-aix7.2.0.0
Thread model: posix
InstalledDir: /home/cdchen/FLANG/build/bin
Build config: +assertions
flang-21: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-21: note: diagnostic msg: /tmp/SltArrFuncPolyPtr-0a9010
flang-21: note: diagnostic msg: /tmp/SltArrFuncPolyPtr-0a9010.sh
flang-21: note: diagnostic msg:
```

If I use the workaround marked in the code, it compiles successfully.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVl1v4rwS_jXmZhSUOISSCy5SIH2R2FIBfV-dS8eZBG8dO7Kdfvz7IzvQ3e3pHu3uOQgp8mQ-PDPPPBNmrWgV4pJktyRbT9jgztos10wJlKvVGdWk0vXbcqWVFTUacGeERkupX4RqgesaSVqQuCDz-PKP_RHAvfUIFbMYTgAGmQSvmxZgkiBEVQe10YRr5ZhQNrw6Pt4e9o-n7f0GjkNF6KIwbULoCgrTUkLzoERostoVxyOhixCI5tcAo_bCn-gqCGn-zfpHOXz-IzQhNIF_tHliRg-qDiGv8Qgt_jBccLPb321Xxe5q_4XZJ0IX1GvR0e8aps4MOL2W87jZbVYnOP3rYQOELuBvkq5JuvmyOdxt_qM8q4vHHK4BLzeH9aYsHneniwygN0K5kMwKCKVCAZfMWqixYYN0hNKgurlfX25wvU-QvDeJxAWGCn2AQSmZaqFhQlpgLoCH664XEsGJDuFFuPMHKzRGG18UqXkoNCW0POsOCS15zc-oCC0ddj2h5VG6wphyUPxBy7cHZ6aN10-LJCFpkfrk0wKUVpYzyQwI5YxQVnBgph06VI7ExW739xfYHA77g1dmlTZOqJbExcNuUxw3YIeqEw4YVEMLBnttHDgNZ-d6G1paElq2wp2Hasp1R2gp5fP1EfVGf0XuCC2FtQNaQktgqgahuBxqHEtimD1DxfiTM4yHnh8d409QD10_jlc8Hfv1YHRrWPd-f38D-KRA5a64vyO0rAYha_8UXtqEdkQNTyByRvQSodcvaHo-n0Wi6iImXm-mdBpPY4iwEy7S1VeImsYgRo02nbfVUpuoFqxV2jrBLUSdQak5c0KrqNM1SugFh6gXPJL4jBIoRI6ZFl3E-wH6F3MDkUGrB8MxqoX5lQykqPxrnwGhJU0g6hrDOox6LZRDQ9I1kxIi7Z25z-ERLZKKJ7OphugVmjyDzwAUF6FMEfUYgnc4DopVHrYa8BX54AKSO6Zq_3K7PxFaFlXAhmH9z5yMDWiMVs6T38VDGBCsoR6Cf8_InivpYrAI0XOQIYJQz5cqj1M9OntGY4VWQBPftlY4b9gKR2bxd6BMi-8o_QM2p96oWuTzms4pVjxLY5bTlN5UeUIrWtUZ42kVV1WM2XwMfQrd9Bn9DD9e6WyQ1RAQMapa8UriYqusY1JivRbmN-AbF7f-BFyrRrSj4S2zFo0vif1QcqWd30zwDajQ2fayq-j_8A-8dqGG4nQqVn_B6a8NlPvdbv_P9v4Oyu1uc4TTPohvH-_gsHnYH05j6AeDvdEcrcUaxgEgdGE9VXsgMGs1F8xhDWZQYLkRvXtXMAhhzrAG5kZ_v5Tyf5uImOVxEv__PE3t-Xc68eO62DawBQ96z4ov75sXOmae0HPmZYPU6PeVcNdlYsEO3Be1GaR8m07qZVrnac4muExuZnm2iBdJPjkvGUtpzvI8iWdVzbJZkuR8ni3yLLnJ5nPMJ2JJY5rF8yROFrM4yadVUyUM4yRJMEvnWUNmMXZMyKkfoKk27STQ-jKZpdmCTiSrUNrwMUVpKAJJi0aY6CwbYfxuytYTswzTVw2tJbNYCuvsN3dOOBm-xkbrbA2PSopO-Kb3Wr512vTn7xYYNHrca2Gthc8B4Gzw8Cq3B88OohEjawSaGQxOBiOXf76-Lqk-L-m_AwAA__-0Yh7g">