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

    <tr>
        <th>Summary</th>
        <td>
            Invalid object passed to coroutine's await_transform
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          4e4o
      </td>
    </tr>
</table>

<pre>
    compiler: clang-cl from main, target=i686-windows-msvc, c++ lib = libcxx

When running [this](https://github.com/chriskohlhoff/asio/blob/master/asio/src/examples/cpp20/coroutines/refactored_echo_server.cpp) example in debug mode [this](https://github.com/chriskohlhoff/asio/blob/master/asio/include/asio/impl/awaitable.hpp#L164) await_transform receives argument 'a' with invalid address, it was never created. With emit-llvm i can see that this argument has inalloca attribute. I thought it was a bug in asio, [here is related issue](https://github.com/chriskohlhoff/asio/issues/1141) in asio bug tracker.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1U01v3CAQ_TX2ZbSWjb8PPuRDkSL1nmOEYdbQYLAA76b_voOzTaoeeqhUCRgzzPDevMGzkz8m4dZNG_RZfQfCcLuchIGzdyusXNuMPUDkfsGY1Y-6G7rTVVvpruG0hotIp7Tc0wCjZ6CYZMX7e1Y-ZuXdx_qi0ILfrdV2gay9j0qHrH3M2KBi3AIBZ-yJxqKj2ueCCNFGKK_Dm1NGufOZ9jxoR2Y2biaz8hCJ8qc7eKLxhO983QyGlL5trEzWebdHbQ-nxzMX0XmUryiUew3oL-gLis3YCLds0BYkzvsCq5P4n_hqK8wu8TcHQafdlevIZ4OFSqTqb1XXJG6H_zV6bsPZ-RU8CtQXDECt2Ve0ETLWc5pwJVJUwoUbLYFL6TGE1CYd4coDWKSKQXjkEWUBLykaVx1PxlxW0CC4hYAIUfEIqfAvBEXp2nJjnODAY_R63iMW8Exxbl9U_IXBIalHMn7U9pA0VOhJ2UDETUKmz7Djv4p6JKeGVlVTJXluWAcuiSTeqKs5TlXXdS0rRzbmcqrlWI88jzoanJ5vArn5O4oIGw-BSEUHn--FtAx_yp7v3kx_oZs0vJnT5l26-ne27dC2Xa6mXp6HrqurupI97_u26mXZlawaRDm3cuxyw2c0YSLZMsYsXm9qMUaC5XpiJWNVyWqaQzMWfSdmmudOyEagGLKmRPp1TZF4FM4vuZ8OSqROoEOjQwxfh1S6XiziAUf3853a6acGG5cfuNPB-yewG2Ld">