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

    <tr>
        <th>Summary</th>
        <td>
            [flang][Semantics] Flang reports misleading errors if it is unable to open a `use`d module
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          inaki-amatria
      </td>
    </tr>
</table>

<pre>
    - `flang-new` version is: `flang-new version 20.0.0git (https://github.com/llvm/llvm-project.git 1254259e325428c5912843aa94f6fc663a40ea1b)`
- Reduced test case is:
```fortran
! foo.f90

module bar
contains
  subroutine doBar(x)
    logical, intent(in) :: x
  end subroutine doBar
end module bar

module foo
  use bar
  use baz, only : bazVar
contains
  subroutine doFoo()
    call doBar(bazVar)
  end subroutine doFoo
end module foo
```
- `flang-new` invocation is: `flang-new foo.f90`
- Expected behavior is: Flang should only report the following error: `error: Cannot read module file for module 'baz': Source file 'baz.mod' was not found`.
- Actual behavior: Flang does not stop Semantics after failing to open module `baz.mod` and therefore reports misleading errors. Although this is a reduced test case, in the original example, hundreds of error lines were generated, misleading us into believing Flang was encountering semantic errors. The real issue was simply an incorrectly set module directory.
```txt
error: Semantic errors in foo.f90
/app/example.f90:10:7: error: Cannot read module file for module 'baz': Source file 'baz.mod' was not found
    use baz, only : bazVar
 ^^^
/app/example.f90:13:16: error: Actual argument type 'REAL(4)' is not compatible with dummy argument type 'LOGICAL(4)'
      call doBar(bazVar)
                 ^^^^^^
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VcuO47YS_Rp6U2iBoh6WF154ptsXFxggwHSQfUksSUwoUiApdztfH1CW7LYbk0kWMQTJZL3OqQeJ3qvOEO1Z8YUVzxucQm_dXhn8Qz3hgMEp3NRWnvdPwEreajTdk6E3VnI4kfPKGlCeZYc76VUkeMIT3qkATFR9CGNUZeLIxLFToZ_qpLEDE0etT-vnaXT2d2pCEq1SUeSi2FEWv1VT7FJR5RniLm_LtinLDHNOmNZM7FjJGX9m_PAE30lODUkI5AM06OkC8SKOevPTWhccmmVXpNBam7S7xcvlPVg5aYIa3WXdWBNQGX9ZAfipdnYKyhBI-wUdE9V7xLKIAbTtVIOaia-gTCATmKiUYWIHEVB2gPdVl4z87G6WRckjkDt4rbWrl8l_UFqXf8bw1uhzDBrXv_0jPkdrmaju6DSo9ZXp4ugm_0ThuAL7QOEK9lqItWyP_aXMyTYYftBia7Vu9i_vIzWBJNTU40lZt5gdow343k5aXtLgaLQuQOgjHK3tmzIdkHPWLWGu_7-iMTaAI7wRUDMLt66Z2M4p3kb9Vzu5ZtG5CJLBSia28IYeoqvWTkaykicr7EMTJtRX0DfE0tLFxAc7wisNaIJqPGAbyEGLSkfYwYIdyVzRlHwNWnJAIyNLR611tND2MCivCeWVtE_goENvp66H0CsPygOCe5yiSxPPWbNOdcqgBnrHYdSzqJ-MdCQ92PbiFrQy5OGNHEFHhhwGklHzQ_zJx7mwUJNWdIo7F-4xW2QaO5lALm77hf4V8a99JIQalPcTzQZeDaM-AxpQprHOURP0GTyFNTlSxT3rzslDC4b3sDTqWvjX-3iR-P35II44jkwclwzMkuyQxtfcCf95C12H8mdDDqx4WZ6_hZ7FV3mHfelNdN00kAkQzuMM6vvL4RsTVR6HX2xjv0RcjR1GDKrWBG8q9CCnYTh_Nv72y__-__Wj_Y3Kz06Yh9-N2APDta4buc_kLtvhhvbpVhRFLrYi3_R7zqssRWrkrsiwTWtZlVTyNKtkw9O0qTZqL7jI-Y4XaSYKkSdEWUNFVdUV7tJcCpZzGlDpJF5aiXXdZm7Efcq3OecbjTVpv16rbj9fbfXUeZZzrXzwN7uggp4v4PlwY8UzK75cp50Vz8tI_HB6QbWgQizCZDAmfz0SMJ4GkydW8rX1NpPT-393ETNxnJl5Jo4LudNe_BUAAP__M36WCg">